Derzeit ist ein 2.6.30er kernel mit passendem Patch linux-2.6.30-geu09.patch.txt verfügbar.
Update: 3.5.4er Kernel - kann noch zu spontaner Selbstentzündung führen, läuft aber sonst stabil. linux-3.5.4-mr1002.patch.txt
Debian kann man wie folgt auf den WRS bringen: Auf einem bestehenden Debian-Linux (Architektur egal) wird mit debootstrap ein File-System-Image für die armel-Architektur erstellt:
debootstrap --foreign --arch=armel squeeze /tmp/debian
Danach liegt ein rudimentäres Dateisytstem in /tmp/debian. Auf diesem müssen jetzt noch auf einem ARM-System (z.B. Dockstar) die Post-Install-Routinen ausgeführt werden, die durch –foreign unterdrückt wurden.
Wir benötigen einen USB-Stick mit zwei Partitionen, da der uboot nur vfat-Partitionen einlesen kann, um den Kernel zu laden. Für das eigentliche Dateisystem verwenden wir ext3 (das sollte man idealer Weise dann auch in den Kernel fest einkompilieren, da wir keine Init-Ramdisk verwenden *hust*). Das vorbereitete Dateisystem übertragen wir auf die EXT3-Partition und mounten diese auf die Dockstar.
chroot /mnt/ /bin/bash debootstrap --second-stage
Jetzt kann man sich erst mal einen Kaffee machen - das dauert etwas.
Das uImage für den Kernel legen wir auf die vfat-Partition. Am Dateisystem müssen noch zwei kleine Anpassungen vorgenommen werden: In der etc/shadow muss root der Login ermöglicht werden und in etc/inittab muss der getty für ttyS0 eingeschaltet werden:
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
Jetzt kann aus uboot heraus debian über den USB-Stick gebootet werden:
usb start fatload usb 0:1 0x21000000 uimage setenv bootargs mem=32M console=ttyS0,115200 mtdparts=atmel_nand:8M(kernel),-(rootfs) ubi.mtd=kernel ubi.mtd=rootfs root=/dev/sda2 rootfstype=ext3 rootdelay=10 bootm 0x21000000
Mucross ist eine (kostenflichtige) Distribution der Firma kernel concepts aus Siegen. Kostenpflichtig ist dabei die Toolchain und der Zugang zum opkg repository. Die erzeugten Programme und File-Systems können kostenfrei und als open Source weiter gegeben werden. m2m Germany hat eine passende Lizenz.
mv: overwrite '/etc/udev/saved.uname'?
Dies kann man wie folgt abschalten:
yes
bestätigenroot
, root
mount -o remount,rw /
/etc/default/udev
editieren: DEVCACHE="/etc/dev.tar"
ändern zu
#DEVCACHE="/etc/dev.tar"
/etc/init.d/dropbear
editieren (Der Schritt kann wahrsch. entfallen):readonly_rootfs=0 for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in F case $flag in ro) readonly_rootfs=1 ;; esac done
ändern zu
readonly_rootfs=1 #for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in F # case $flag in # ro) # readonly_rootfs=1 # ;; # esac #done
/etc/fstab
editieren und root-filesystem rw mounten lassen statt ro/etc/fstab
editieren und root-filesystem wieder ro mounten lassen statt rwmicrocom -s 115200 /dev/ttyS2