summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile9
m---------fsmgr0
-rwxr-xr-xsrc/initrd.sh14
3 files changed, 12 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 0a174e2..00ae4b5 100644
--- a/Makefile
+++ b/Makefile
@@ -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
71define get_kernel_version
72grep '^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-})
76endef
77
71boot: rootfs 78boot: rootfs
72 sudo qemu.sh 79 sudo kernel_version=$$($(get_kernel_version)) qemu.sh
73 80
74reuse_child := $(shell 2>/dev/null read child < reused-child && echo --reuse_child=$$child; true) 81reuse_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
7conf_dir=$samizdat_initramfs_conf_dir 7conf_dir=$samizdat_initramfs_conf_dir
8apt_dependencies=$samizdat_initrd_files_dir/initrd-dependencies.txt 8apt_dependencies=$samizdat_initrd_files_dir/initrd-dependencies.txt
9 9
10for kernel_package in linux-image-rt-amd64 linux-image-amd64
11do
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
16done
17
18find_source_dirs() { 10find_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
37if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then 31if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then
38 rebuild 32 rebuild
39elif [ "$(find_source_dirs -newer "$initrd" -print -quit)" ]; then 33elif [ "$(find_source_dirs -newer "$initrd" -print -quit)" ]; then