GuruPlug Kernel¶
GuruPlug Server Plus Kernel Notes
Kernel Sources¶
- Kernel sources: linux-2.6.33.3.tar.bz2
- Kernel patches: Guruplug-patchset-2.6.33.2.tar.bz2
Compile¶
- PlugWiki:Re-building_the_kernel_and_U-Boot
- on another Debian GNU/Linux (Squeeze) arm machine (a QNAP TS-219)
- should also work with a cross-compiler
make guruplug_config make menuconfig make-kpkg kernel_image kernel_headers make uImage
Note: a suitable Kernel image can be downloaded below.
Installation¶
- PlugWiki:Reflashing_images_on_the_GuruPlug
- in u-boot
uImage
on tftp server on another machine, that has also a rarpd running (Debian packagestftpd
,rarpd
, file/srv/tftp/uImage
, and/etc/ethers
with the MAC and IP addresses of the plug)
Testing¶
- load the image into RAM, and boot into a bash
rarp 0x6400000 uImage setenv bootargs console=ttyS0,115200 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs init=/bin/bash bootm 0x6400000
Production¶
- boot into the system using a known running kernel (the shipped one) and install the linux-image and linux-headers
.deb
packages (see Downloads below), then reboot and go into u-boot - load image into RAM, save it to the flash, and boot the system
- Debian on partition 4 of the SD card:
rarp 0x6400000 uImage nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 setenv bootargs 'console=ttyS0,115200 rootwait root=/dev/sdb4' saveenv boot
Here’s a dump of my u-boot environment variables:
GuruPlug>> printenv bootdelay=3 baudrate=115200 ethact=egiga0 ethaddr=00:50:43:01:82:38 eth1addr=00:50:43:01:82:39 bootargs_old=console=ttyS0,115200 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs bootargs=console=ttyS0,115200 rootwait root=/dev/sdb4 bootcmd=nand read.e 0x6400000 0x100000 0x400000; bootm 0x6400000; stdin=serial stdout=serial stderr=serial
Download¶
- guruplug-linux-2.6.33.3flipflip.tar.gz (14MiB) – built on Debian Squeeze
- Installation on Debian Squeeze:
dpkg -i *deb
- Installation on Debian Lenny:
dpkg -i --force-all *deb
- Installation on Debian Squeeze:
Advanced¶
- Using a kernel image and an initrd image would be nice.
- The kernel flash partition is too small (4MiB)
- Kernel image: ~2.5 MiB
- initrd image: ~3.5 MiB
mkimage -n linux-2.6.33.3flipflip -A arm -O linux -T kernel -C none -a 0x000800000 -d /boot/vmlinuz-2.6.33.3flipflip /boot/uImage sed -i '/MODULES/s/most/dep/' /etc/initramfs-tools/initramfs.conf update-initramfs -v -c -k 2.6.33.3flipflip mkimage -n '2.6.33.3flipflip initrd' -A arm -O linux -T ramdisk -C none -a 0x01100000 -d /boot/initrd.img-2.6.33.3flipflip /boot/uInitrd
And then boot using something like this:
setenv bootargs console=ttyS0,115200 rootwait root=/dev/sdc4 setenv bootcmd 'usb start; ext2load usb 1:4 0x1100000 /boot/uInitrd; ext2load usb 1:4 0x0800000 /boot/uImage; bootm 0x000800000 0x01100000;' boot
See also¶
- http://sheeva.with-linux.com/sheeva – Kernels for the SheevaPlug (and GuruPlug?)
created: 2010-05-18, updated: 2015-09-16