aboutsummaryrefslogtreecommitdiffstats
path: root/package/block-mount/files/60_pivot_usb_root
blob: b610a4ade15e896dab42841d826ad23d0aa81b33 (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
#!/bin/sh
# Copyright (C) 2010 Vertical Communications

# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.

# Determine if we are requested to mount external root

external_root_pivot() {
	check_skip || [ "$pi_extroot_mount_success" != "true" ] || {
		echo "switching to external rootfs"
		if [ "$ER_OVERLAY_ROM" = "/overlay" ]; then
			if [ "$ER_IS_SQUASHFS" = "true" ]; then
				umount /tmp/overlay
			fi
			mount -o remount,ro / && fopivot /overlay /rom && pi_mount_skip_next=true
		elif [ "$ER_OVERLAY_ROM" = "/rom" ]; then
			if [ "$ER_IS_SQUASHFS" = "true" ]; then
				umount /tmp/overlay
			fi
			mount -o remount,ro / && pivot_rom /rom /rom && pi_mount_skip_next=true
		fi
	}
}

boot_hook_add preinit_mount_root external_root_pivot