[ipxe-devel] uncompressed (patchable) image?
Alessandro Salvatori
sandr8 at gmail.com
Thu Nov 10 02:03:25 UTC 2011
yeah, the uncompressed images are working like a charm :-)
i kept one single driver i am interested in: rtl8139.
so if i build undi.iso, i get an image capable of booting oven any UNDI
interface.
if instead i build ipxe.iso, i get an image capable of booting on any
net/driver/* interface. which in my case is just rtl8139.
would there be a way to build a single image that works for rtl8139, or as
a fallback any UNDI interface?
thank you!
-alessandro-
alessandro at localhost ~/iPXE/src gmake bin/ipxe.iso.info
Elements : ipxe
Prefix : iso
Drivers : rtl8139
ROM name : ipxe
Media : iso
PCI vendor :
PCI device :
LD driver symbols : obj_rtl8139
LD ID symbols : pci_vendor_id=0 pci_device_id=0
LD entry point : _iso_start
LD target flags : -u _iso_start --defsym check__iso_start=_iso_start
-u obj_rtl8139 --defsym check_obj_rtl8139=obj_rtl8139 -u obj_config
--defsym check_obj_config=obj_config --defsym pci_vendor_id=0 --defsym
pci_device_id=0 -e _iso_start
Debugging objects :
Replaced objects :
alessandro at localhost ~/iPXE/src gmake bin/undi.iso.info
Elements : undi
Prefix : iso
Drivers : undi
ROM name : undi
Media : iso
PCI vendor :
PCI device :
LD driver symbols : obj_undi
LD ID symbols : pci_vendor_id=0 pci_device_id=0
LD entry point : _iso_start
LD target flags : -u _iso_start --defsym check__iso_start=_iso_start
-u obj_undi --defsym check_obj_undi=obj_undi -u obj_config --defsym
check_obj_config=obj_config --defsym pci_vendor_id=0 --defsym
pci_device_id=0 -e _iso_start
Debugging objects :
Replaced objects :
-Alessandro-
Here i am, A young man,
A crashing computer program,
Here is a pen, write out my name...
(from: The Servant - Orchestra)
On Tue, Nov 8, 2011 at 15:49, Alessandro Salvatori <sandr8 at gmail.com> wrote:
> more on my progress... i suspected these images might have been just too
> large. so with the help of ruby-elf and/or objdump, i stripped the source
> tree from anything i don't necessarily need. this way i got an image that
> is less than 1/10th of the size and that seems to come up... :)
>
> thank you, thank you!
> -Alessandro-
> Here i am, A young man,
> A crashing computer program,
> Here is a pen, write out my name...
>
> (from: The Servant - Orchestra)
>
>
>
> On Tue, Nov 8, 2011 at 15:02, Alessandro Salvatori <sandr8 at gmail.com>wrote:
>
>> actually i hit the very same issues without patching the embedded script
>> image... seems that the problem is with uncompressed images...
>>
>> thanks!
>> -Alessandro-
>> Here i am, A young man,
>> A crashing computer program,
>> Here is a pen, write out my name...
>>
>> (from: The Servant - Orchestra)
>>
>>
>>
>> On Tue, Nov 8, 2011 at 14:54, Alessandro Salvatori <sandr8 at gmail.com>wrote:
>>
>>> the #define COMPRESS 0 seems to do the trick, and after that I can
>>> easily patch the embedded script.
>>>
>>> is there some integrity check? the patched ipxe.iso prints a bunch of
>>> colored garbage on the console and then reboots. i assume it has a bogus
>>> bzImage kernel container and that might be doing some checksumming.
>>>
>>> the ipxe.dsk instead hangs after emitting "Loading ROM image" and 89
>>> dots...
>>>
>>> i guess if the ipxe.dsk worked, it could be used as an eltorito image
>>> for an otherwise empty cdrom, hence bypassing any issue with the bzImage
>>> container in the iso?
>>>
>>> thanks!
>>>
>>> -Alessandro-
>>> Here i am, A young man,
>>> A crashing computer program,
>>> Here is a pen, write out my name...
>>>
>>> (from: The Servant - Orchestra)
>>>
>>>
>>>
>>> On Tue, Nov 8, 2011 at 03:43, Michael Brown <mbrown at fensystems.co.uk>wrote:
>>>
>>>> On Tuesday 08 Nov 2011 10:52:33 Alessandro Salvatori wrote:
>>>> > would it be easily possible to create non-zbin bootable images (rom,
>>>> iso,
>>>> > usb or dsk)?
>>>> >
>>>> > i was thinking of having a script as an embedded image, and having
>>>> > placeholders in it that could be "patched" with the desired values
>>>> just in
>>>> > time.
>>>> >
>>>> > alas, the compression gets in the way of easily patching the values
>>>> in...
>>>> > but the fact that my dsk image takes only 80kB out of 1440 available
>>>> makes
>>>> > me wonder if i couldn't do without the compression :-)
>>>>
>>>> There's no easily-accessible way to create non-compressed images, but
>>>> you can
>>>> try hacking it by setting
>>>>
>>>> #define COMPRESS 0
>>>>
>>>> in arch/i386/prefix/libprefix.S. This code path isn't used very often,
>>>> and may
>>>> not be functional.
>>>>
>>>> A cleaner solution would probably be to add code to lkrnprefix.S to
>>>> allow iPXE
>>>> to pick up and use an initrd image as though it were an embedded image.
>>>> There
>>>> are some complications in doing this, primarily relating to memory
>>>> allocation.
>>>> (initrd images are typically placed at the top of memory, which is
>>>> exactly
>>>> where iPXE will try to install itself, so there's a good chance that
>>>> iPXE will
>>>> overwrite the initrd image.) This would give you a solution for .iso
>>>> images
>>>> (which are based upon .lkrn images); similar schemes could be devised
>>>> for
>>>> other image formats.
>>>>
>>>> Michael
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20111109/3c853f08/attachment.htm>
More information about the ipxe-devel
mailing list