Which #32bit #Linux or #BSD #distribution should I install in 2026, now that Debian doesn't support it anymore?
Which #32bit #Linux or #BSD #distribution should I install in 2026, now that Debian doesn't support it anymore?
BIOS Limit von 504 MB für Festplatten umgehen mit FAT32, dank EZ-Drive
Ältere 386/486 Mainboards bis 1994 erkennen im BIOS zwar vermeintlich mehr als 504 MB, aber letztendlich lässt sich eine Festplatte unter MS-DOS oder Windows 95/98 trotzdem nur mit maximal 504 MB ansprechen und partitionieren.
Um trotzdem mehr als dieses Limit nutzen zu können, gibt es diverse Lösungsmöglichkeiten mit Vor- und Nachteilen:
I finally got #Debian 12.0.1 i386 DVD version to install on this HP Stream 7 tablet - But it was a struggle and took a while.
Now I have a mostly usable system on it, but I'm not sure what I'll use the tablet for. LOL.
@kkarhan @mook @OS1337 Why don't you like the drop of #i386 ?, besides maybe working computer going to e-waste (yeah thats bad).
But besides this: Migrating to new technologies and dropping old technologies is a good thing.
If old technologies stay arround forever, it will be a burden to maintain and support. In my case, I hope #IPv4 gets dropped in favour of #IPv6 some day in the future.
But somehow the #Linux kernel gets away with not breaking the userspace for over 20 years ...
Запуск x64 программ на ARM или почему вы не захотите этим заниматься
Вам нужно было хоть раз запускать x64 программы под Linux на ARM платфоме? Если да - это статья для вас. В ней я рассказываю про способы запуска программ с другой архитектуры на ARM. Также это статья для вас, если вы хотите на будущее знать способы, которые есть для запуска. Когда наступит эра ARM-ноутбуков и ПК вам это может очень даже пригодится.
https://habr.com/ru/articles/974608/
#arm #arm64 #amd #amd64 #i386 #запуск_x64_на_arm #эмуляция_x64 #игры_на_linux #fex #box64
@f4grx meanwhile, I also have something for you and other gdb with qemu users ;)
Installation
Either check out the directory with AnonCVS…
cd
mkdir -p .etc
cd .etc
cvs -Rqd [email protected]:/cvs co -PA -d gdb contrib/hosted/tg/gdb
… or download the individual files (all but .cvsignore) from CVSweb https://mbsd.evolvis.org/cvs.cgi/contrib/hosted/tg/gdb/ (user=pass public due to LLM scrapers) and put them into a new directory ~/.etc/gdb/.
If you don’t use qemu 5.2 (Debian bullseye) or one with compatible XML files, you’ll have to do extra work. See below the <hr /> at the end of the post for this and a compatibility table.
Then, symlink ~/.etc/gdb/.gdbinit to ~/.gdbinit or merge things into yours if you already have one.
Usage
Start qemu either as qemu-system-i386 -S -s … (to run a 32-bit VM, then you use the qemu32 command inside gdb) or qemu-system-x86_64 -S -s … (to run a 64-bit VM, then you use the qemu64 command inside gdb). The -S makes it wait for a gdb c command before even booting. This gives you ample time to attach both vncviewer (as qemu lost its builtin SDL GUI 🤬🤬🤬) and gdb.
Start gdb and issue the user-defined qemu32 or qemu64 command.
BIOS
For a classical BIOS system, you’ll be in 16-bit real mode at F000:FFF0 at the beginning, so if you want to debug there a bit, run the c16 command to switch over, do a b *0x7c00 to set a breakpoint on the MBR, c to run until there, i to inspect the registers, u or uu COUNT to disassemble some, t to step into and tt to step over (uses a temp breakpoint at the next address, so make sure the mode is correct). Once it enters protected mode, issue the c32 command, once it enters long mode (if any), issue the c64 command. I’ve tested this with a MirBSD/i386 ISO and a Grml/amd64 ISO.
EFI
For your EFI scenario, set a breakpoint on your multiboot entry point (I used b *0x00100074 having gotten the address from nm on your ELF file, if you have symbols you can do that) and run c. Once it breaks, run the c32 command. Same as above, you can then use i, u, uu COUNT, t, tt, … (there’s also an i32 command if you prefer gdb’s standard format, it’s cleaned up a little, the i16 one is inspired by DOS DEBUG.COM; for 64-bit mode, only i64 is available in gdb’s format but the other still work and show the truncated values, perhaps somewhat usefully, especially for #x32 / #amd64ilp32 or when running a 32-bit userspace program). You can use c32 and c64 to switch between the modes and even use c16 if your bootloader exits 32-bit mode (e.g. to run BIOS calls before entering long mode), though that will be exceedingly rare in an EFI setup. I’ve tested that with the ISO you gave me.
others
The d and r2p commands are less useful to you, as they work with 16:16 segmented far pointers. The other commands (printqs5static, printqs5dynamic and the offsetof macro) are perhaps more useful when debugging host applications.
I’ve tried to make this not break when gdb is used for nōn-x86 targets, though the usability is limited there, of course.
HTH & HAND!
tdesc files
Compatibility matrix
As far as I can tell, the earliest version in which the tdesc XML files work is qemu 4.0.0 so you can exclude this for anything older.
There is, at the time of this writing, only one more commit (75ac231c67cdb13f0609943fab5499963858b587) on these files, which begun to be included with qemu 7.2.0 so anything between 4.0.0 and 7.1.x uses the same format, the one of the files contained in the repo.
Though, from the commit message, it looks like the diff…
- <flags id="i386_efer" size="8">
+ <flags id="i386_efer" size="4">
… might be needed anyway, and it affects qemu-system-i386 only, too. Do this too if you get the Remote 'g' packet reply message and it differs by four bytes only.
Updating the tdesc files
If you find that your qemu’s files have sufficiently changed from the version I committed, you need to do the following:
i386-32bit.xml and i386-64bit.xml with these from the gdb-xml/ directory of the source tarball of your qemu version<!-- obtained from qemu VERSION --> comment into line 2 like I did, so future you will be less surprised if he has to work with this morei386-64bit32.sh script to regenerate the i386-64bit32.xml file from the new i386-64bit.xml file (do some diffing to verify the changes are still good in your version)Then you’re all set and can test things.
#x86 #i8086 #i386 #amd64 #gdb #qemu #debugging #asm #assembly
Much discussion in my feeds around the rustc problem/bug generating bad code to do with SSE2;
https://lists.debian.org/debian-release/2024/11/msg00459.html
Can't say I understand what is the root case there, but rust is not making friends in the vintage/retro computing world.
Nor the folks maintaining old kit for customers.