[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: minimal Hurd system



Marcus Brinkmann wrote:
> 
> On Tue, Sep 19, 2000 at 01:47:05PM +1100, Glenn McGrath wrote:
> > Im trying to make a small hurd system.
> 
> Wonderful!
> 
> > Currently i have got a bootable ststem at 5.6 MB, of this
> >
> > /hurd directory is 2.7MB
> > /lib is       1.7MB
> > /boot is      892 KB
> > /bin is       204KB (busybox binary)
> > /libexec is   48KB
> > and a few small directories here and there.
> >
> > I havent tried to do library reduction yet, libc is 1MB, i think i may
> > be able to reduce it down to 500KB or so.
> 
> Yes, and libmachuser and libhurduser, too. This should work with my
> mklibs.sh script (which I wrote for exactly this situation).
> 
Ahh, cool, i have been in awe of your script for a while now :)

> > I havent touched the /hurd directory its the same as in the 12MB .tar.gz
> > image, im not exactly sure what i can remove from here (if anything).
> 
> The statically linked filesystem stuff is only needed for the root
> fliesystem and can be on another disk. It is possible to have grub, gnumach,
> ext2fs and ld.so on one disk (with a special servers.boot script I attach),
> and the root filesystem on another disk. This should get you much closer.
> 
> > Before i started playing with the Hurd i was thinking i might be able to
> > make some hurd floppies, but now im having my doubts.
> >
> > Does Hurd suppport ramdisks, or how could a two or more floppy system
> > work, could we have a boot and root floppy ?
> 
> Yes, this is what I described above.
> 
> > If we had a boot and root floppy /boot could fit on the boot floppy then
> > /libs and /bin (and /sbin, /usr/sbin, /usr/bin) might just squeeze onto
> > a root floppy with library reduction.
> 
> This is what I hope. Remember that the Hurd supports a compressed root
> filesystem. So you make your diskimage, gzip or bzip2 it, and then load it
> this way in serverboot.gz:
> 
I wasnt sure about this, now im sure it can be done.

> /hurd/ext2fs.static --bootflags=${boot-args} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -Tbunzip2:device ${root-device} $(task-create) $(prompt-task-resume)
> 
> Note the bunzip2, which can also be gunzip. Note the prompt-task-resume,
> which prompts for a key before trying to load the root filesystem (so a user
> can change the floppy).
> 
> I think ext2fs.static is loaded completely into memory, and you don't need
> it on the root fs. Same for ufs.static. What we need:
> 
> auth
> crash
> exec
> ext2fs      # to mount ext2 fs's
> fifo        # Not sure...
> ftpfs       # optional
> ifsock      # Not sure
> init
> isofs       # for CD fs
> magic       # device files
> nfs         # for nfs install
> null        # /dev/null
> password    # optional for root fs, as we are always root
> pfinet      # network
> pflocal     # pipes
> proc
> storeio     # block devices
> streamdev   # character devices (new)
> term
> ufs         # ufs, probably optional
> 
> > But then i asume the /hurd directory would be needed very early on...
> > this is what is causing me doubts.
> 
> Yes, we absolutely need those, but it IS doable. We also need ash. I almost
> squeezed the entire system (with bash, fileutils etc) on one root disk, so with
> ash and busybox, it should be possible to do it.
> 
> Thanks,
> Marcus
> 

Busybox now has a shell builtin, its nicknames LASH (Lame Ass SHell),
its very much in development, but it works and its small, fancy shell
scripts are likely to have problems though.

Looks like i have somthing to experiment with today !

Thanks

Glenn



Reply to: