#!/bin/sh # # The disk must be already partitioned at this stage. TOPDIR="$PWD" ARCH=i386 FLASH_DEVICE=/dev/sdb if [ -d /nfsroot/uCgentoo ]; then LINUX_KERNEL=/nfsroot/uCgentoo/usr/src/linux/arch/${ARCH}/boot/bzImage else LINUX_KERNEL=/usr/src/linux/arch/${ARCH}/boot/bzImage fi # make || exit 1 fdisk -l ${FLASH_DEVICE} mkdir -p ./mnt/loop mkdir -p ./mnt/flash cd ./mnt if [ 1 == 1 ]; then echo -e "\e[1;36m *\e[0m Making flash" mke2fs ${FLASH_DEVICE}1 mke2fs ${FLASH_DEVICE}2 echo -e "\e[1;36m *\e[0m Tuning fs" tune2fs -c 0 -i 0 ${FLASH_DEVICE}1 tune2fs -c 0 -i 0 ${FLASH_DEVICE}2 fi echo -e "\e[1;36m *\e[0m Mounting flash, root_fs_${ARCH}" mount ${FLASH_DEVICE}2 flash || exit 1 mkdir -p flash/boot mount ${FLASH_DEVICE}1 flash/boot || exit 1 ls -l ../root_fs_${ARCH} ./ mount ../root_fs_${ARCH} loop -o loop,ro || exit 1 cp -a loop/* flash/ || exit 1 [ -f ${LINUX_KERNEL} ] && \ ( cp ${LINUX_KERNEL} flash/boot/ || \ echo -e "\e[1;31m * Could not copy image\e[0m " ) ########### Boot Loader ######### mkdir -p flash/{dev,proc} if false ; then echo -e "\e[1;36m *\e[0m Copying sda nods" f0=$(readlink ${FLASH_DEVICE}) f1=$(readlink ${FLASH_DEVICE}1) f2=$(readlink ${FLASH_DEVICE}2) echo f=$f0 f1=$f1 f2=$f2 cp -a /dev/$f0 flash${FLASH_DEVICE} cp -a /dev/$f1 flash${FLASH_DEVICE}1 cp -a /dev/$f2 flash${FLASH_DEVICE}2 fi echo -e "\e[1;36m *\e[0m Calling bootloader" sed -i -e s:'/dev/sdb':${FLASH_DEVICE}:g flash/etc/lilo.conf chroot flash/ /sbin/lilo -C /etc/lilo.conf ################################### if [ -e /usr/bin/dropbearkey ] ; then echo -e "\e[1;36m *\e[0m Setting up dropbear sshd keys" /usr/bin/dropbearkey -t rsa -f flash/etc/dropbear/dropbear_rsa_host_key /usr/bin/dropbearkey -t dss -f flash/etc/dropbear/dropbear_dss_host_key else echo "Skipping making keys for dropbear" fi echo -e "\e[1;36m *\e[0m Setting root passwd" chroot flash/ passwd root #echo -e "\e[1;36m *\e[0m Locking default passwd" #chroot flash/ passwd -l default chroot flash/ du -hcs / ################################### echo -e "\e[1;36m *\e[0m Unmounting" umount flash/boot umount flash umount loop sync echo -------------------- echo -e "\e[1;32m *\e[0m done..."