From mboxrd@z Thu Jan 1 00:00:00 1970 Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <13426df10612201419p3cad2584xaa362a88a6864f43@mail.gmail.com> References: <13426df10612201419p3cad2584xaa362a88a6864f43@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Paul Lalonde Subject: Re: [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds. Date: Wed, 20 Dec 2006 15:17:53 -0800 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Topicbox-Message-UUID: f6c53b7e-ead1-11e9-9d60-3106f5b1d025 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Yowza. Someone slipped something into Ron's coffee! Ron - any chance of the /dev/fb based drawterm making its way to more general distribution? Thanks, Paul On 20-Dec-06, at 2:19 PM, ron minnich wrote: > It is called JD for a reason ... > > anyway ... > > on sources/xen/xen3/xentest.tgz is the latest. > > here is what it does > boots a minimal linux to a bash prompt. You type > xend start > xm create hanska > this in turn boots a cpu server under xen which tries to mount from an > fs, which does not exist, but hey ... it can start up a plan 9 > instance. And give it an IP from DHCP. And it tries and fails to mount > an fs from somewhere. And if finds the block device (sd00). This is > close. > > The linux will nat for you. > > In theory, I should be able to mount 9grid.net, have not tried this > yet. > > The file is a mere 62M compressed (sorry!) but we're trying. I had to > pull in lots of shit because the xen scripts are a mix of python and > bash. The bash scripts, if written in python, would not need all the > shit. Long term, they should all be python, and I am sure that you > folks are chomping at the bite to rewrite them, python being such a > readable, simple, easy to bug-insert language (what's the oppose of > debug? Where you insert a bug just be removing whitespace? maybe embug > -- for embedding a bug. ) > > here is my grub.conf entry for it -- see, I'm getting user-friendly > this time around. > > title tiny horrible xen > root (hd0,5) > kernel /boot/xen-3.0.3-1-i386.gz > module /boot/vmlinuz-2.6.18-3-xen-686 root=/dev/hda6 ro > console=tty0 > module /boot/initrd.img-2.6.18-3-xen-686 > > So, what did it take to make this work? > > Oh, not much. Xen reported hotplug failing, in a way calculated to > confuse me. > > But, thinks I, I need udev. But, udev won't start without syslog in > there. Honest, strace doesn't lie. > > So, in the end, I added: > [root@q rminnich]# ls /xentest/etc/init.d/ > functions syslog > [root@q rminnich]# > > [root@q rminnich]# ls /xentest/etc/ > blkid.tab dhcpd.conf hosts hotplug.d localtime passwd > syslog.conf xen > blkid.tab.old fstab hotplug init.d mtab services > udev > [root@q rminnich]# > > rm /etc/mtab; ln -s /proc/mounts /etc/mtab > > [root@q rminnich]# ls /xentest/lib | wc > 125 125 193 > [root@q rminnich]# ls /xentest/usr/lib > libsysfs.so.1 libz.so.1 libz.so.1.2.3 python2.4 xen-3.0.3-1 > xen-common xen-default > [root@q rminnich]# ls /xentest/bin > basename hanska mv sed umount xenctx > xenstore-read > bash ip netfix sh usleep xend > xenstore-rm > cat killall ps sleep xc_restore xenmon.py > xenstore-write > cp less pygrub stat xc_save > xenperf xentop > cut logger readlink strace xc_shadow xenstore- > chmod xentrace > dhcpd lomount readnotes sync xenbaked xenstore-control > xentrace_format > drawterm ls reset tcpdump xen-bugtool xenstored > xentrace_setmask > ed mkdir rm touch xencons xenstore-exists > xentrace_setsize > expr mktemp rmdir tr xenconsole xenstore- > list xm > grep mount runme true xenconsoled xenstore-ls > [root@q rminnich]# ls /xentest/usr/bin/ > awk dirname env python > [root@q rminnich]# ls /xentest/sbin/ > brctl initlog jfs_fscklog nologin udevcontrol > udevstart.static > consoletype insmod jfs_logdump pidof udevd > udev.static > depmod iptables klogd sh udev_run_devd > getty iptables-restore logsave sulogin udev_run_hotplugd > ifconfig iptables-save losetup syslogd udevsend > init isdnlog modprobe udev udevstart > [root@q rminnich]# > > > and a few other bits. If you think this is a lot, you haven't been > watching linux lately. > > Also, the following simple thing: > [root@q rminnich]# cat /xentest/bin/runme > #!/bin/sh -x > mount -t tmpfs none /tmp > mount -t tmpfs none /var > mkdir -p /var/run/xenstored > mkdir -p /var/log/xen > mkdir -p /var/log/hotplug > mkdir -p /var/lib > mkdir -p /var/lib/dhcp > touch /var/lib/dhcp/dhcpd.leases > mkdir -p /var/lock/subsys > mkdir -p /var/run/xen-hotplug > > PATH=$PATH:/usr/lib/xen-3.0.3-1/bin > export PATH > > /etc/init.d/syslog start > /sbin/udevd& > modprobe loop > modprobe bridge > modprobe netloop > ipconfig eth0 10.0.0.1 up > #xend start > #xm create hanska & > PATH=$PATH:/mnt > > ah, well, we had hoped to have a readonly medium, but we have not > resolved the problem of a writeable root for plan 9. maybe later. What > would be very interesting is to not have a root at all, but just boot > as a terminal from somewhere, but we are not ready yet. But that is > the Dream. > > anyway, 20M are there, 40M need to get there, so give it a few > minutes. The file when done is this: > > [root@q xentest]# ls -l /tmp/xentest.tgz > -rw-r--r-- 1 root root 62174680 Dec 20 15:48 /tmp/xentest.tgz > [root@q xentest]# > > testers welcome, as long as you're not too helpless when confronted > with Xen ... it's not ready for that yet! > > thanks > > > ron -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (Darwin) iD8DBQFFicSipJeHo/Fbu1wRAkI9AJ9kvSPlHZkhKIsF0CCedfDN4lMSHQCfTd8J KdsdmZhllV4FSF0JTyhKNzg= =00XM -----END PGP SIGNATURE-----