diff options
author | Andrew Cady <d@cryptonomic.net> | 2020-11-17 17:23:32 -0500 |
---|---|---|
committer | Andrew Cady <d@cryptonomic.net> | 2020-11-17 17:24:02 -0500 |
commit | 3ac7703db30dca04ce2027fb7a27d139802dae91 (patch) | |
tree | 5fb55644d6687660503871d19c3c1302629be69f /src/partvi | |
parent | 1082f65d0b784e8f31cb340dbb4e2a07b6bd4625 (diff) |
partvi: make the partition table
Diffstat (limited to 'src/partvi')
-rwxr-xr-x | src/partvi | 50 |
1 files changed, 49 insertions, 1 deletions
@@ -147,7 +147,13 @@ quietly() | |||
147 | { | 147 | { |
148 | "$@" >/dev/null 2>&1 || true | 148 | "$@" >/dev/null 2>&1 || true |
149 | } | 149 | } |
150 | loudly() | ||
151 | { | ||
152 | (set -x | ||
153 | "$@") | ||
154 | } | ||
150 | 155 | ||
156 | quietly $sudo kpartx -dv /dev/mapper/"$map_name" | ||
151 | quietly $sudo dmsetup remove "$map_name" | 157 | quietly $sudo dmsetup remove "$map_name" |
152 | quietly $sudo losetup -D | 158 | quietly $sudo losetup -D |
153 | 159 | ||
@@ -182,5 +188,47 @@ do | |||
182 | 188 | ||
183 | done | 189 | done |
184 | $sudo dmsetup -v create "$map_name" "$map" | 190 | $sudo dmsetup -v create "$map_name" "$map" |
185 | $sudo dmsetup remove "$map_name" | ||
186 | 191 | ||
192 | dev=/dev/mapper/$map_name | ||
193 | ( | ||
194 | set -- | ||
195 | i=1 | ||
196 | while read a b c d e | ||
197 | do | ||
198 | echo "a=$a c=$c" | ||
199 | [ "$a" -gt 0 ] || continue | ||
200 | [ "$b" -gt 2048 ] || continue | ||
201 | [ "$c" = linear ] || continue | ||
202 | |||
203 | set -- "$@" -n "$i:$a:$((a + b - 1))" | ||
204 | let ++i | ||
205 | done < "$map" | ||
206 | $sudo sgdisk -o "$@" -p "$dev" | ||
207 | ) | ||
208 | $sudo kpartx -u "$dev" | ||
209 | |||
210 | for f in part*.conf | ||
211 | do | ||
212 | notice "Processing $f" | ||
213 | img=${f%.conf} | ||
214 | |||
215 | |||
216 | read_config_file "$img" || warn "Received error return from command: read_config_file $img" | ||
217 | require_var name | ||
218 | |||
219 | require_var type | ||
220 | case "$type" in | ||
221 | efi-system-partition|bios-grub|samizdat-*|dm-verity-data) | ||
222 | dev=/dev/mapper/$map_name${img#part} | ||
223 | mkdir -p test.mnt | ||
224 | loudly $sudo mount "$dev" test.mnt | ||
225 | $sudo umount test.mnt | ||
226 | ;; | ||
227 | *) notice "Not mounting $name" ;; | ||
228 | esac | ||
229 | done | ||
230 | |||
231 | |||
232 | quietly $sudo kpartx -dv "$dev" | ||
233 | quietly $sudo dmsetup remove "$map_name" | ||
234 | quietly $sudo losetup -D | ||