blob: baf1c3d1e5509103229e3696f3bdb4459dac536d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/bash
build() {
local fsck= added=0
add_fsck() {
if [[ $1 = ext[234] ]]; then
add_binary fsck.ext4
add_symlink /usr/bin/fsck.ext2 fsck.ext4
add_symlink /usr/bin/fsck.ext3 fsck.ext4
else
add_binary "fsck.$1"
fi
}
if (( ! fs_autodetect_failed )) && [[ $rootfstype$usrfstype ]]; then
if [[ $rootfstype ]]; then
add_fsck $rootfstype && (( ++added ))
fi
if [[ $usrfstype && $usrfstype != $rootfstype ]]; then
add_fsck $usrfstype && (( ++added ))
fi
else
for fsck in "$BASEDIR"/{usr/,}{s,}bin/fsck.*; do
[[ -f $fsck ]] || continue
add_binary "${fsck#$BASEDIR}" && (( ++added ))
done
fi
if (( added )); then
add_binary fsck
else
warning "No fsck helpers found. fsck will not be run on boot."
fi
}
help() {
cat <<HELPEOF
This hook provides fsck and filesystem specific helpers to perform an fsck
operation on the root device prior to mounting. If the autodetect hook is used,
only the fsck helper specific to your filesystem will be added to the image. It
is highly recommended that if you include this hook that you also include any
necessary modules to ensure your keyboard will work in early userspace.
HELPEOF
}
# vim: set ft=sh ts=4 sw=4 et:
|