summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Kenna <cjk@cs.unc.edu>2012-09-18 16:51:14 -0400
committerChristopher Kenna <cjk@cs.unc.edu>2012-09-18 16:51:14 -0400
commit6e3159375067bda18368f3948a4df36659bc1a43 (patch)
treed6da06c8c69498d9518f80e5299639494b733d10
parentedd61754d546ca105b523b4c1c6a8b00ae075d9c (diff)
Add PandaBoard scripts.
-rw-r--r--panda-boot-sample.script4
-rwxr-xr-xpanda-install-kernel.sh83
2 files changed, 87 insertions, 0 deletions
diff --git a/panda-boot-sample.script b/panda-boot-sample.script
new file mode 100644
index 0000000..4f822ab
--- /dev/null
+++ b/panda-boot-sample.script
@@ -0,0 +1,4 @@
1 fatload mmc 0:1 0x80000000 uImage-litmus
2 fatload mmc 0:1 0x81600000 uInitrd-litmus
3 setenv bootargs ro elevator=noop vram=40M mem=456M@0x80000000 mem=512M@0xA0000000 root=UUID=1c7e7b13-56b8-430a-aed1-50ee431e84c2 fixrtc console=ttyO2,115200n8
4 bootm 0x80000000 0x81600000
diff --git a/panda-install-kernel.sh b/panda-install-kernel.sh
new file mode 100755
index 0000000..2f20990
--- /dev/null
+++ b/panda-install-kernel.sh
@@ -0,0 +1,83 @@
1#!/bin/sh
2
3set -e
4
5error() {
6 echo "$@" >&2
7 exit 1
8}
9
10# The FAT u-boot bootloader partition.
11UBOOT_PART=/dev/mmcblk0p1
12
13# Build host for ARM.
14HOST="pound.cs.unc.edu"
15
16if [ $# -ne 3 ] ; then
17 error "Usage: `basename $0` <VERSION> <REMOTE KDIR> <BOOT-SCRIPT>"
18fi
19
20VERSION=$1
21SRC_ROOT=$2
22SCRIPT_NAME=$3
23
24if [ ! -f "$SCRIPT_NAME" ] ; then
25 error "Boot script not a file: $SCRIPT_NAME"
26fi
27
28TMP_DIR=$(mktemp -d)
29TMP_MOUNT=$(mktemp -d)
30
31ZIMAGE_NAME="zImage-litmus"
32UIMAGE_NAME="uImage-litmus"
33CONFIG_NAME="config-$VERSION"
34INITRD_NAME="uInitrd-litmus"
35SCR_NAME="boot-litmus.scr"
36
37echo "Fetching files from $HOST ..." >&2
38rsync -P cjk@$HOST:$SRC_ROOT/arch/arm/boot/zImage $TMP_DIR/$ZIMAGE_NAME
39rsync -P cjk@$HOST:$SRC_ROOT/.config $TMP_DIR/$CONFIG_NAME
40echo "done." >&2
41
42echo "Generating kernel u-boot image..." >&2
43mkimage -A arm -O linux -T kernel -C none -a 0x80008000 \
44 -e 0x80008000 -d $TMP_DIR/$ZIMAGE_NAME $TMP_DIR/$UIMAGE_NAME >&2
45echo "done." >&2
46
47echo "Generating u-boot configuration ... " >&2
48mkimage -A arm -T script -C none -d "$SCRIPT_NAME" $TMP_DIR/$SCR_NAME >&2
49echo "done." >&2
50
51echo "Moving vmlinuz and config fils to /boot ..." >&2
52sudo cp $TMP_DIR/$ZIMAGE_NAME /boot/vmlinuz-$VERSION
53sudo cp $TMP_DIR/$CONFIG_NAME /boot/
54echo "done." >&2
55
56echo "Creating initramfs (ignore module errors) ... " >&2
57sudo update-initramfs -k $VERSION -c
58echo "done." >&2
59
60echo "Making u-boot initrd image ... " >&2
61mkimage -A arm -O linux -T ramdisk -C none -a 0x0 -e 0x0 \
62 -d /boot/initrd.img-$VERSION $TMP_DIR/$INITRD_NAME >&2
63echo "done." >&2
64
65echo "Mounting u-boot partition ..." >&2
66sudo mount $UBOOT_PART $TMP_MOUNT
67echo "done." >&2
68
69echo "Copying files to u-boot partition ..." >&2
70sudo cp $TMP_DIR/$UIMAGE_NAME $TMP_MOUNT/
71sudo cp $TMP_DIR/$SCR_NAME $TMP_MOUNT/
72sudo cp $TMP_DIR/$INITRD_NAME $TMP_MOUNT/
73echo "done." >&2
74
75echo "Unmounting u-boot partition ..." >&2
76sudo umount $TMP_MOUNT
77echo "done." >&2
78
79echo "Removing temporary files ..." >&2
80rm -rf $TMP_DIR $TMP_MOUNT
81echo "done." >&2
82
83echo "All done!" >&2