9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds.
@ 2006-12-20 22:19 ron minnich
  2006-12-20 23:17 ` Paul Lalonde
  2006-12-21  9:24 ` [9fans] the JD project: little tiny liinux that is a driver for Richard Miller
  0 siblings, 2 replies; 5+ messages in thread
From: ron minnich @ 2006-12-20 22:19 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds.
  2006-12-20 22:19 [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds ron minnich
@ 2006-12-20 23:17 ` Paul Lalonde
  2006-12-20 23:22   ` David Leimbach
  2006-12-21  3:41   ` ron minnich
  2006-12-21  9:24 ` [9fans] the JD project: little tiny liinux that is a driver for Richard Miller
  1 sibling, 2 replies; 5+ messages in thread
From: Paul Lalonde @ 2006-12-20 23:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

-----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-----


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds.
  2006-12-20 23:17 ` Paul Lalonde
@ 2006-12-20 23:22   ` David Leimbach
  2006-12-21  3:41   ` ron minnich
  1 sibling, 0 replies; 5+ messages in thread
From: David Leimbach @ 2006-12-20 23:22 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Hmmm WWJDD...

What Would Jack Daniels Do?



On 12/20/06, Paul Lalonde <plalonde@telus.net> wrote:
> -----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-----
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds.
  2006-12-20 23:17 ` Paul Lalonde
  2006-12-20 23:22   ` David Leimbach
@ 2006-12-21  3:41   ` ron minnich
  1 sibling, 0 replies; 5+ messages in thread
From: ron minnich @ 2006-12-21  3:41 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 12/20/06, Paul Lalonde <plalonde@telus.net> wrote:
> -----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?

it'll be in there.

I need some fedora core help on something, if somebody wants to give
me a hand. It's a really stupid problem but it's killing me.

ron


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] the JD project: little tiny liinux that is a driver for
  2006-12-20 22:19 [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds ron minnich
  2006-12-20 23:17 ` Paul Lalonde
@ 2006-12-21  9:24 ` Richard Miller
  1 sibling, 0 replies; 5+ messages in thread
From: Richard Miller @ 2006-12-21  9:24 UTC (permalink / raw)
  To: 9fans

> 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.

9xen was already bootable as a diskless terminal before the block
device driver was written.  Or do you mean not have a linux root?
In the world of OS-on-top-of-OS you need to disambiguate terms like
"root", "boot", "console" etc because there are too many of them.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-12-21  9:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-20 22:19 [9fans] the JD project: little tiny liinux that is a driver for Plan 9, boots in seconds ron minnich
2006-12-20 23:17 ` Paul Lalonde
2006-12-20 23:22   ` David Leimbach
2006-12-21  3:41   ` ron minnich
2006-12-21  9:24 ` [9fans] the JD project: little tiny liinux that is a driver for Richard Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).