1#!/bin/bash -e
2
3POST_ROOTFS_ONLY=1
4
5source "${POST_HELPER:-$(dirname "$(realpath "$0")")/../post-hooks/post-helper}"
6
7[ -z "$RK_DISK_HELPERS_DISABLED" ] || exit 0
8
9cd "$SDK_DIR"
10
11mkdir -p "$TARGET_DIR/usr/bin"
12install -m 0755 external/rkscript/disk-helper "$TARGET_DIR/usr/bin/"
13
14if [ "$RK_DISK_HELPERS_MOUNTALL" ]; then
15	DISK_HELPER_TYPE=mount
16elif [ "$RK_DISK_HELPERS_RESIZEALL" ]; then
17	DISK_HELPER_TYPE=resize
18else
19	if [ "$POST_OS" = buildroot ]; then
20		DISK_HELPER_TYPE=mount
21	else
22		DISK_HELPER_TYPE=resize
23	fi
24fi
25
26echo "Installing $DISK_HELPER_TYPE service..."
27
28install -m 0755 external/rkscript/$DISK_HELPER_TYPE-helper \
29	"$TARGET_DIR/usr/bin/"
30
31SCRIPT=$(ls external/rkscript/ | grep ${DISK_HELPER_TYPE}all.sh)
32
33if [ "$POST_INIT_BUSYBOX" ]; then
34	install -m 0755 external/rkscript/$SCRIPT "$TARGET_DIR/etc/init.d/"
35fi
36
37if [ "$DISK_HELPER_TYPE" = mount ]; then
38	if [ "$RK_DISK_AUTO_FORMAT" ]; then
39		echo "Enabling auto formatting..."
40		touch "$TARGET_DIR/.auto_mkfs"
41	fi
42
43	if [ "$RK_DISK_SKIP_FSCK" ]; then
44		echo "Disabling boot time fsck..."
45		touch "$TARGET_DIR/.skip_fsck"
46	fi
47	exit 0
48fi
49
50if [ "$POST_INIT_SYSTEMD" ]; then
51	install -m 0755 external/rkscript/$DISK_HELPER_TYPE-all.service \
52		"$TARGET_DIR/lib/systemd/system/"
53	mkdir -p "$TARGET_DIR/etc/systemd/system/sysinit.target.wants"
54	ln -sf /lib/systemd/system/$DISK_HELPER_TYPE-all.service \
55		"$TARGET_DIR/etc/systemd/system/sysinit.target.wants/"
56fi
57
58if [ "$POST_INIT_SYSV" ]; then
59	install -m 0755 external/rkscript/$SCRIPT \
60		"$TARGET_DIR/etc/init.d/${DISK_HELPER_TYPE}all.sh"
61	ln -sf ../init.d/${DISK_HELPER_TYPE}all.sh \
62		"$TARGET_DIR/etc/rcS.d/$SCRIPT"
63fi
64