All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: 3. Re: LiveCD bootloader
@ 2010-09-16 11:18 Tom Davies
  0 siblings, 0 replies; 4+ messages in thread
From: Tom Davies @ 2010-09-16 11:18 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 489 bytes --]

Hi :)

I think if this is going to be a lot of work or would significantly increase 
complexity or even worse increase boot-time then the idea should be 
dropped/shelved/ignored.  If it was a simple copy&paste & quick edit then it 
might be worth pursuing but it looks like the link i was given does the job i 
wanted without having to touch Grub so i think we have to decide to avoid 
working on this now?  Thanks for considering it tho! :)
Many regards from
Tom :)



      

[-- Attachment #2: Type: text/html, Size: 692 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 3. Re: LiveCD bootloader
  2010-09-15 14:02 ` Dmitry Ilyin
@ 2010-09-15 16:10   ` Brendan Trotter
  0 siblings, 0 replies; 4+ messages in thread
From: Brendan Trotter @ 2010-09-15 16:10 UTC (permalink / raw)
  To: The development of GNU GRUB

Hi,

2010/9/15 Dmitry Ilyin <idv1985@mail.ru>:
> I guess it is possible to chainload to real cdrom in your drive same way we chainload to windows partition, you can also use script (grub or lua) to determine that your drive is not empty and show chainload menu entry.
>
> Or if you cannot chainload perhaps you could boot this (maybe with memdisk from syslinux)
> http://btmgr.sourceforge.net/about.html

The problem with "chainloading" a CD-ROM (more correct would be
"emulating El Torito for a CD-ROM") is that often the BIOS only
provides a device number (and support via. "int 0x13") for the CD-ROM
when the BIOS itself has booted the CD-ROM. This means that to
reliably access the CD-ROM you'd need to do device detection (e.g.
scan PCI buses looking for likely controllers), provide drivers for
different types of controllers (ATA, AHCI, 3 or 4 types of USB, lots
of different SCSI, etc, and maybe the legacy proprietory interfaces
you find on ancient sound cards) and drivers for different CD-ROMs
that can be attached to those controllers. In addition to that you'd
need to hook the BIOS's "int 0x13", so that when the boot loader on
the CD-ROM tries to load sectors from CD using the BIOS it works like
it should (with all types of booting from CD - "emulated floppy",
"emulated hard disk" and "no emulation"); and to do that properly
you'd need to steal some RAM from the BIOS (to store GRUB's drivers
in); which is typically done by intercepting the BIOS functions that
are used to get the amount of free memory (e.g. "int 0x15,
eax=0xE820", plus "int 0x12" and the "segment of EBDA" value in the
BIOS data area). Of course after the OS boots there's no way to tell
it that it can use the RAM that GRUB's drivers were using so that RAM
is "lost"; and because OS's tend to make assumptions (like "there's at
least 512 KiB of usable RAM starting at 0x00000000") you'd need to
make sure the drivers are small (e.g. no more than about 64 KiB for
everything). You also wouldn't be able to assume that the boot loader
on the CD doesn't constantly switch between real mode and protected
mode, or use "unreal mode", which means you'd be limited to 16-bit
real mode code, and you couldn't switch to 32-bit code when you want
because there's no way of doing that without trashing CPU state that
the CD's boot loader could be relying on.

Basically it's not impossible, but it is a lot of work, especially if
you don't limit it to "all kinds of IDE ATAPI CD-ROMs" (and
forget/ignore SATA/AHCI, USB, SCSI, etc).


Cheers,

Brendan


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 3. Re: LiveCD bootloader
  2010-09-15 10:03 Tom Davies
@ 2010-09-15 14:02 ` Dmitry Ilyin
  2010-09-15 16:10   ` Brendan Trotter
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Ilyin @ 2010-09-15 14:02 UTC (permalink / raw)
  To: The development of GNU GRUB

I guess it is possible to chainload to real cdrom in your drive same way we chainload to windows partition, you can also use script (grub or lua) to determine that your drive is not empty and show chainload menu entry.

Or if you cannot chainload perhaps you could boot this (maybe with memdisk from syslinux)
http://btmgr.sourceforge.net/about.html


^ permalink raw reply	[flat|nested] 4+ messages in thread

* 3. Re: LiveCD bootloader
@ 2010-09-15 10:03 Tom Davies
  2010-09-15 14:02 ` Dmitry Ilyin
  0 siblings, 1 reply; 4+ messages in thread
From: Tom Davies @ 2010-09-15 10:03 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 315 bytes --]

Hi :)

I was trying to find a way of doing this
http://mgerards.net/blog/?p=16
type of booting from an iso but thought it might only be possible using a really 
convoluted route.  Thanks for this link, it looks as though it solves all my 
questions about this :)
Thanks and regards from
Tom :)



      

[-- Attachment #2: Type: text/html, Size: 587 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-09-16 11:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-16 11:18 3. Re: LiveCD bootloader Tom Davies
  -- strict thread matches above, loose matches on Subject: below --
2010-09-15 10:03 Tom Davies
2010-09-15 14:02 ` Dmitry Ilyin
2010-09-15 16:10   ` Brendan Trotter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.