A modularized federated OS based on L4 micro kernel and Plan9 from Bell Labs.
LP49 __/__/__/__/
(Last updated: 2010/06/30)
LP49: Federated software bus based on L4 and Plan9.
- Dependable/robust OS using a micro kernel and multi-server organization.
- Each server is strongly separated and guarded.
- Universal Federation
- At present: porting Plan 9 features.
with the hope of becoming a study base for
future universal fedrations.
- Simple, Scalable, Secure component, , ,
- Not paperware, but actual software.
- As a material for OS learning and OS development of your own.
- Practice is very important as theory is.
TAR-file of LP49 source code.
Documents (in Japanese)
Useful (hoped) image files
(How to use)
% qemu -cdrom lp49-boot.cd -std-vga
--- LP49 ---
LP49[/]: d vga
(How to use)
% gunzip lp49.disk.gz
% qemu -cdrom lp49-boot.cd -hda lp49.disk -boot d -std-vga
----- Boot from CD image.
--- LP49 ---
LP49[/]: mount -ac /srv/dos /c /dev/sdC0/dos-0
---- DOS-file-system on the Hard disk image is mounted onto /c.
LP49[/]: cd /c
(How to use on Windows-XP)
[1] Unzip the qemu-0.9.zip file.
[2] Click the qemu-0.9.1-windows-LP49 folder.
[3] Click the LP49 folder.
[4] Double click lp49-1.bat, then 1st LP49 will start up.
[5] LP49[/]: ipsetup
[6] Double click lp49-2.bat, then 2nd LP49 will start up.
[7] LP49[/]: ipsetup 10.0.0.5
This Qemu does not work on WIndows-Vista.
Why ? I don't know the reason.
(How to use on Linux)
[1] % gunzip plan9.img.gz
[2] qemu -hda plan9.img -std-vga
[3] File system ? Return
[4] User: glenda
[5] Plan9 starts working.
(^_^)
TAR file of Plan9 source codes (109MB, 2007)
Supplemental explanation (in Japanese)
LP49 internal structure
Old English documents
Additional information (Not updated)
-
How to use QEMU virtual HDD image (lp49.disk).
(081111)
Two partions are set.
One is for DOS file system, and another is for EXT2 file system.
DOS file system includes LP49 commands on bin/ directory.
- Down load
lp49.disk.gz
, and gunzip it.
- Start qemu and LP49. Boot floppy image "lp49-boot-x2.fd" is required.
# qemu -hda lp49.disk -fda lp49-boot-x2.fd -boot a -std-vga -net nic
- Bind the virtual HDD (#S) onto /dev.
LP49[/]: bind -ac #S /dev
- You can see /dev/sdC0/dos-0.
LP49[/]: ls /dev/sdC0
/dev/sdC0/dos-0
/dev/sdC0/ext2-0
- Mount this on mount point(e.g. /work) usig DOS file server (srv/dos).
LP49[/]: mount -ac /srv/dos /work /dev/sdC0/dos-0
- You will bin/ on /work¡£
LP49[/]: ls /work
LP49[/]: ls /work/bin
- After usage, please do unmount (not umount)¡£
LP49[/]: unmount /work
-
Boot floppy image
-
On the LP49-yymmdd.tar top directory, you can find
lp49-boot.fd (1.44M FD), and lp49-boot-x2.fd (2.88M FD).
- QEMU supports 2.88M FD. please enjoy.
-
VGA is not yet supported, but study is starting... (080930)
-
Network environment setup on QEMU (080909)
- Let's use TUN/TAP of the Linux (Host OS).
+------------ Host OS -------------------------------+
| |
| +--Guest OS on QEMU--+ +----- Host OS -----+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +--------+-----------+ +---------+----------+ |
| | | |
| +--------------------------+ |
| eth0 (10.0.0.2) tun0 (Ex. 10.0.0.1) |
+----------------------------------------------------+
- Setting on Host OS.
- Load the "tun" module.
# ls -l /dev/net/tun
# chmod 0660 /dev/net/tun
# chgrp maruyama /dev/net/tun
# modprobe tun
- Prepare the executable script file "/etc/qemu-ifup" (Host OS)
#!/bin/sh
sudo /sbin/ifconfig "$1" 10.0.0.1
- Add following line to the "/etc/sudoers" file using visudo command.
maruyama ALL=(ALL) ALL
- Start the QEMU:
# sudo qemu -fda /home/maruyama/LP49/lp49-bootfd-x2.fd -net nic -net tap
Input your password
- IP/Gateway address setup of LP49 using "ipsetup" command:
LP49[/] ipsetup 10.0.0.2 10.0.0.1
- Now, you cam try LP49 networking.
You can mount Linux files onto LP49 using upfs (explained lator).
Firewall may need to open a hole (564/tcp).
- U9FS¡§ Mount the Linux files onto LP49 (080727)
- Commands in ZIP file (080530)
- Boot floppy image contains zipped command file "b/cmd.zip".
- You can fined "cmd.zip file on /t/bin/cmd.zip.
- LP49[/]; cd /tmp
- LP49[/tmp]: unzip -f /t/bin/cmd.zip
- You will find commands on /tmp directory.
- LP49[/tmp]: spawn ex2
- LP49[/tmp]: cd
- LP49[/]: spawn /tmp/ex2
- USB 1.1 memory
- USB host controler: "UHCI Version 1.1" is supported.
"OHCI, EHCI" is not yet supported.
- If your PC has only USB-2.0 controller, the use USB-1.0 hub.
- LP49[/]: bind -a #U dev
- Bind USB-device onto /dev
- LP49[/]: spawn /t/bin/usbd
- Start the USB daeman process.
- LP49[/]: spawn /t/bin/usbsfs
- You will find
/ums/ctl, /ums/raw, /ums/data.
- LP49[/]: spawn /t/bin/dos2 -f /ums/data:32 usbs
- Start the DOS file server with starting block 32 .
- LP49[/]: mount -ac /srv/usbs /work
- USB DOS file system is mounted onto /work.
- .......