qemu-arm
Installation
1. Download all required stuff and prepare the environment
1.1 eabi image
$ wget http://crux-arm.nu/releases/2.6/crux-arm-rootfs-2.6.tar.bz2
$ wget http://crux-arm.nu/files/devices/versatile/zImage-2.6.30.5
$ wget http://crux-arm.nu/files/devices/versatile/modules-2.6.30.5.tar.bz2
$ sudo tar -pxvjf modules-2.6.30.5.tar.bz2
1.2 noeabi image
$ wget http://crux-arm.nu/releases/2.6/crux-arm-rootfs-2.6-noeabi.tar.bz2
$ wget http://crux-arm.nu/files/devices/versatile/zImage-2.6.30.5-noeabi
$ wget http://crux-arm.nu/files/devices/versatile/modules-2.6.30.5-noeabi.tar.bz2
$ sudo tar -pxvjf modules-2.6.30.5-noeabi.tar.bz2
2. Create one hd image
$ qemu-img create hd.img 1G
$ mkfs.ext2 -F -m 0 -b 1024 hd.img
3. Mount the hd image and copy installation stuff to it
3.1 eabi image
$ sudo mount -o loop -t ext2 hd.img /mnt
$ sudo rm -rf /mnt/lost+found
$ sudo tar -C /mnt -pxvjf crux-arm-rootfs-2.6.tar.bz2
$ sudo mv modules-2.6.30.5/lib/* /mnt/lib/
3.2 noeabi image
$ sudo mount -o loop -t ext2 hd.img /mnt
$ sudo rm -rf /mnt/lost+found
$ sudo tar -C /mnt -pxvjf crux-arm-rootfs-2.6-noeabi.tar.bz2
$ sudo mv modules-2.6.30.5-noeabi/lib/* /mnt/lib/
4. Edit some files and umount the hd image
$ sudo vim /mnt/etc/fstab
$ sudo vim /mnt/etc/rc.conf
$ sudo umount /mnt
5. Finally you're ready to run CRUX-ARM on qemu
5.1 eabi image
$ qemu-system-arm -M versatilepb -kernel zImage-2.6.30.5 -hda hd.img -append "root=/dev/sda"
5.2 noeabi image
$ qemu-system-arm -M versatilepb -kernel zImage-2.6.30.5-noeabi -hda hd.img -append "root=/dev/sda"
Running qemu without X
1. Modify inittab:
$ sudo vim /mnt/etc/inittab
...
T0:23:respawn:/sbin/agetty -L ttyAMA0 9600 vt100
...
2. Add root login support without X
$ sudo vim /mnt/etc/securetty
...
ttyAMA0
...
3. Passing console option to qemu boot
3.1 eabi image
$ qemu-system-arm -nographic -M versatilepb -kernel zImage-2.6.30.5 -hda hd.img -append "root=/dev/sda console=ttyAMA0"
3.2 noeabi image
$ qemu-system-arm -nographic -M versatilepb -kernel zImage-2.6.30.5-noeabi -hda hd.img -append "root=/dev/sda console=ttyAMA0"