[ipxe-devel] iPXE working on 486(386?) hardware, hanging on init_librm

Nikolai Zhubr n-a-zhubr at yandex.ru
Sun Jan 30 22:03:04 UTC 2022


Hi Richard,

30.01.2022 15:26, Richard Moore:
> Thank you for the reply, I had tried that from your original thread last
> year - it certainly lets pxelinux.0 and a menu load (either from .zdsk
> or .zrom) but nothing after that seems to load, for example memtest86+
> v4.10 (last version that works on a 486) just goes back to the menu and
> doesn't seem to execute. Also trying to load lpxelinux.0 in place of
> pxelinux.0 will just cause a hang.

Keep in mind that pxelinux.0, grub, memtest86+, and such stuff will also 
have to be either older versions or manually tweaked to some extent. I 
found Debian 6 to be a decent starting point.

I think pxelinux 4.02 of Debian 6 should be fine without modifications 
(IIRC).

Regarding memtest86+, version 2.11 should be fine. 4.0+ will not work.

Modern linux kernels should typically work fine, as long as SMP is 
disabled and all those tons of unnecessary features are removed to get 
small image size.

Grub from Debian 6 has a tiny bug, making it unusable on older BIOSes, 
easily fixed with this:
--- mmap.c.orig 2021-05-04 13:29:02.000000000 +0300
+++ mmap.c      2021-05-04 14:25:03.000000000 +0300
@@ -55,6 +55,8 @@
      {
        grub_uint32_t eisa_mmap = grub_get_eisa_mmap ();

+      hook (0x0, grub_get_memsize (0) << 10, 
GRUB_MACHINE_MEMORY_AVAILABLE);
+
        if (eisa_mmap)
         {
           if (hook (0x100000, (eisa_mmap & 0xFFFF) << 10, 
GRUB_MACHINE_MEMORY_AVAILABLE) == 0)


HTH,

Regards,
Nikolai

> It would be nice if iPXE could be modified to work, presumably not much
> needs modifying if your patch for etherboot is pretty much everything?
>
> Cheers
>
> Rich
>
>
>
>
> On 2022-01-27 00:43, Nikolai Zhubr wrote:
>> Hi Richard,
>>
>> 26.01.2022 13:33, Richard Moore:
>>> Just wondering if anyone was interested in getting iPXE working on real
>>> 486(386?) hardware?
>>> ( Following on from last years thread "[ipxe-devel] 486 with a Realtek
>>> 8139" https://lists.ipxe.org/pipermail/ipxe-devel/2021-May/007441.html )
>>
>> For legacy etherboot, here is a fix that works for me:
>>
>> https://github.com/zhubr/etherboot/commit/888fc9d0bd4187605978088dc4c2b3ca1a694bf8
>>
>>
>> For iPXE this fix is unnecessary but still last time I tried iPXE
>> would hang on 486 for some reason.
>>
>>
>> Regards,
>> Nikolai
>>
>>>
>>> With the recent rise in interest in retro pc's, being able to PXE boot
>>> and chain to an HTTP site w/software on the internet may be of
>>> increasing interest to people? (diagnostic tools etc) - or perhaps just
>>> a challenge for someone here :)
>>>
>>> Unfortunately qemu works when setting cpu to 486 whereas real hardware
>>> doesn't, so not a helpful tool.
>>>
>>> On my 486 booting from floppy disk image, I have got as far as Loading
>>> .... (see below) with a hard hang on 'init_librm' from debug
>>> output.(built with DEBUG=libprefix,dskprefix) so presumably the problem
>>> is switching from real mode to protected mode?
>>> https://forum.ipxe.org/showthread.php?tid=17401
>>>
>>> Other pertinent previous posts relating to this;
>>> https://forum.ipxe.org/showthread.php?tid=10713
>>> https://forum.ipxe.org/showthread.php?tid=25593
>>>
>>> Booting via ne.zdsk floppy or via 32k ne.zrom burned on a Realtek 8019AS
>>> boot ROM ISA based card (ne2000 compatible) I have it working at least
>>> as far as hanging after downloading pxelinux.0 using etherboot 5.4.4 -
>>> (when the first release of gPXE (0.9.4) came out it was broken,
>>> seemingly at the point it is still broken at.)
>>>
>>> Happy to do leg work testing iPXE on real 486/386 if anyone is
>>> interested, afraid the assembly is beyond me!
>>>
>>>
>>> Cheers
>>>
>>> Rich
>>>
>>>
>>>
>>> _______________________________________________
>>> ipxe-devel mailing list
>>> ipxe-devel at lists.ipxe.org
>>> https://lists.ipxe.org/mailman/listinfo/ipxe-devel
>>
>> _______________________________________________
>> ipxe-devel mailing list
>> ipxe-devel at lists.ipxe.org
>> https://lists.ipxe.org/mailman/listinfo/ipxe-devel
>



More information about the ipxe-devel mailing list