summaryrefslogtreecommitdiff
path: root/packages/altboot/files/altboot-menu/Advanced/30-bootUSB-Stick
blob: 5a1d049976b3b6f4301f0d50733e07e802eaa01c (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
48
49
50
51
52
53
# !/bin/sh
#
# Copyright Matthias Hentges (c) 2005
#
# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)


M_TITLE="Boot USB Storage"

die() {
	echo "ERROR: $1" >/dev/tty0
	exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
}

# This function is activated by init.altboot by calling this script with the "run" option
run_module() {
	
	test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
	
	echo -n "Mounting rootfs rw..." >/dev/tty0
	mount -o remount,rw / >/dev/tty0 2>&1 && echo ok  >/dev/tty0|| die "mount -o remount,rw / failed"

	echo -n "Generating device files..." >/dev/tty0
	/etc/init.d/devices start && echo ok  >/dev/tty0|| die "FAILED"

	echo "Starting USB..."
	
	for module in $USB_STORAGE_MODULES
	do
		echo -en "\t - $module: "
		modprobe "$module" >/dev/null 2>&1 && echo ok || die "Failed to modprobe [$module]"
	done
		
	echo -n "Mounting $USB_STORAGE_PARTITION..."  >/dev/tty0
	
	mkdir -p /media/usb-storage >/dev/null 2>&1
	
	sleep "$USB_STORAGE_WAIT"
	
	/bin/mount -t auto -o defaults,noatime $USB_STORAGE_PARTITION /media/usb-storage >/dev/null 2>&1 && echo ok  >/dev/tty0|| die "/bin/mount -t auto -o defaults,noatime $SD_DEVICE $SD_MOUNTPOINT failed"
		
	echo ""	
	
	# Check for a real fs and loop-images.
	check_target "/media/usb-storage" >/dev/tty0		
}


case "$1" in
title)	echo "$M_TITLE";;
run)	run_module "$2";;
esac