SHOW:
|
|
- or go back to the newest paste.
1 | --- /mnt/home/clean2/initrd-expanded/init 2017-02-16 05:03:46.000000000 +0800 | |
2 | +++ ./initrd-expanded/init 2018-01-28 00:59:20.000000000 +0800 | |
3 | @@ -91,7 +91,27 @@ | |
4 | #============================================================= | |
5 | # FUNCTIONS | |
6 | #============================================================= | |
7 | - | |
8 | +function wait_for_usb_part(){ | |
9 | + echo "entering wait_for_usb_part() " #s243a remove | |
10 | + xIFS=$IFS | |
11 | + IFS=' ' #This should be the default but just to be double certain | |
12 | + [ -e /tmp/flag-usb-ready ] || wait_for_usb #Call wait_for_usb if it hasn't been called yet. | |
13 | + for i in $(seq 1 $USB_TRIES); do | |
14 | + echo "i=$1 < $USB_TRIES" #s243a remove | |
15 | + BLKIDOUT='' #not sure if this is necessary but it will force blkid to be called again. | |
16 | + decode_id $1 #Convert uuid's to partition name | |
17 | + part_name="$ONE_PART" #this is the result (i.e. the partiation name) returned from decode_id. | |
18 | + echo "part_name=$part_name" | |
19 | + if [ $part_name ]; then | |
20 | + for p in cat /tmp/flag-usb-ready; do #flag-usb-ready conatins the name of all the partitions which are ready for use | |
21 | + [ $p != $part_name ] || break 2 | |
22 | + done; | |
23 | + fi | |
24 | + rm /tmp/flag-usb-ready #we got to clear this flag or wait_for_usb won't do anything. | |
25 | + wait_for_usb | |
26 | + done | |
27 | + IFS=$xIFS | |
28 | +} | |
29 | fsck_func() { | |
30 | # "$1" - partition device - ex: /dev/sdb2 | |
31 | # "$2" - fstype - ex: ext2 | |
32 | @@ -858,6 +878,13 @@ | |
33 | PDEBUG=1 | |
34 | TOTAL_SIZEK_SFS_RAM=0 | |
35 | ||
36 | +#Specifies how long to wait for the USB drive | |
37 | +[ $waitdev ] && WAITDEV=$waitdev #added by s243a | |
38 | + export WAITDEV="${WAITDEV:-3}" | |
39 | +#Specifies how how many times to try finding all USB drives | |
40 | +[ $USBTRIES ] && USBTRIES=$usb_tries | |
41 | +USBTRIES="${USBTRIES:-3}" | |
42 | + | |
43 | # show menu with pupsaves | |
44 | [ $psavemenu ] && PSAVEMENU=$psavemenu | |
45 | ||
46 | @@ -927,13 +954,14 @@ | |
47 | #establish PDRV | |
48 | P_PART=""; LOOK_PUP=""; LOOK_SAVE="" | |
49 | if [ "$P_BP_ID" ];then #specified as parameter | |
50 | - decode_id "$P_BP_ID" | |
51 | + wait_for_usb_part "$P_BP_ID" | |
52 | + #decode_id "$P_BP_ID" | |
53 | [ "$ONE_PART" ] && { P_PART="$ONE_PART"; P_BP_ID=""; } | |
54 | if [ "$P_PART" = "" ];then | |
55 | - wait_for_usb | |
56 | - decode_id "$P_BP_ID" | |
57 | + wait_for_usb_part "$P_BP_ID" | |
58 | [ "$ONE_PART" ] && { P_PART="$ONE_PART"; P_BP_ID=""; } | |
59 | fi | |
60 | + #wait_for_usb_part "$P_BP_ID" | |
61 | find_onepupdrv "$P_PART" "$P_BP_FN" "$P_DEF_FN" "p" | |
62 | [ "$ONE_FN" ] && { PDRV="$ONE_PART,$ONE_FS,$ONE_FN"; P_MP="$ONE_MP"; } | |
63 | [ "$PDEBUG" ] && echo "2: ONE_PART=$ONE_PART ONE_FN=$ONE_FN ONE_MP=$ONE_MP" |