There has been some interest expressed in building a bootable CD-ROM based on the Pocket Linux Guide project. The following is a *very* brief overview of how to do this:
Warning: This is not easy. You'll need to understand how to burn CD-ROMs in Linux, how to use initial ramdisk, how to use loopback devices and how to use some advanced features of the GRUB boot loader.
* Read the 'losetup' man page to understand how to create and use loopback devices.
* Read the parts of the 'mkisofs' man page that deal with El Torito. Particularly pay attention to floppy emulation and 2.88M diskettes.
* Read the 'grub' info page sections that cover installation with the '--device-map' command-line option and also read about loading initial ramdisk images with the 'initrd' configuration file directive.
* Read the kernel documentation file called 'initrd.txt' that explains using an initial ramdisk with Linux. This should be found in the /usr/src/linux/Documentation directory. Ignore everything about /linuxrc and pivotroot. This stuff is not needed since Pocket Linux is ramdisk-based.
* Read enough of the 'cdrecord' man page to get an idea of how to burn CD-ROMs on your system.
Put it all together like this...
* Create an empty 2.88M file, associate it with loopback device /dev/loop0 and format it with a Second Extended filesytem.
* Mount /dev/loop0 and copy the contents of the Pocket Linux project's staging directory to it. Also copy the contents of the Pocket Linux grub boot disk. This results in a merged boot/root combination on the same device. Unmount /dev/loop0.
* Set up a device map file and run grub with the --device-map option to trick grub into thinking /dev/loop0 is actually (fd0). This is detailed in the grub info page.
* Install grub onto (fd0) which is actually /dev/loop0, the loopback boot/root image. This is similar to installing grub on an actually floppy as described in the guide.
* Decide what you want to do with 650M of CD-ROM capacity and create a directory tree to be used with 'mkisofs'.
* Create an iso9660 filesystem with the 'mkisofs' command. Use the contents of the 2.88M loopback filesystem as the iso9660 boot image. This is covered in the 'mkisofs' man page.
* Create a CD-ROM with cdrecord.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is a mistake in the original instructions concerning the loading of the root filesystem with initrd. The corrected version is posted below:
There has been some interest expressed in building a bootable CD-ROM based on the Pocket Linux Guide project. The following is a *very* brief overview of how to do this:
Warning: This is not easy. You'll need to understand how to burn CD-ROMs in Linux, how to use initial ramdisk, how to use loopback devices and how to use some advanced features of the GRUB boot loader.
* Read the 'losetup' man page to understand how to create and use loopback devices.
* Read the parts of the 'mkisofs' man page that deal with El Torito. Particularly pay attention to floppy emulation and 2.88M diskettes.
* Read the 'grub' info page sections that cover installation with the '--device-map' command-line option and also read about loading initial ramdisk images with the 'initrd' configuration file directive.
* Read the kernel documentation file called 'initrd.txt' that explains using an initial ramdisk with Linux. This should be found in the /usr/src/linux/Documentation directory. Ignore everything about /linuxrc and pivotroot. This stuff is not needed since Pocket Linux is ramdisk-based.
* Read enough of the 'cdrecord' man page to get an idea of how to burn CD-ROMs on your system.
Put it all together like this...
* Create an empty 2.88M file, associate it with loopback device /dev/loop0 and format it with a Second Extended filesytem.
* Mount /dev/loop0 and copy the entire contents of the Pocket Linux grub boot disk to it.
* Copy a root disk image file onto the loopback filesystem under the boot directory and call it rootfs.gz (or something similar.) Assuming you are using the final image produced in the Pocket Linux Guide it would be done something like this: 'cp phase7-image.gz /mnt/boot/rootfs.gz'
* Unmount /dev/loop0
* Set up a device map file and run grub with the --device-map option to trick grub into thinking /dev/loop0 is actually (fd0). This is detailed in the grub info page.
* Install grub onto (fd0) which is actually /dev/loop0, the loopback boot/root image. This is similar to installing grub on an actually floppy as described in the guide.
* Decide what you want to do with 650M of CD-ROM capacity and create a directory tree to be used with 'mkisofs'.
* Create an iso9660 filesystem with the 'mkisofs' command. Use the contents of the 2.88M file as the iso9660 boot image. This is covered in the 'mkisofs' man page.
* Create a CD-ROM with cdrecord.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi ! I am the man who asked you about the LiveCD.
I actually have my own code which makes a
system or with other words I am making my own
distribution from scratch... the only thing I wasn't
able to complete with is the LiveCD.
My idea was to have a simple liveCD with an
simple X like windowmaker for example and then
to install my system. I am still developing but I was
wondering if you might give me a hand on the
liveCD so I can even do a HowTo for the rest of
the world on the theme building a liveCD... there is
pretty much stuff outthere that do not exactly show
how to make such a CD...
If someone is able to build a GRUB (eltorito) based
boot process which successfully mounts with loop
the root FS I can give my material on later phases
of the process.
If someone is kind enough to post something on this
theme here which I see is close related to Pocket
Linux cause of my idea of keeping it as simple as
possible I will be in depth obliged !
regards !
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There has been some interest expressed in building a bootable CD-ROM based on the Pocket Linux Guide project. The following is a *very* brief overview of how to do this:
Warning: This is not easy. You'll need to understand how to burn CD-ROMs in Linux, how to use initial ramdisk, how to use loopback devices and how to use some advanced features of the GRUB boot loader.
* Read the 'losetup' man page to understand how to create and use loopback devices.
* Read the parts of the 'mkisofs' man page that deal with El Torito. Particularly pay attention to floppy emulation and 2.88M diskettes.
* Read the 'grub' info page sections that cover installation with the '--device-map' command-line option and also read about loading initial ramdisk images with the 'initrd' configuration file directive.
* Read the kernel documentation file called 'initrd.txt' that explains using an initial ramdisk with Linux. This should be found in the /usr/src/linux/Documentation directory. Ignore everything about /linuxrc and pivotroot. This stuff is not needed since Pocket Linux is ramdisk-based.
* Read enough of the 'cdrecord' man page to get an idea of how to burn CD-ROMs on your system.
Put it all together like this...
* Create an empty 2.88M file, associate it with loopback device /dev/loop0 and format it with a Second Extended filesytem.
* Mount /dev/loop0 and copy the contents of the Pocket Linux project's staging directory to it. Also copy the contents of the Pocket Linux grub boot disk. This results in a merged boot/root combination on the same device. Unmount /dev/loop0.
* Set up a device map file and run grub with the --device-map option to trick grub into thinking /dev/loop0 is actually (fd0). This is detailed in the grub info page.
* Install grub onto (fd0) which is actually /dev/loop0, the loopback boot/root image. This is similar to installing grub on an actually floppy as described in the guide.
* Decide what you want to do with 650M of CD-ROM capacity and create a directory tree to be used with 'mkisofs'.
* Create an iso9660 filesystem with the 'mkisofs' command. Use the contents of the 2.88M loopback filesystem as the iso9660 boot image. This is covered in the 'mkisofs' man page.
* Create a CD-ROM with cdrecord.
There is a mistake in the original instructions concerning the loading of the root filesystem with initrd. The corrected version is posted below:
There has been some interest expressed in building a bootable CD-ROM based on the Pocket Linux Guide project. The following is a *very* brief overview of how to do this:
Warning: This is not easy. You'll need to understand how to burn CD-ROMs in Linux, how to use initial ramdisk, how to use loopback devices and how to use some advanced features of the GRUB boot loader.
* Read the 'losetup' man page to understand how to create and use loopback devices.
* Read the parts of the 'mkisofs' man page that deal with El Torito. Particularly pay attention to floppy emulation and 2.88M diskettes.
* Read the 'grub' info page sections that cover installation with the '--device-map' command-line option and also read about loading initial ramdisk images with the 'initrd' configuration file directive.
* Read the kernel documentation file called 'initrd.txt' that explains using an initial ramdisk with Linux. This should be found in the /usr/src/linux/Documentation directory. Ignore everything about /linuxrc and pivotroot. This stuff is not needed since Pocket Linux is ramdisk-based.
* Read enough of the 'cdrecord' man page to get an idea of how to burn CD-ROMs on your system.
Put it all together like this...
* Create an empty 2.88M file, associate it with loopback device /dev/loop0 and format it with a Second Extended filesytem.
* Mount /dev/loop0 and copy the entire contents of the Pocket Linux grub boot disk to it.
* Copy a root disk image file onto the loopback filesystem under the boot directory and call it rootfs.gz (or something similar.) Assuming you are using the final image produced in the Pocket Linux Guide it would be done something like this: 'cp phase7-image.gz /mnt/boot/rootfs.gz'
* Unmount /dev/loop0
* Set up a device map file and run grub with the --device-map option to trick grub into thinking /dev/loop0 is actually (fd0). This is detailed in the grub info page.
* Install grub onto (fd0) which is actually /dev/loop0, the loopback boot/root image. This is similar to installing grub on an actually floppy as described in the guide.
* Decide what you want to do with 650M of CD-ROM capacity and create a directory tree to be used with 'mkisofs'.
* Create an iso9660 filesystem with the 'mkisofs' command. Use the contents of the 2.88M file as the iso9660 boot image. This is covered in the 'mkisofs' man page.
* Create a CD-ROM with cdrecord.
Hi ! I am the man who asked you about the LiveCD.
I actually have my own code which makes a
system or with other words I am making my own
distribution from scratch... the only thing I wasn't
able to complete with is the LiveCD.
My idea was to have a simple liveCD with an
simple X like windowmaker for example and then
to install my system. I am still developing but I was
wondering if you might give me a hand on the
liveCD so I can even do a HowTo for the rest of
the world on the theme building a liveCD... there is
pretty much stuff outthere that do not exactly show
how to make such a CD...
If someone is able to build a GRUB (eltorito) based
boot process which successfully mounts with loop
the root FS I can give my material on later phases
of the process.
If someone is kind enough to post something on this
theme here which I see is close related to Pocket
Linux cause of my idea of keeping it as simple as
possible I will be in depth obliged !
regards !