Subject: Re: Creating LiveCD from images bigger than normal floppies
To: Marcin Jessa <lists@yazzy.org>
From: None <tlaronde@polynum.com>
List: current-users
Date: 07/07/2005 18:59:41
On Thu, Jul 07, 2005 at 04:43:05PM +0200, Marcin Jessa wrote:
> Hi.
> 
> I am trying to create a custom LiveCD from an image bigger than the "normal" size of either a 1200, 1440, or  a  2880  kB floppy, which is stated in man mkisofs , -b flag. 
> My custom image is which I normally use to dd to Compact Flash disks.
> I noticed mkisofs with -no-emul-boot will not work when creating a LiveCD.
> Any idea how to create a custom LiveCD with an image bigger than normal floppy images (not using grub)?

I don't remember the details but the El Torito specification has a `hd'
mode that allows to boot an unlimited (i.e. less than what fits on the
CD) image [I played with that when I was working to make GRUB able to
boot CDROMs some years ago].

As far as I know, this mode is not guaranteed to be here with a i386
BIOS: some (most?) allow boot-floppy emulation mode, but not hd mode.

On El Torito/i386, emulation is working with CHS, giving access to a
chunk of the data present on the CD. But El Torito is here only on LBA
aware BIOSes, and you can use LBA with BIOS interrupts to access the
_whole_ CD if it supports El Torito. This means that it is theoretically
feasible to develop a bootloader, fitting in a floppy image that will be
able to access the whole CD without relying on any specific proprietary
CDROM access magic. If the bootloader is cd9660 fs aware, it will see 
everything and could give the choice to select distinct kernels to load
depending on the machine configuration (extending libstand to reuse
kernel code when feasible will ease the build of such a program).

Optionnally, is there is some way (i386 specific) to use directly BIOS
interrupts in the NetBSD kernel, one could develop a 'El Torito CD 
driver' using only the BIOS interrupts to access data on the CD, meaning
there will be no need to put all the CD drivers in the kernel (users are
often surprised to see that the CDROM boots, so is accessed, but that
the kernel is unable to access the CDROM once booted; reasons are here).
This 'use firmware driver' aspect is more generally use with forth based
firmware machines.

Combining this with LKM, specially with PCI peripherals that are easily
recognizable, one could extend the kernel with the drivers needed.

Hoping that at least some bits are relevant,
-- 
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.org/  |  http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C