A. How to create a bootable ttylinux CD

The following instructions are left here for reference purposes and will not work at all with a newer ttylinux with an 8M filesystem image size.

Please note: the following instructions are for putting together a 2.88 MB floppy image that can be put onto a bootable CD-ROM. This is a different approach to that used by the official ttylinux CD-ROM version. The recipe below produces a smaller image than the official one, but the distribution installer will not work with the smaller images. There is a script called mkttyiso that is provided with the binary and source tarball versions of the distribution that can be used to put together the larger, installer-compatible CD-ROM images.

To follow the instructions, you need the following programs on your working system: mkisofs, mkdosfs, and syslinux. mkdosfs is usually found inside a package called dosfstools.

You will need the ttylinux filesystem image rootfs.gz and a Linux kernel image (the result of a make zImage or make bzImage). I assume you have these files in your current working directory and the kernel image file is called vmlinuz. The following instructions will only work for root, not normal users.

First, go through the rest of this user guide and do all the customization you want to do. Once ttylinux is burned onto the CD, you don't get any further chances to change anything.

Now we start preparing the CD image.

     
  mkdir mnt
  mkdir -p iso/boot
  dd if=/dev/zero of=image bs=10k count=288
  mkdosfs image
  syslinux image
  mount -o loop image mnt
  cp vmlinuz mnt/linux
  rdev mnt/linux /dev/ram0
  cp rootfs.gz mnt

At this point, we have created an image file resembling a 2.88 megabyte floppy disk, syslinux has put a bootloader onto this image, we have mounted the image on the mnt directory and copied our kernel image and filesystem image files onto the disk image. We also told the kernel to expect the root filesystem on /dev/ram0 when booting.

Now we need to create a syslinux.cfg configuration file on the disk image.

     
  vi mnt/syslinux.cfg

In this file, place the line

     
  append initrd=rootfs.gz

If you need to pass kernel parameters to your kernel, do this on the same append line. For example, if you need to pass idebus=33, your line should be

     
  append initrd=rootfs.gz idebus=33

Now we are finished creating the disk image we need for making a bootable CD. Let's start putting together the ISO image.

     
  umount mnt
  cp image iso/boot/boot.img

The boot image itself is only 2.88 megabytes, so you will have extra space available. You can mount the CD after booting to get access to all the files you put on the ISO image in addition to the boot.img file. Simply put anything you want into the iso directory now. Once you are done with that, do:

     
  cd iso
  mkisofs -r -b boot/boot.img -c boot/boot.cat -o ../bootcd.iso .
  cd ..

Congratulations, you finished the job of creating a bootable ISO image with ttylinux on it. All you need to do now is use some CD burning program to put the bootcd.iso image on a real CD. You could also save the iso/boot/boot.img file and use it to make bootable discs out of all the ISO images you create - all that is needed is about 3 megabytes of free space on the CD.