File: make-arm-initrd.sh

package info (click to toggle)
cowdancer 0.90
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 648 kB
  • sloc: ansic: 4,593; sh: 407; makefile: 142; cpp: 5
file content (36 lines) | stat: -rwxr-xr-x 1,072 bytes parent folder | download | duplicates (9)
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
#!/bin/bash
# prototype to create initrd for arm.
set -o pipefail
set -e
rm -rf .initrd-arm
mkdir .initrd-arm || true
(
for DIR in etc root proc dev dev/pts mnt; do
    echo "mkdir .initrd-arm/$DIR"
done
for DEBS in arm/*.deb; do
    echo "dpkg -x $DEBS .initrd-arm"
done
for DEV in "dev/sda b 8 0" "dev/sdb b 8 16"; do
    echo "mknod .initrd-arm/${DEV}"
done
echo "cp ./quick-arm-init.sh .initrd-arm/init"
echo "chmod a+x .initrd-arm/init"
echo "mv .initrd-arm/lib/modules/{2.6.26-2-versatile,linux-live}"
echo "touch .initrd-arm/etc/fstab"
echo "(cd .initrd-arm && find . | cpio -H newc -o | gzip -9 > ../initrd.arm.gz.tmp)"
# for debugging
# echo "find .initrd-arm/ -ls"
echo "ls -l .initrd-arm/dev"
) | fakeroot
mv initrd.arm.gz.tmp initrd.arm.gz

# this requires base-armel.qemu image accessible from user
qemu-system-arm -kernel .initrd-arm/boot/vmlinuz-2.6.26-2-versatile \
    -hda ~/tmp/base-armel.qemu \
    -hdb /dev/zero \
    -initrd ./initrd.arm.gz \
    -serial stdio \
    -append "console=ttyAMA0 pbuilderarch=armel init=/bin/bash" \
    -M versatilepb