diff options
-rw-r--r-- | Makefile | 9 | ||||
m--------- | fsmgr | 0 | ||||
-rwxr-xr-x | src/initrd.sh | 14 |
3 files changed, 12 insertions, 11 deletions
@@ -68,8 +68,15 @@ rootfs: | |||
68 | sudo mkdir -p /srv/nbd | 68 | sudo mkdir -p /srv/nbd |
69 | sudo ln -sf "$$PWD"/rootfs/samizdat.btrfs /srv/nbd/samizdat.btrfs | 69 | sudo ln -sf "$$PWD"/rootfs/samizdat.btrfs /srv/nbd/samizdat.btrfs |
70 | 70 | ||
71 | define get_kernel_version | ||
72 | grep '^ii linux-image-amd64' rootfs/_build/samizdat.pkgs.txt | \ | ||
73 | (read _ pkg ver _; apt-cache show $$pkg=$$ver) | \ | ||
74 | grep Depends | \ | ||
75 | (read _ a; echo $${a#linux-image-}) | ||
76 | endef | ||
77 | |||
71 | boot: rootfs | 78 | boot: rootfs |
72 | sudo qemu.sh | 79 | sudo kernel_version=$$($(get_kernel_version)) qemu.sh |
73 | 80 | ||
74 | reuse_child := $(shell 2>/dev/null read child < reused-child && echo --reuse_child=$$child; true) | 81 | reuse_child := $(shell 2>/dev/null read child < reused-child && echo --reuse_child=$$child; true) |
75 | 82 | ||
diff --git a/fsmgr b/fsmgr | |||
Subproject 421134b9ad83e8e63eac2ecdf208e97404af5fb | Subproject b16f32f48c0555c9007225f3028fc5a0e25ac85 | ||
diff --git a/src/initrd.sh b/src/initrd.sh index 802e4ac..b99aa4e 100755 --- a/src/initrd.sh +++ b/src/initrd.sh | |||
@@ -7,14 +7,6 @@ vmlinuz=${samizdat_linux_dir}/vmlinuz | |||
7 | conf_dir=$samizdat_initramfs_conf_dir | 7 | conf_dir=$samizdat_initramfs_conf_dir |
8 | apt_dependencies=$samizdat_initrd_files_dir/initrd-dependencies.txt | 8 | apt_dependencies=$samizdat_initrd_files_dir/initrd-dependencies.txt |
9 | 9 | ||
10 | for kernel_package in linux-image-rt-amd64 linux-image-amd64 | ||
11 | do | ||
12 | kernel_package_version=$(apt-cache policy $kernel_package | sed -ne 's/ *Installed: //p') | ||
13 | real_kernel_package=$(apt-cache show $kernel_package=$kernel_package_version | sed -n 's/^Depends: //p') | ||
14 | version=${real_kernel_package#linux-image-} | ||
15 | [ -e "/boot/vmlinuz-${version}" ] && break | ||
16 | done | ||
17 | |||
18 | find_source_dirs() { | 10 | find_source_dirs() { |
19 | find "$conf_dir" "$samizdat_initrd_files_dir" "$@" | 11 | find "$conf_dir" "$samizdat_initrd_files_dir" "$@" |
20 | } | 12 | } |
@@ -30,10 +22,12 @@ rebuild() | |||
30 | [ ! -f "$apt_dependencies" ] || sudo apt-get install -q=10 --no-upgrade -y $(cat "$apt_dependencies") | 22 | [ ! -f "$apt_dependencies" ] || sudo apt-get install -q=10 --no-upgrade -y $(cat "$apt_dependencies") |
31 | 23 | ||
32 | set -ex | 24 | set -ex |
33 | cp -f /boot/vmlinuz-"${version}" "$vmlinuz" | 25 | cp -f /boot/vmlinuz-"${kernel_version}" "$vmlinuz" |
34 | /usr/sbin/mkinitramfs -d "$conf_dir" -o "$initrd" "${version}" || force_rebuild | 26 | /usr/sbin/mkinitramfs -d "$conf_dir" -o "$initrd" "${kernel_version}" || force_rebuild |
35 | } | 27 | } |
36 | 28 | ||
29 | [ "$kernel_version" ] | ||
30 | |||
37 | if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then | 31 | if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then |
38 | rebuild | 32 | rebuild |
39 | elif [ "$(find_source_dirs -newer "$initrd" -print -quit)" ]; then | 33 | elif [ "$(find_source_dirs -newer "$initrd" -print -quit)" ]; then |