Alpine CoLinux - blinkkin/blinkkin.github.com GitHub Wiki
This is a from-scratch instruction on how to install Alpine Linux under coLinux on Windows.
Get the necessary files from colinux.org - download latest version of coLinux installer.
Run the installer (just go through the installation). I installed everything to c:\Program Files\coLinux , and will refer to it as if you do it the same way.
Download the latest version of Alpine Linux: alpinelinux.org/downloads. I recommend mini edition. coLinux supports only 32-bit platform, so we don't have much choice - pick up x86 version.
Copy Alpine Linux ISO e.g. alpine-mini-2.2.2-x86.iso to coLinux directory. We need also initrd image from CD, so extract grsec.gz (it's in boot directory) using 7-zip or other tool.
Now create some files. Start with alpine.bat, which should look like this:
start colinux-daemon -t nt @alpine-bootstrap.conf
Next one will be alpine-bootstrap.conf - our configuration file for coLinux. You can use this as skeleton:
# Configuration to run Alpine Linux under coLinux # Standard coLinux kernel kernel=vmlinux # Alpine Linux boot initrd file # This option *MUST* be removed after Linux was installed to boot from hda1 ! initrd=grsec.gz alpine_dev=hdc:iso9660 # Root file system (Empty file, 700MB...1GB) hda1=alpine-root.fs #root=/dev/hda1 # Swap file (Empty file, 64MB...256MB) #hda2=alpine-swap.fs # Downloaded ISO file (unchanged) hdc=alpine-mini-2.2.2-x86.iso # Windows directory with kernel modules #cofs0=cofs0 # Optional settings (memory and network) mem=256 eth0=tuntap,"coLinux" # Terminal size #cocon=140x60
Right now we are messing few thing, mainly disk images. You can create them using fsutil. Launch Command Prompt, switch to coLinux directory, create alpine-root.fs and alpine-swap.fs.
fsutil file createnew alpine-root.fs 1610612736 fsutil file createnew alpine-swap.fs 268435456
This will create 1.5GB image for root file system and 258MB file for swap. Values are in bites, you can use bit calculator to calculate different sizes.
Now we're ready to launch Alpine coLinux for first time, use apline.bat for that. Alpine should load, login as root and start configuration.
setup-alpine
Next we will create ext3 partition on alpine-root.fs, we need e2fsprogs for that.
apk add e2fsprogs mkfs.ext3 /dev/hda1 apk del e2fsprogs
Mount newly created partition and start disk installation, switch off Alpine after installation.
mount /dev/hda1 /mnt setup-disk /mnt poweroff
Some fixes in alpine-bootstrap.conf are needed. Comment out ISO and initrd images. Uncomment root path, alpine-swap.fs and cofs0. Create folder cofs0 and copy there kernel modules from coLinux e.g. vmlinux-modules.tar.gz. Start Alpine coLinux once again.
First thing you will notice is lack of console at boot time, fix this:
mount --bind / /mnt cd /mnt/dev mknod -m 660 console c 5 1 umount /mnt
Get rid of other boot warnings:
vi /etc/mdev.conf uncomment 1st console entry comment out 2nd console entry vi /etc/sysctl.conf del net.ipv4.tcp_syncookies vi /etc/modules remove everything vi /etc/apk/repositories del /media/hdc/apks
Create swap:
mkswap /dev/hda2 swapon /dev/hda2 vi /etc/fstab add /dev/hda2 swap swap default 0 0
Add swap service and remove acpid:
rc-update add swap rc-update del acpid
Copy kernel modules from cofs0:
mount cofs0 -t cofs /mnt cd / tar xzvf /mnt/vmlinux-modules.tar.gz
Last step to enjoying Apline coLinux is simple:
reboot
Alpine Linux is booting so fast, I had to add "sleep 2" to /etc/init.d/networking - coLinux didn't connect to TAP interface in time ;)
TODO
coLinux with framebuffer (cofb) is probably fastest, when it comes to getting working Xorg. Download cofb build (don't use version 20100920 - it's broken and version 20100825 is unstable) and try getting something like this.
I recommend using ssh as fallback, when something goes wrong.
fbcon is compiled in kernel, so we don't need module loading:
vi /etc/mdev.conf del @modprobe fbcon
Additional options in alpine-bootstrap.conf:
# Framebuffer settings video=cofb:1024x768x32 cofb_mem0=4096