1 #! /bin/sh /usr/share/dpatch/dpatch-run
2 ## 12_uuid_support.dpatch by Michael Prokop <prokop@grml-forensic.org>
4 ## DP: This patch enables support for verifying the ISO through bootid=.... bootoption.
5 ## DP: Logic behind bootoptions and possible combinations:
6 ## DP: * bootid.txt + wrong bootid=... => fails to boot
7 ## DP: * bootid.txt + right bootid=... => boots
8 ## DP: * bootid.txt + ignore_bootid => boots
9 ## DP: * bootid.txt + no bootid=... + no ignore_bootid => fails to boot
10 ## DP: * no bootid.txt + no bootid=... + no ignore_bootid => boots
11 ## DP: * no bootid.txt + bootid=... => fails to boot
12 ## DP: * no bootid.txt + ignore_bootid=... => boots
15 --- a/scripts/boot/9990-misc-helpers.sh
16 +++ b/scripts/boot/9990-misc-helpers.sh
25 + if [ -n "$IGNORE_BOOTID" ] ; then
26 + echo " * Ignoring verification of bootid.txt as requested via ignore_bootid.">>/live-boot.log
30 + if [ -n "$BOOTID" ] && ! [ -r "${path}/conf/bootid.txt" ] ; then
31 + echo " * Warning: bootid=... specified but no bootid.txt found on currently requested device.">>/live-boot.log
35 + [ -r "${path}/conf/bootid.txt" ] || return 0
37 + bootid_conf=$(cat "${path}/conf/bootid.txt")
39 + if [ -z "$BOOTID" -a -z "$IGNORE_BOOTID" ]
41 + echo " * Warning: bootid.txt found but ignore_bootid / bootid=.. bootoption missing...">>/live-boot.log
45 + if [ "$BOOTID" = "$bootid_conf" ]
47 + echo " * Successfully verified /conf/bootid.txt from ISO, continuing... ">>/live-boot.log
49 + echo " * Warning: BOOTID of ISO does not match. Retrying and continuing search...">>/live-boot.log
59 if [ "${IGNORE_UUID}" ] || [ ! -e /conf/uuid.conf ]
63 if is_live_path ${mountpoint} && \
64 - ([ "${skip_uuid_check}" ] || matches_uuid ${mountpoint})
65 + ([ "${skip_uuid_check}" ] || grml_match_bootid ${mountpoint})
73 - elif [ "${fstype}" = "squashfs" -o \
74 - "${fstype}" = "btrfs" -o \
75 - "${fstype}" = "ext2" -o \
76 - "${fstype}" = "ext3" -o \
77 - "${fstype}" = "ext4" -o \
78 - "${fstype}" = "jffs2" ]
80 - # This is an ugly hack situation, the block device has
81 - # an image directly on it. It's hopefully
82 - # live-boot, so take it and run with it.
83 - ln -s "${devname}" "${devname}.${fstype}"
84 - echo "${devname}.${fstype}"
89 --- a/scripts/boot/9990-cmdline-old
90 +++ b/scripts/boot/9990-cmdline-old
96 + BOOTID="${_PARAMETER#bootid=}"
101 # Force dhcp even while netbooting
102 # Use for debugging in case somebody works on fixing dhclient
108 + IGNORE_BOOTID="Yes"
109 + export IGNORE_BOOTID