uImage/uInitrd für die Dockstar
Für Leute, die ihre Dockstar mit dem Bootstrap-Script von Jeff Doozan installiert haben, habe ich hier ein dreckiges Script, das passende Images aus den Kernel/Initrd-Dateien in /boot erzeugt.
Das muss jetzt nach jedem Kernel-Upgrade aufgerufen werden. Ich weiss noch nicht genau, was der beste Weg ist, um das zu automatisieren.
Bitte vorher lesen und ggf reparieren, bevor es ausgefuehrt wird:
#!/bin/bash
# find all kernel and initrd images, create uboot header with dockstar-specific
# information - the name "uImage" is needed if you installed with jeff's script
for kernel in `find /boot/ -name "vmlinuz*" | sort | sed 's#/boot/vmlinuz-##'`
do
echo "creating uimage for $kernel"
mkimage -A arm -O linux -T kernel -C none \
-a 0x00008000 -e 0x00008000 -n uImage \
-d /boot/vmlinuz-${kernel} /boot/uImage-${kernel} > /dev/null
done
for initrd in `find /boot/ -name "initrd.img*" | sort | sed 's#/boot/initrd.img-##'`
do
echo "creating uinitrd for $initrd"
mkimage -A arm -O linux -T ramdisk -C gzip \
-a 0x00000000 -e 0x00000000 -n initramfs \
-d /boot/initrd.img-${initrd} /boot/uInitrd-${initrd} > /dev/null
done
# since find was sorted the last values should be the most recent files
echo "updating symbolic links in /boot/"
ln -is /boot/uImage-${kernel} /boot/uImage
ln -is /boot/uInitrd-${initrd} /boot/uInitrd
show_err(){
echo "there is no correct uImage or uInitrd in /boot"
echo "something went horribly wrong, please repair o.O"
exit 1
}
# simple check for sane uImage and uInitrd
mkimage -l /boot/uImage >/dev/null 2>/dev/null || show_err
mkimage -l /boot/uInitrd >/dev/null 2>/dev/null || show_err
echo "success"
exit 0