project: d.r.e.a.m
This documentation is no longer maintained.
It may be out of date, or simply wrong. I will leave it online, as long
as it think it may still be useful.
Install CRUX into an UML
A short and dense HOWTO for installing CRUX into an UML
-
Get
UML Kernel and utilities, install them
- fetch linux-2.4.20.tar.bz2 (or gz)
- untar it (to your homedir)
- chdir to it
-
fetch uml patch for your kernel
- bzcat uml-patch-2.4.20-1.bz2 | patch -p1
- make ARCH=um menuconfig
you can also use make ARCH=um {x,}config
be sure to enable tmpfs here!
- make ARCH=um dep linux
- sudo cp linux /usr/local/bin
- fetch
and install uml_tools
make
sudo make install
- Fetch CRUX iso image and docs
- Create Block Device for UML root fs
dd if=/dev/zero of=root_fs bs=10M count=100
1000MiB is a good size for the start
- Boot and install CRUX
linux mem=192m ubd0=crux-1.0.iso ubd1=root_fs
- Follow the CRUX main documentation, leave away kernel compilation, bootloader installation
- Shutdown the uml, after finishing installation so far (CRUX base installed)
- Create a tun/tap device for communication with the net: (on the host)
- sudo tunctl -u 1000 # replace 1000 with your own user id
- sudo ifconfig tapX 1.2.3.4 netmask 255.255.255.255 up
- sudo ip ro add 1.2.3.5/32 dev tapX # this is going to be the adress of your uml
- sudo sysctl -w net.ipv4.ip_forward=1
- sudo sysctl -w net.ipv4.conf.default.proxy_arp=1
- sudo sysctl -w net.ipv4.conf.all.proxy_arp=1
- chmod 666 /dev/net/tun
- boot into your fresh CRUX install
linux ubd0=root_fs eth0=tuntap,tapX
- Finish network setup (edit /etc/rc.d/net, /etc/resolv.conf)
- enjoy