aboutsummaryrefslogtreecommitdiffstats
path: root/freedom-maker/source/etc/init.d/first-run
blob: 8df2c2d1f7177518a32a64019b167b58d45d494d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/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