DragonFly kernel List (threaded) for 2007-01
DragonFly BSD
DragonFly kernel List (threaded) for 2007-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

VKernel progress update

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 6 Jan 2007 22:05:55 -0800 (PST)

    I'm making very good progress.  The virtual kernel is able to boot
    all the way through to where it mounts the root filesystem and then
    tries to load init.  It is able to find the init binary and start
    loading it before it crashes and burns :-)

    BTW, if anyone wants to fool around or follow my progress, here are
    the instructions for building and using a virtual kernel.  Remember
    that it is going to crash and burn... it's aint ready for prime time

    (1) You have to be running the absolute latest HEAD and you have to
	enable virtual kernel operation with a sysctl, and create 
	/var/vkernel to hold miscellanious files.

	sysctl vm.vkernel_enable=1
	mkdir /home/var.vkernel
	ln -s /home/var.vkernel /var/vkernel

    (2) Construct a root filesystem image.  Create a disk file and use
	vnconfig to initialize it:

	dd if=/dev/zero of=/var/vkernel/rootimg.01 bs=1m count=2048
	vnconfig -c -s labels vn0 /var/vkernel/rootimg.01
	disklabel -r -w vn0 auto
	(edit the label to create a vn0a partition)
	newfs /dev/vn0a
	mount /dev/vn0a /mnt
	cpdup / /mnt
	umount /mnt
	vnconfig -u vn0

    (3) Compile and run the virtual kernel binary, and watch the fireworks.

	cd /usr/src
	make buildkernel KERNCONF=VKERNEL
	cd /usr/obj/usr/src/sys/VKERNEL
	./kernel.debug -m 64m -r /var/vkernel/rootimg.01

    I am fairly confident now that I will be able to get the virtual kernel
    to the point where it can run its own user processes by the time we 

    I have created a /usr/src/sys/dev/virtual infrastructure for device
    drivers, and written a poor-man's virtual disk driver. 

    We need a pseudo network driver written (but of course it won't be
    possible to test it until I am able to boot the virtual kernel all
    the way through to a login: prompt).


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