home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2002 September / PCPlus_193_Laplink2000.iso / Linux / ttylinux / USER-GUIDE < prev   
Encoding:
Text File  |  2002-06-09  |  24.1 KB  |  626 lines

  1. +-+
  2.  
  3.   TTYLINUX USER GUIDE
  4. | ttylinux 2.2
  5.   (c) 2001,2002 Pascal Schmidt <pharao90@tzi.de>
  6.  
  7. | Last update: Wed Jun  5 17:00:22 CEST 2002
  8.   A vertical bar at the left margin indicates changes since the last version.
  9.   
  10. +-+
  11.  
  12.   Contents
  13.   
  14.   1. Introduction
  15.      1.1  What is ttylinux?
  16.      1.2  What is ttylinux not?
  17.      1.3  Who is ttylinux aimed at?
  18.      1.4  License
  19.      
  20.   2. Installation guide
  21.      2.1  Requirements
  22. |    2.2  Download
  23.      2.3  Customization
  24.      2.4  Installation
  25.  
  26.   3. System guide
  27.      3.1  Features
  28.      3.2  Bootup and shutdown (initscripts)
  29.      3.3  Using PPP
  30.      3.4  Using thttpd
  31.      3.5  Setting up network devices
  32.      3.6  Using the firewall
  33.      3.7  Shell environment
  34.      3.8  pkg script
  35.      
  36.   4. Contact
  37.  
  38.   Appendices
  39.   
  40.   A. How to make a bootable ttylinux CD
  41.  
  42. +-+
  43.  
  44.   1. Introduction
  45.   
  46.      This  section gives an overview on ttylinux. What is it, who can  use
  47.      it, why it is there.
  48.      
  49. +-+
  50.  
  51.   1.1 What is ttylinux?
  52.   
  53.      ttylinux  is  a minimalistic Linux distribution. In fact,  it  is  so
  54.      minimalistic  that it can't even run standalone without the  help  of
  55.      another  Linux system, even if this system is only really needed  for
  56.      installation.
  57.      
  58.      ttylinux  aims  to put as much as possible into as  little  space  as
  59.      possible.  It  provides  multi-tasking,  multi-user,  and  networking
  60.      capabilities within less than 4 megabytes of operating system size.
  61.  
  62.      The  main  use that ttylinux comes prepared for is  dialing  into  an
  63.      Internet  provider  by modem or ISDN and then browse the  world  wide
  64.      web. There is also a WWW server present for serving content to  other
  65.      people.
  66.      
  67.      ttylinux  can be installed on hard disk, CD-ROM, or any  other  media
  68.      you  can  boot  from and has at least 2.88  megabytes  of  room.  The
  69.      preferred way to run ttylinux is to install its image files somewhere
  70.      on the hard disk (needs at most 2.88 megabytes of space) and then run
  71.      the  system  itself from ramdisk. This makes  the  system  immune  to
  72.      crashes  and user errors and takes less space than a  normal  install
  73.      on hard disk, which would take at least 4 megabytes of space.
  74.  
  75. +-+
  76.  
  77.   1.2 What is ttylinux not?
  78.   
  79.      ttylinux  is not a standalone distribution, you need another  working
  80.      Linux system to get it up and running.      
  81.  
  82. +-+
  83.  
  84.   1.3 Who is ttylinux aimed at?
  85.   
  86.      As ttylinux can be used on machines which are considered obsolete  by
  87.      now, such as 386SX class PCs, it is aimed at people who want to  have
  88.      a  minimalistic  Linux  distribution  to run  when  little  space  is
  89.      available.
  90.      
  91.      ttylinux is aimed at people who already have some  Linux  experience.
  92.      There  is no big user manual describing how to use the system,  so  a
  93.      bit  of  Unix or Linux experience is very useful when trying  to  use
  94.      ttylinux. Most of the programs present are smaller versions of common
  95.      Unix utilities, documentation on those can be found in various places
  96.      on the Internet.
  97.      
  98.      ttylinux fits into an eltorito image useful for bootable CD-ROMs.  It
  99.      could be used for installation CDs or rescue systems on CD.  ttylinux
  100.      provides  a working Linux environment from the boot image,  and  then
  101.      some script could mount the rest of the CD to provide a full system.
  102.  
  103.      Note:  ttylinux  is really not aimed at  Linux  beginners.  Knowledge
  104.      about how to compile a kernel and find your way around a Linux system
  105.      in general is assumed.
  106.  
  107. +-+
  108.  
  109.   1.4 License
  110.   
  111.     All  of the software that is used on ttylinux is under the GNU  Public
  112.     License.  A  copy  is included in the file COPYING. There  are  a  few
  113.     scripts  on the system which I wrote to keep it all together. I  place
  114.     them and the system as a whole under the GPL, too.
  115.  
  116. +-+
  117.  
  118.   2. Installation guide
  119.   
  120.      This  section describes the requirements of ttylinux, where to  down-
  121.      load it, and how to customize and install it.
  122.      
  123. +-+
  124.  
  125.   2.1 Requirements
  126.   
  127.      This  installation guide describes how to setup ttylinux to run  from
  128.      a  ramdisk  image. You will need at least a 386SX  processor  and  10
  129.      megabytes  of RAM to use this approach. Installation on hard disk  is
  130.      only  described in brief but should work on systems with as low as  6
  131.      megabytes of RAM.
  132.  
  133.      You will also need a Linux kernel suitable for your system, but  with
  134.      some addition requirements for ttylinux. The kernel used for  running
  135.      ttylinux needs to have ramdisk support, initial ramdisk support,  and
  136.      a  default ramdisk size of at least 4096. Note that the stock  kernel
  137.      configuration  will use a ramdisk size of 4096, which is  enough.  If
  138.      you  want to use the basic firewall script of ttylinux,  your  kernel
  139.      also needs ipchains support.
  140.  
  141.      If  you want to use the telnet server in ttylinux, your  kernel  will
  142.      need  to  have Unix98 pty support and support for  the  devpts  file-
  143.      system.
  144.  
  145.      The Linux kernel on the system that is used to install ttylinux needs
  146.      to have support for the ext2 filesystem and loopback device. If there
  147.      is  no  loopback  support, you cannot  customize  ttylinux  for  your
  148.      system.  No  problem if the defaults suit you,  but  this  is  rather
  149.      unlikely for anybody outside Germany.
  150.      
  151.      For  the  default installation process describes below,  it  is  also
  152.      required that the system used to install ttylinux is based on  glibc,
  153.      aka libc6.  The  installation process needs to  run  a  program  from
  154.      ttylinux at one point that is linked against glibc.
  155.  
  156.      This  may  all sound like a lot of requirements for  the  preparation
  157.      system,  but  almost  any half-recent  Linux  distribution  with  its
  158.      default kernel will do.
  159.  
  160. +-+
  161.  
  162.   2.2 Download
  163.   
  164.      You  can download ttylinux from the official homepage, which  at  the
  165.      moment is at:
  166.      
  167.         http://www.informatik.uni-bremen.de/~pharao90/ttylinux/
  168.         
  169. |    There  you  will  find  an archive named "ttylinux-2.2.tar.gz".  Grab
  170.      this.  Inside  the archive you will find this user guide and  a  file
  171.      called  "rootfs.gz",  which is the compressed  filesystem  image  for
  172.      ttylinux itself.
  173.      
  174. +-+
  175.  
  176.   2.3 Customization
  177.   
  178.      Before you can run ttylinux, you need to change a few settings inside
  179.      the image file to fit your own system. This is done by  uncompressing
  180.      and  mounting the image and then making the appropriate  changes.  If
  181.      the  image is in the current working directory, do the  following  as
  182.      root:
  183.      
  184.        gunzip rootfs.gz
  185.        mkdir mnt
  186.        mount -o loop rootfs mnt
  187.        
  188.      Now the ttylinux filesystem is mounted on the directory "mnt". Take a
  189.      look  at it if you wish. If you want to install ttylinux  to  a  hard
  190.      disk, you can now create an installation archive for that purpose  as
  191.      follows:
  192.      
  193.        cd mnt
  194.        tar cvzf ../ttylinux-hd.tar.gz .
  195.        cd ..
  196.        
  197.      After  this, you have a file called "ttylinux-hd.tar.gz" that can  be
  198.      unpacked onto any filesystem you like.
  199.      
  200.      The  things you will probably want to customize on ttylinux  are  the
  201.      keyboard map and timezone in use and the Internet provider  settings.
  202.      You can copy over the keyboard and timezone setting from your working
  203.      system as follows:
  204.      
  205.        mnt/bin/dumpkmap > mnt/etc/i18n/keymap.dat
  206.        cp /etc/localtime mnt/etc/localtime
  207.        
  208.      To set up the dial information for an Internet provider, you need  to
  209.      know the following:
  210.      
  211.        - the device your modem is connected to, i.e. /dev/ttyS1
  212.        - the init string for your modem, i.e. ATZ
  213.        - the speed your modem can talk to the computer, i.e. 115200
  214.        - the phone number of your ISP, i.e. 1-800-LETMEIN
  215.        - your user name at the ISP, i.e. joeuser
  216.        - your password at the ISP, i.e. joepass
  217.  
  218.      The above is for dialup using a modem. If you have ISDN, you need  to
  219.      know the following:
  220.  
  221.        - the phone number of your ISP, i.e. 1-800-12345678
  222.        - your user name at the ISP, i.e. joeuser
  223.        - your password at the ISP, i.e. joepass
  224.        - the phone number you want to use for dialing out (one of your
  225.          MSNs [multiple subscriber number])
  226.        - whether you want to use automatic or manual dialing
  227.  
  228.      Edit  the  file "mnt/etc/isp.conf" and change the settings  there  to
  229.      your  liking.  Note  that ttylinux only knows  about  providers  that
  230.      launch  a PPP session immediately after dialup, so  if  some  special
  231.      procedure is needed to log you in, your Internet connection will  not
  232.      work  with ttylinux. The ttylinux approach will work with almost  all
  233.      providers in Germany, but I don't know about other countries.
  234.  
  235.      NOTE:  If you have ISDN, please also change mnt/etc/firewall.conf  so
  236.      that the line defining the external interface has "ippp0" instead  of
  237.      the default "ppp0" setting.
  238.  
  239.      NOTE: For  ttylinux  to  use ISDN, you need to have  USE_ISDN=yes  in
  240.      /etc/isp.conf,  the default is not to use ISDN. Obviously,  you  also
  241.      need  a kernel with ISDN support and hardware support for  your  ISDN
  242.      hardware.  If you need some module(s) to run your ISDN hardware,  you
  243.      will  also need to add those and a suitable /etc/modules.conf to  the
  244.      ttylinux filesystem.
  245.  
  246.      Once you are finished making changes, unmount the filesystem and  run
  247.      gzip to compress it again:
  248.      
  249.        umount mnt
  250.        gzip -9 rootfs
  251.        
  252.      You are now ready for the real installation.
  253.      
  254.      Note  that  this section has only covered the  minimum  customization
  255.      needed  to  run ttylinux. There is more to tune, have a look  at  the
  256.      system guide section below for information. If you aim at the default
  257.      approach  of  running  ttylinux  from  ramdisk,  you  must  configure
  258.      everything for your needs before you continue the installation, so it
  259.      may  be  a  wise idea to read the system  guide  section  before  you
  260.      countinue.  If you install to a hard disk, you can  always  configure
  261.      things later.
  262.      
  263. +-+
  264.  
  265.   2.4 Installation
  266.   
  267.      I am assuming that you use LILO as your boot loader. You can also use
  268.      others like loadlin, but you will obviously need some LILO experience
  269.      to convert the LILO example given here to some other boot manager.
  270.      
  271.      Put the "rootfs.gz" image and the Linux kernel you want to use to run
  272.      ttylinux  into the directory that holds your other boot  files,  most
  273.      likely  this  will be "/boot". Let's say your kernel  image  file  is
  274.      called "bzImage-ttylinux". You now need to add the following  section
  275.      to "/etc/lilo.conf":
  276.      
  277.        image=/boot/bzImage-ttylinux
  278.            label=ttylinux
  279.            initrd=/boot/rootfs.gz
  280.            root=/dev/ram0
  281.            read-only
  282.            
  283.      Now  rerun  LILO by saying "/sbin/lilo". On your next boot,  you  can
  284.      just say "ttylinux" on the LILO boot prompt to boot ttylinux. That is
  285.      all, you are now ready to try ttylinux.
  286.  
  287.      If  you want to install onto hard disk, you need to have a  partition
  288.      of  at least 4 megabytes size available. Assuming this  partition  is
  289.      "/dev/hda8",  do the following, using the  file  "ttylinux-hd.tar.gz"
  290.      obtained above:
  291.      
  292.        mke2fs /dev/hda8
  293.        mount -t ext2 /dev/hda8 mnt
  294.        cd mnt
  295.        tar xvzf ../ttylinux-hd.tar.gz
  296.        cd ..
  297.        
  298.      Now  do  the customization as outlines above. You will also  need  to
  299.      change  the root device configured in "mnt/etc/fstab". Once  you  are
  300.      done, you just need to unmount the partition:
  301.      
  302.        umount mnt
  303.        
  304.      Now  you can setup LILO as explained above, only change the line  for
  305.      the root filesystem to "root=/dev/hda8". Ready to go.
  306.      
  307. +-+
  308.  
  309.   3. System guide
  310.   
  311.      This  section gives a short overview over the system and some of  the
  312.      installed programs.
  313.  
  314. +-+
  315.  
  316.   3.1 Features
  317.   
  318.      On bootup, ttylinux provides 6 text consoles for login.  The  default
  319.      setup  has two users: root with password "root" and guest with  pass-
  320.      word "guest".
  321.      
  322.      Syslog  and  klog  daemons  are running and  log  kernel  and  system
  323.      messages to "/var/log/messages".
  324.  
  325.      If  you  need a text editor, "e3" is installed. Simply invoke  it  by
  326.      typing  "e3 /path/to/filename".  A help screen is  available,  simply
  327.      press "Alt-h". e3 unstands a lot of the old WordStar commands, so  it
  328.      feels a bit like WordStar or the common Linux editor "joe".
  329.  
  330.      For manipulation of users, groups and passwords, the tools  "passwd",
  331.      "adduser", "addgroup", "deluser", and "delgroup" are present.
  332.  
  333.      If  you have not changed the timezone and keyboard settings  as  out-
  334.      lined  above,  ttylinux will use its default  settings.  The  default
  335.      timezone  is Europe/Berlin and the default keyboard mapping is for  a
  336.      102-key German keyboard. These setting should work in Germany.
  337.  
  338.      The inetd super-server is running by default. A telnet server will be
  339.      forked by inetd when a telnet connection comes in.
  340.  
  341.      ttylinux includes a basic packet filtering firewall.
  342.  
  343. +-+
  344.  
  345.   3.2 Bootup and shutdown (initscripts)
  346.   
  347.      On system bootup, init runs the script "/etc/rc.d/rc.sysinit" to  get
  348.      the system up. The script will do the usual business of checking  and
  349.      remounting  the root filesystem and will start up  basic  networking.
  350.      After  all  is done, "rc.sysinit" will run all executables  from  the
  351.      directory  "/etc/rc.d/rc.start". It does not matter whether these are
  352.      scripts  or  compiled programs. All executables will  be  passed  the
  353.      parameter "start". For example, if there is a script called  "runme",
  354.      "rc.sysinit" will execute "runme start".
  355.  
  356.      The  default  initscripts that come with ttylinux are stored  in  the
  357.      directory "/etc/rc.d/init.d". Those that need to be run at bootup are
  358.      symlinked to the "rc.start" directory. If you want to write your  own
  359.      initscripts, place them in the "init.d" directory and place a symlink
  360.      in the "rc.start" and perhaps also in the "rc.stop" directory.
  361.  
  362.      If you don't want to write your own script, you can also add commands
  363.      to the file /etc/rc.d/rc.local - this script will be run at the  very
  364.      end of the boot process, after all others scripts have run.
  365.      
  366.      On shutdown, the script "/etc/rc.d/rc.reboot" gets run. This will run
  367.      all the programs from the "/etc/rc.d/rc.stop" directory, each program
  368.      will be passed a "stop" parameter. Our example script called  "runme"
  369.      would be executed as "runme stop".
  370.      
  371.      Both  scripts  from  "rc.start" and "rc.stop" will be  run  in  ASCII
  372.      order.  If  you need them to run in a specific order, you  could  for
  373.      example  use  names like "01.first" and "02.second". This is how  the
  374.      scripts  that come with ttylinux are named. Everything in  "rc.start"
  375.      and  "rc.stop"  should be a symlink, so you can  simply  remove  that
  376.      link if you want to disable a specific script.
  377.  
  378.      Initscripts can also be called manually in case you want to start  or
  379.      stop something while the system is running. For example,
  380.      
  381.        /etc/rc.d/init.d/inetd stop
  382.        
  383.      will stop the inetd server daemon. All scripts (except pppconf, which
  384.      understands  no options) know about the options "start", "stop",  and
  385.      "restart"  that do the obvious things. Some scripts also  know  about
  386.      "status"  and "reload" for displaying status information and for  re-
  387.      loading service configuration files.
  388.  
  389. +-+
  390.  
  391.   3.3 Using PPP
  392.   
  393.      What to put into "/etc/isp.conf" to configure the dailup  information
  394.      is outlined above in the customization subsection. What you will find
  395.      here is an overview of how to actually use the PPP system.
  396.      
  397.      Assuming  "/etc/isp.conf"  was setup correctly before boot, you  only 
  398.      need one command to start up the Internet connection:
  399.      
  400.        ppp-up
  401.  
  402.      NOTE: If you use ISDN with autodialing enabled (ISDN_MODE=auto  set),
  403.      you do not need to run ppp-up.
  404.      
  405.      ppp-up triggers the ppp daemon, which will dial the provider and  try
  406.      to  login.  ppp-up can be run by any user in the ppp  group.  In  the
  407.      default ttylinux configuration, the ppp group has no members, so only
  408.      root  can  start  and stop the internet  connection.  You  can  watch
  409.      "/var/log/messages" (using tail -f) to see when the connection is  up
  410.      and running. After that, you can browse the web by using the "links"
  411.      browser. Type in something like:
  412.      
  413.        links http://www.slashdot.org/
  414.  
  415.      Inside links, press ESC (escape) to active the menu. You can use  the
  416.      cursor and return keys to navigate links' menu. Outside the menu, use
  417.      cursor  up and down to jump from link to link. Press cursor right  to
  418.      follow a link and cursor left to go back to the previous page.
  419.        
  420.      Now  you can browse the Internet for a while. If you decide that  you
  421.      want to cut the link, just issue:
  422.      
  423.        ppp-down
  424.        
  425.      This  will take the connection down. Once again, this can be done  by
  426.      root or any user from the ppp group that started the connection.
  427.  
  428.      NOTE: If you change any of the settings in /etc/isp.conf, you need to
  429.      reboot for the changes to take effect or do one of the following. For
  430.      modem users, just run:
  431.  
  432.        pppconf
  433.  
  434.      ISDN users will have to do more:
  435.  
  436.        /etc/rc.d/init.d/isdn stop
  437.        pppconf
  438.        /etc/rc.d/init.d/isdn start
  439.  
  440.      After  that, you can again use ppp-up and ppp-down. Note that both  of
  441.      these methods only work for root, not ordinary users.
  442.  
  443.      SECURITY NOTE:  Users in the ppp group will be able to read the  file
  444.      /etc/isp.conf  which contains your session password. This may or  may
  445.      not  be a good idea, depending on how much you trust your  users.  If
  446.      you  only wish to use ISDN, you can remove the group read  permission
  447.      with
  448.  
  449.        chmod g-r /etc/isp.conf
  450.  
  451. +-+
  452.  
  453.   3.4 Using thttpd
  454.   
  455.      thttpd  is a small but fast web server. It will be started on  system
  456.      bootup  and will by default serve the contents of "/home/web" to  the
  457.      world.  The default web page is a congratulation message with a  link
  458.      to the ttylinux homepage.
  459.      
  460.      You  can change some of the settings of thttpd in  "/etc/httpd.conf".
  461.      The  default settings will also allow CGI scripts to run if they  are
  462.      in the directory "/home/web/cgi-bin" or their name ends in ".cgi".
  463.  
  464. +-+
  465.  
  466.   3.5 Setting up network devices
  467.  
  468.      To set up a network device, go to the directory "/etc/network.d"  and
  469.      copy  the file "sample" found there to a file named  "interface.dev".
  470.      For  example, if you want to setup the device "eth0", name  the  file
  471.      "interface.eth0":
  472.  
  473.        cp sample interface.eth0
  474.  
  475.      Now edit the new file to adjust the settings for the device. You  can
  476.      either  let the system use the DHCP protocol to obtain  the  settings
  477.      from a DHCP server or you can set the IP address and other parameters
  478.      manually within the file.
  479.  
  480. +-+
  481.  
  482.   3.6 Using the firewall
  483.   
  484.      The default settings of the ttylinux firewall script assume that  the
  485.      network interface to the rest of the world is called "ppp0", which is
  486.      only true for modem PPP connections to the Internet. By default,  the
  487.      firewall  will  allow the world to access the HTTP server,  but  will
  488.      deny access to the telnet server. Access to any other server  running
  489.      on a port below 1024 is denied, and the outside world is not  allowed
  490.      to ping the ttylinux machine.
  491.      
  492.      You can change the settings of the firewall in "/etc/firewall.conf".
  493.      
  494.      Note that this firewall script is very simple and assumes that  local
  495.      users  are  always  trusted. There is  no  protection  against  users
  496.      running  server daemons on ports above 1024. If you don't trust  your
  497.      users, this firewall script is not enough for you!
  498.  
  499. +-+
  500.  
  501.   3.7 Shell environment
  502.   
  503.      The  default  shell  used by ttylinux is bash.  You  can  change  the
  504.      startup  environment (variables, aliases, etc) in  /etc/profile.  You
  505.      can  also put files into the directory /etc/profile.d - all  readable
  506.      files  in  this directory will be sourced by bash when you  login  on
  507.      the ttylinux machine.
  508.  
  509.      Using /etc/profile.d is a good choice for your own personal  changes.
  510.      You  may want to update to a new version of ttylinux sometime  later,
  511.      and  then you could end up loosing all your changes  to  /etc/profile
  512.      if  you forget to make a backup. In /etc/profile.d, your changes  are
  513.      safe.
  514.        
  515. +-+
  516.  
  517.   3.8 pkg script
  518.   
  519.      There  is  a script called pkg that can give some  information  about
  520.      programs and packages that are part of ttylinux. The script is  built
  521.      to mimic some of RPM's query options. You can list all packages, find
  522.      out  to which package a file belongs, and list the files that  belong
  523.      to a specific package.
  524.      
  525.      To get a list of all packages, run
  526.      
  527.        pkg -qa
  528.        
  529.      To find out which package /bin/login belongs to, use
  530.      
  531.        pkg -qf /bin/login
  532.        
  533.      To list all files from the bash package, run
  534.      
  535.        pkg -ql bash
  536.  
  537. +-+
  538.  
  539.   4. Contact
  540.   
  541.      If you have bug reports, suggestions, or anything else about ttylinux
  542.      that  you think is important, feel free to contact me. You can  reach
  543.      me by email at:
  544.      
  545.        Pascal Schmidt <pharao90@tzi.de>
  546.        
  547.      Or by FidoNet netmail to:
  548.      
  549.        Pascal Schmidt @ 2:241/215.72
  550.  
  551.      See  the  file  AUTHORS in the ttylinux distribution for  a  list  of
  552.      people who contributed ideas, bug reports, or code so far.
  553.        
  554. +-+
  555.  
  556.   A. How to make a bootable ttylinux CD
  557.  
  558.      To follow these instructions, you need the following programs on your
  559.      working  system: mkisofs, mkdosfs, and syslinux. mkdosfs  is  usually
  560.      found inside a package called "dosfstools", syslinux can be found  on
  561.      the Internet and on Red Hat installer CDs.
  562.      
  563.      You  will  need the ttylinux filesystem image rootfs.gz and  a  linux
  564.      kernel  image  (the result of a "make zImage" or "make  bzImage").  I
  565.      assume you have these files in your current working directory and the
  566.      kernel  image  file is called "vmlinuz". The  following  instructions
  567.      will only work for root, not normal users.
  568.     
  569.      First,  go  through  the  rest  of this user guide  and  do  all  the
  570.      customization  you want to do. Once ttylinux is burned onto  the  CD,
  571.      you don't get any further chances to change anything.
  572.  
  573.      Now we start preparing the CD image.
  574.      
  575.        mkdir mnt
  576.        mkdir -p iso/boot
  577.        dd if=/dev/zero of=image bs=10k count=288
  578.        mkdosfs image
  579.        syslinux image
  580.        mount -o loop image mnt
  581.        cp vmlinuz mnt/linux
  582.        rdev mnt/linux /dev/ram0
  583.        cp rootfs.gz mnt
  584.        
  585.      At this point, we have created an image file resembling a 2.88  mega-
  586.      byte  floppy disk, syslinux has put a bootloader onto this image,  we
  587.      have  mounted the image on the "mnt" directory and copied our  kernel
  588.      image  and filesystem image files onto the disk image. We  also  told
  589.      the kernel to expect the root filesystem on /dev/ram0 when booting.
  590.      
  591.      Now we need to create a syslinux config file on the disk image.
  592.      
  593.        vi mnt/syslinux.cfg
  594.        
  595.      In this file, place the line
  596.      
  597.        append initrd=rootfs.gz
  598.        
  599.      If you need to pass kernel parameters to your kernel, do this on  the
  600.      same append line. For example, if you need to pass, say  "idebus=33",
  601.      your line should be
  602.      
  603.        append initrd=rootfs.gz idebus=33
  604.        
  605.      Now  we  are finished creating the disk image we need  for  making  a
  606.      bootable CD. Let's start putting together the iso image.
  607.      
  608.        umount mnt
  609.        cp image iso/boot/boot.img
  610.        
  611.      The boot image itself is only 2.88 megabytes, so you will have  extra
  612.      space available. You can mount the CD after booting to get access  to
  613.      all  the files you put on the iso image in addition to  the  boot.img
  614.      file. Simply put anything you want into the "iso" directory now. Once
  615.      you are done with that:
  616.      
  617.        cd iso
  618.        mkisofs -r -b boot/boot.img -c boot/boot.cat -o ../bootcd.iso .
  619.        cd ..
  620.  
  621.      Congratulations,  you  finished the job of creating  a  bootable  iso
  622.      image  with  ttylinux on it. All you need to do now is  use  some  CD
  623.      burning program to put the "bootcd.iso" image on a real CD.
  624.  
  625. +-+
  626.