help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Chainloading isolinux.bin


From: Andrei Borzenkov
Subject: Re: Chainloading isolinux.bin
Date: Thu, 4 Feb 2016 10:20:47 +0300

On Wed, Feb 3, 2016 at 10:26 PM, 4javier <address@hidden> wrote:
> Ok. Forget my last message. 2 KB was the actual dimension of the file, ls
> shows that on my filesystem the file correctly takes 4 KB.
>
> Back to topic, as far as I understand, there's no way to chainload isolinux
> bootloader from grub. Some days ago I tried the procedure through loopback
> device, with the same result. I think the created loop device is not exactly
> an iso filesystem, right?
>

Created loop device is exactly what is in file it is created from. The
main problem is, once you leave GRUB this "device" is no more present.
You would need to implement something like syslinux memdisk to hook
into INT13 and emulate BIOS device. This is not impossible (GRUB
already has INT13 handler to implement partition remapping).

Secondary consideration remains - chanloader is not really suitable
for it. CD-ROM boot protocol is sufficiently different from standard
HDD handover. This again is not impossible, but someone will need to
implement it.

This would be interesting project for someone interested in GRUB
development, but if you are just interested in end result, memdisk +
sbm are probably easier.

> Thanks for your time and for the explanations..
>
> 2016-02-03 16:12 GMT+01:00 4javier <address@hidden>:
>>
>> In effect I have the El Torito boot catalog in the same directory, and its
>> size is 2KB. But If I open it with an hex editor, it has just early byte
>> wrote, and about 90% of the rest is just filled with zeros. I think it's due
>> to blocksize. But I can't understand how it could be just 2KB when blocksize
>> of the partition is 4096. Shouldn't it be 4 KB?
>>
>> 2016-02-03 15:39 GMT+01:00 Andrei Borzenkov <address@hidden>:
>>>
>>> On Wed, Feb 3, 2016 at 5:29 PM, 4javier <address@hidden> wrote:
>>> > You're right. My fault thinking that "chainloader" command would have
>>> > ran
>>> > directly the chained bootloader with no need of "boot" command. Anyway,
>>> > I
>>> > just tried, and shell just shows a blinking cursor on a new line, doing
>>> > nothing.
>>> >
>>>
>>> Well ... chainloader command loads single sector. El Torito boot image
>>> can be of arbitrary (withing some limits) length. As soon as
>>> isolinux.bin exceeds 512 bytes, it's going to fail.
>>>
>>> Second problem is whether isolinux.bin was built for specific memory
>>> address and for which one (this information is present in El Torito
>>> boot catalog and is missing here of course).
>>>
>>> Third consideration is, block size on CD is 2048 bytes which does not
>>> match what you have on HDD (either 512 or 4096). It will likely make
>>> it impossible for isolinux.bin to read anything.
>>>
>>> >
>>> > 2016-02-03 14:51 GMT+01:00 Andrei Borzenkov <address@hidden>:
>>> >>
>>> >> On Wed, Feb 3, 2016 at 3:20 PM, 4javier <address@hidden> wrote:
>>> >> > chainloader /isolinux/isolinux.bin
>>> >> >
>>> >> > I always get Error: Invalid Signature.
>>> >> > If I try to force chainloading, it just get back to the prompt.
>>> >> >
>>> >>
>>> >> Every loader command in grub just "get back to prompt". You need to
>>> >> use "boot" command to actually jump to loaded code (but I doubt it
>>> >> will work).
>>> >
>>> >
>>
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]