blob: d171bdf649cb8db5dcb724eecc4ec747dfff5eb8 (
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
|
#!/bin/sh
#
# this script assumes the current root filesystem is the source, and the
# internal microSD on a DreamPlug is the target .. all existing content on
# the microSD card will be lost.
#
# partition microSD card inside DreamPlug
echo "=> partition internal microSD card"
parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary fat16 0 128
parted -s /dev/sda mkpart primary ext2 128 100%
# create filesystems on new partitions
echo "=> create filesystems on internal microSD card"
mkdosfs /dev/sda1
mke2fs -j /dev/sda2
echo "=> mount target partitions"
mount /dev/sda2 /media
mkdir -p /media/boot
mount /dev/sda1 /media/boot
echo "=> copy filesystem content from USB stick to target partitions"
(cd / ; tar cpSf - `/bin/ls | grep -v boot | grep -v proc | grep -v sys | grep -v media | grep -v dev`) | (cd /media ; tar xpf -)
# the following intentionally ignores subdirectories
cp /boot/* /media/boot/
echo "=> touch up target root partition"
mkdir /media/proc /media/sys /media/media /media/dev
mknod /media/dev/console c 5 1
mknod /media/dev/random c 1 8
mknod /media/dev/urandom c 1 9
mknod /media/dev/null c 1 3
mknod /media/dev/ptmx c 5 2
# patch up /etc/fstab entry for /boot
sed -e 's/sdb/sda/g' < /etc/fstab > /media/etc/fstab
# flash the kernel and create the device's keys
chroot /media /etc/init.d/first-run
echo "unmount target partitions"
umount /dev/sda1
umount /dev/sda2
echo "=> installation complete, see docs to boot from internal microSD"
|