summaryrefslogtreecommitdiff
path: root/src/initrd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/initrd.sh')
-rwxr-xr-xsrc/initrd.sh59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/initrd.sh b/src/initrd.sh
deleted file mode 100755
index 2ec278d..0000000
--- a/src/initrd.sh
+++ /dev/null
@@ -1,59 +0,0 @@
1#!/bin/sh
2
3. samizdat-paths.sh
4
5if [ -d "$1" ]
6then
7 samizdat_linux_dir=$1
8fi
9
10initrd=${samizdat_linux_dir}/initrd.img
11vmlinuz=${samizdat_linux_dir}/vmlinuz
12
13conf_dir=$samizdat_initramfs_conf_dir
14
15get_kernel_version()
16{
17 local pkgs_file="$1"
18 egrep '^ii linux-image-(amd64|686)' "$pkgs_file" |
19 (read _ pkg ver _; apt-cache show "$pkg=$ver") |
20 grep Depends |
21 (read _ a; echo ${a#linux-image-})
22}
23
24pkgs_file=rootfs/_build/${rootfs:-samizdat}.pkgs.txt
25
26[ -f "$pkgs_file" ] || exit
27
28kernel_version=$(get_kernel_version rootfs/_build/${rootfs:-samizdat}.pkgs.txt)
29
30[ "$kernel_version" ] || exit
31
32debian_initrd=/boot/initrd.img-${kernel_version}
33
34find_deps() {
35 find "$conf_dir" "$samizdat_initrd_files_dir" "$debian_initrd" "$@"
36}
37
38force_rebuild()
39{
40 touch "$conf_dir"
41 return 1
42}
43
44rebuild()
45{
46 set -ex
47 cp -f /boot/vmlinuz-"${kernel_version}" "$vmlinuz"
48 /usr/sbin/mkinitramfs -d "$conf_dir" -o "$initrd" "${kernel_version}" || force_rebuild
49}
50
51if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then
52 rebuild
53else
54 found=$(find_deps -newer "$initrd" -print -quit)
55 if [ "$found" ]; then
56 echo "initrd.sh: rebuild forced: found modified source: $found" >&2
57 rebuild
58 fi
59fi