Goto H2O Home Page Goto H2O Home Page (Japanese) Goto L4minix-s


L4minix-e

Since 2001-03-22, Last Modified 2004-09-09 NII


Manuals and documents -- under drafting (in Japanese)

For Japanese: Please read following Japanese PDF documents insted of this Web page.

Source programs: L4minix-e Snapshots

Latest version: 2004-09-09

The install process is improved.
Source file directories (in l4minix-yy-mm-dd.tar.gz)

        +-- l4minix/ --+-- bin/ ------: Binary code (l4-ka kernel, rmgr, sigma0)
            ^^^^^^^    |
                       +-- boot/ -----: menu.lst for GRUB
                       |
                       +-- include/ --: include files
                       |
                       +-- lib/ ------: libraries
                       |
                       +-- src/----+-- commands/ ----: ported Minix commands
                                   |
                                   +-- l4-support/ --: sigma0, rmgr
                                   |
                                   +-- lib/ ---------: library sources
                                   |
                                   +-- task/  ----+--- clock : Clock server
                                   |              |--- eth : Ether driver
                                   |              |--- fs  : File Server
                                   |              |--- hw  : Interrupt support
                                   |              |--- ide : IDE driver
                                   |              |--- inet : INET server
                                   |              |--- mm : Memory Manager
                                   |              +--- sh : SHell-modiki
                                   |
                                   +-- test/ ------: Minix test programs (Not yet completed)
                                   |
                                   +-- work/ -----+--- apl/-- : test programs 
                                                  |
                                                  |

Latest program files (2004-09-09)


Menu list of the l4minix-boot floppy


How to install and run L4minix-E ?

To be prepared....
  1. Install 'VMware' on your Linux PC (or prepare a target PC-AT).
  2. Make a boot floppy from "l4minx-boot-yy-mm-dd" file ( l4minix-boot-04-01-30.image ) using Linux "dd" command.
            # dd if=l4minx-boot-yy-mm-dd of=/dev/fd0  bs=4k
    
  3. Make TAR floppies ('l4mx-bin.tar', 'l4mx-usr.tar' and 'l4mx-www.tar') from downloaded TAR files ( l4mx-bin.tar , l4mx-usr.tar and l4mx-www.tar ) using Linux "dd" command.
            # dd if=l4mx-bin.tar of=/dev/fd0  bs=4k
            # dd if=l4mx-usr.tar of=/dev/fd0  bs=4k
            # dd if=l4mx-www.tar of=/dev/fd0  bs=4k
    
    

  4. Here, L4minix-e install starts ! This install process does:
    • Setup the HDD partition.
    • Make the root file system.
    • Make several directories ( /bin, /usr, /etc, /home etc.)
    • Make special nodes (Ex. /dev/fd0, /dev/hd0 ....)
    • Make several files (Ex. /etc/passwd, /etc/fstab, ,, etc.)
    • Install commands from the l4mx-bin.tar file.
    Following directories are built.
    
             --+-- bin/ -----:  commands (init, getty, login, ls, cp, pwd, ,,,,)
               |
               |
               +-- dev/ -----: console, fd0, fd1, hd1, hd2, hd3, hd4, ip, mem, tty  
               |                (Special nodes are made by "devnode" command)
               |
               +-- etc/ -----: fstab, group, motd, passswd, profile, protocols, rc,
               |               services, shadow,  termcap, ttytab,  (To be copyed fro Minix /etc/*)
               |               hostname.file,  utmp
               |
               +-- mnt/ ------:   (mount point)
               |
               +-- usr/-------+--- adm/----:  lastlog, wtmp
                              |
                              +--- bin/----;   commands ...         
    
    
  5. Start VMware (or target PC) using the above l4minix-boot floppy
    # vmware &
  6. VMware displays a 'menu list'.
  7. To install L4minix-e, slect the "L4MINIX-E INSTALLL" menu.
    Following is the contents of the "L4MINIX-E INSTALLL" menu. ( "boot/grub/menu.lst" in the l4minix-boot floppy).
            title = L4MINIX-E INSTALL 
            kernel = (fd0)/rmgr.gz -sigma0 -roottask
            modaddr= 0x01000000
            module = (fd0)/x86-kernel.gz
            module = (fd0)/sigma0.gz
            module = (fd0)/simple/mm.gz
            module = (fd0)/simple/hw.gz
            module = (fd0)/simple/clock.gz  vmware
            module = (fd0)/simple/fs.gz  partition=1 HDD[40,0,0,0] mkfs
            module = (fd0)/simple/zinstall.gz
            module = (fd0)/simple/tty.gz
            module = (fd0)/simple/qsh.gz
    
    partition=1
    This means to use the HDD first partition (partition-1).
    HDD[40,0,0,0]
    This specifies size of partitions-1..4. (Unit: 10 MB)
    mkfs
    Commands to make a root file system.
  8. L4minix stops several times at break points for testing. Please hit 'g' (which means 'go'), and it will continue.
  9. Soon following message will appear.
    To build up (mkfs) the root file system, hit 'y', otherwise hit 'g'.
    Now, hit 'y'. Then, L4minix makes a "Root file system". It takes a few minutes.
  10. Soon, the following message will appear.
    ----------/bin/commands--------------------
    Shall I install /bin/commands ?
    To install /bin/commands, INSERT THE FLOPPY 'l4mx-bin.tar' and hit 'g'
    Otherwise hit RTN.

    Then, you remove the 'l4minix-boot' floppy, insert the 'l4mx-boot.tar' floppy, and then hit 'g'.
    This will install basic l4minix commands onto the /bin/* directory.
  11. Soon, a prompt will appear.
    L4MX[/]: #
  12. Now L4minix-e is ready. To stop the program, you select the "Power off" buttom of VMware.
  13. Next time, you can merely select the "L4MINIX-E" menu.
  14. When L4minix-e is booted, the command interpretor "sh" (src/commands/sh/*) is started.
            L4MX[/]# init
            L4-Minix Release 0.1 Version 0 
            hostname login: root
            .....
    
    The host name is defined in the file "/etc/hostname.file". Users are defined in "/etc/passwd". "root" and "ast" are defined. Password is not yet supported.
  15. Install the "l4mx-usr.tar" file.
           L4MX[/]# cd  /
           L4MX[/]# mount  /dev/fd0  /mnt
           L4MX[/]# tar  xvf /mnt/l4mx-usr.tar
               ... tar-file is expanded ...
           L4MX[/]# umount /dev/fd0
    
    
  16. Install the "l4mx-www.tar" file.
           L4MX[/]# cd  /
           L4MX[/]# mount  /dev/fd0  /mnt
           L4MX[/]# tar  xvf /mnt/l4mx-www.tar
               ... tar-file is expanded ...
           L4MX[/]# umount /dev/fd0
           L4MX[/]# cp  /www/etc/httpd.conf  /etc
           L4MX[/]# cp  /www/etc/httpd.mtype  /etc
    
    
  17. .....

How to use Floppy disk ?

Let's assume that you want copy a file from Linux to the L4minix HDD.
On Linux:
  1. Make a Minix file system on the floppy disk.
    # /sbin/mkfs.minix -n 14 -v /dev/fd0
  2. Mount the floppy.
    # mounbt /dev/fd0 /mnt/floppy
  3. Copy files.
    # cp myprog /mnt/floppy
  4. # umount /mnt/floppy
    (It seems bgus are remaining....)
On L4minix:
  1. Make a mount directory
    L4MX[/] cd /
    L4MX[/] mkdir mnt
  2. Mount the floppy
    L4MX[/] mount /dev/fd0 mnt
  3. Now, you can access the floppy file.
    L4MX[/] cd mnt
    L4MX[/mnt] dir
    L4MX[/mnt] copy myprog /usr
  4. Unmount the floppy.
    L4MX[/mnt] cd
    L4MX[/] umount /dev/fd0

How to recompile L4minix-e ?

To be prepared....
  1. # gunzip l4minix-yy-mm-dd.tar.gz
  2. # tar xvf l4minix-yy-mm-dd.tar
  3. # cd src
  4. # make
    Object files (task/hw/hw, task/clock/clock, task/hw/hw, task/mm/mm, task/fs/fs, task/inet/inet, task/sh/sh, test/apl/... ) are produced.
  5. Copy modifid object files to the "simple" directory of the boot floppy.
    # make floppy
    (This will copy src/task/*/*.gz files to the floppy /mnt/floppy/simple.)
  6. ...................

How to copy files from Linux to the VMware virtaul disk ?

The "vmware-mount.pl" command of VMware is used. This command is supported in version-2.x, but is not supported in version-3.0. Therefore, we are using VMware version-2.x and Redhat Linux 6.2
To be prepared.... Let's assume that VMware virtual disk is "~/vmware/L4/L4.dsk", partition is 1, and the Linux mounting point is "/mnt/vm".
  1. On linux
    # su root
    passwd:
    # cd ~/vmware/L4
    # vmware-mount.pl L4.dsk 1 -t minix /mnt/vm
  2. Now, the VMware virtual disk is mounted at /mnt/vm of Linux. Using another terminal window, you can do "cp" command.
    # cp myprog /mnt/vm/bin/myprog
  3. To unmount the file system, hit CTL-c in the first terminal window.
  4. ...................

L4minix-e qsh(quasi shell) builtin commands


Change notes