#!/bin/bash # # Script to complete the post-install process on first FBX boot. ### BEGIN INIT INFO # Provides: first-run # Default-Start: 1 2 # Required-Start: 2 # Required-Stop: # Default-Stop: # Short-Description: Finish FBX install on DreamPlug ### END INIT INFO function tweak-kernel { # Update the kernel unless requested otherwise. if [ -e /var/freedombox/dont-tweak-kernel ] then rm /var/freedombox/dont-tweak-kernel else kernel_version="$(/bin/ls $mountpoint/boot/vmlinuz-*-kirkwood | sort -rn | head -n1 | sed s#$mountpoint/boot/vmlinuz-##)" mount -t proc proc /proc flash-kernel $kernel_version umount /proc fi } function wifi-ap-setup { # configure wireless access point with spinifex's prebuilt firmware echo "Sleeping 30s for DHCP" sleep 30 # wait for dhcp echo "Installing UAP Firmware." wget -O /tmp/marvell_wifi_firmware.tar.gz http://www.spinifex.com.au/plugs/downloads/dreamplug/marvell_wifi_firmware.tar.gz tar -C /tmp -zxf /tmp/marvell_wifi_firmware.tar.gz mkdir -p /lib/firmware/mrvl cp /tmp/lib/firmware/mrvl/* /lib/firmware/mrvl } function create-keys { echo "Creating Keys." echo "Creating SSH keys." rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server echo "Need to create other keys." # gpg --batch --gen-key # see http://lists.gnupg.org/pipermail/gnupg-users/2003-March/017376.html } function remove-self { rm -f /etc/init.d/first-run rm -f /etc/rc1.d/S01first-run rm -f /etc/rc2.d/S01first-run rm /etc/init.d/first-run rm /etc/rc1.d/S01first-run rm /etc/rc2.d/S01first-run } create-keys # wifi-ap-setup # the last things we do before quitting. tweak-kernel remove-self echo "Kernel flashed. Rebooting." reboot