#!/bin/sh # This code is covered by the GNU General Public License (GPLv2 or higher) NVRAM=$(which nvram) FW_PRINTENV=$(which fw_printenv) path=$(mount | grep ext2 | sed -n '/sda1/ {s/\/dev\/sda1 on \(.*\) type.*/\1/; p}') if [ -z "$path" ]; then echo "You have to create an ext2 filesystem on /dev/sda1" exit 1 fi if [ ! -e $path/uImage.buffalo ]; then echo "You have to download the uImage.buffalo file from the debian-installer for Kurobox Pro, and put it in $path" exit 1 fi if [ ! -e $path/initrd.buffalo ]; then echo "You have to download the initrd.buffalo file from the debian-installer for Kurobox Pro, and put it in $path" exit 1 fi if [ -n "$NVRAM" ]; then PRINTENV="$NVRAM -c printenv" SETENV="$NVRAM -c set" elif [ -n "$FW_PRINTENV" ]; then if [ -z "$(which fw_setenv)" ]; then echo "Program fw_setenv not found, cannot modify U-Boot environment..." exit 1 elif [ ! -f /etc/fw_env.config ]; then echo "Configuration file for fw_printenv not found." exit 1 else PRINTENV=$FW_PRINTENV SETENV=$(which fw_setenv) fi else echo "No tool found for modifying U-Boot environment..." exit 1 fi printf "Saving U-Boot environment to ubootenv.bak... " $PRINTENV > ubootenv.bak echo "done." echo "Changing U-Boot environment... " $SETENV bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)' echo "done." echo "Please reboot your Kurobox Pro."