Div. improvements e.g. PartUUID detection changed, SD card detection changed
Comments for step 4 boot from HD extended
This commit is contained in:
@@ -31,13 +31,16 @@ step_config() {
|
|||||||
|
|
||||||
SDDEV=
|
SDDEV=
|
||||||
SDBOOT=
|
SDBOOT=
|
||||||
|
SDBOOTPUUID=
|
||||||
SDROOT=
|
SDROOT=
|
||||||
SDROOTPUUID=
|
SDROOTPUUID=
|
||||||
HDDEV=
|
HDDEV=
|
||||||
HDROOT=
|
HDROOT=
|
||||||
HDROOTPUUID=
|
HDROOTPUUID=
|
||||||
|
HDSWAP=
|
||||||
|
HDSWAPPUUID=
|
||||||
|
|
||||||
step_1_info() { echo "Download latest raspbian lite image from"
|
step_1_info() { echo "Download latest Raspberry Pi OS lite image from"
|
||||||
echoinfo "$downUrl"; }
|
echoinfo "$downUrl"; }
|
||||||
step_1_alias() { ALIAS="setup"; }
|
step_1_alias() { ALIAS="setup"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
@@ -49,16 +52,16 @@ step_1() {
|
|||||||
downImgName="${downDir}/$(zipinfo -1 "$downLoc")"
|
downImgName="${downDir}/$(zipinfo -1 "$downLoc")"
|
||||||
if [ ! -f "$downImgName" ] ; then
|
if [ ! -f "$downImgName" ] ; then
|
||||||
exe unzip "$downLoc" -d "$downDir"
|
exe unzip "$downLoc" -d "$downDir"
|
||||||
endReturn -o $? "Unzip raspbian image failed"
|
endReturn -o $? "Unzip raspios image failed"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
downUrl="https://downloads.raspberrypi.org/raspbian_lite_latest"
|
downUrl="https://downloads.raspberrypi.org/raspios_lite_armhf_latest"
|
||||||
downImgName=""
|
downImgName=""
|
||||||
downDay=$(date +%Y%m%d)
|
downDay=$(date +%Y%m%d)
|
||||||
downDir="/tmp"
|
downDir="/tmp"
|
||||||
downLoc="${downDir}/raspbian_$downDay.zip"
|
downLoc="${downDir}/raspios_$downDay.zip"
|
||||||
|
|
||||||
step_2_info() { echo -n "Write raspbian image to SD card "
|
step_2_info() { echo -n "Write Raspberry Pi OS image to SD card "
|
||||||
if [ -z $2 ] ; then echo "[SD CARD DEVICE]"; else echo "$2"; fi
|
if [ -z $2 ] ; then echo "[SD CARD DEVICE]"; else echo "$2"; fi
|
||||||
echoinfo "This operation will delete all data previously on the SD card!"
|
echoinfo "This operation will delete all data previously on the SD card!"
|
||||||
}
|
}
|
||||||
@@ -69,7 +72,7 @@ step_2() {
|
|||||||
step setup
|
step setup
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$downImgName" ] ; then
|
if [ ! -f "$downImgName" ] ; then
|
||||||
echoerr " [E] No raspian image found"
|
echoerr " [E] No raspios image found"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -153,18 +156,34 @@ step_4() {
|
|||||||
read_sd_dev "$2"
|
read_sd_dev "$2"
|
||||||
endReturn -o $? "SD detection error $?"
|
endReturn -o $? "SD detection error $?"
|
||||||
echo " [I] SD: $SDDEV"
|
echo " [I] SD: $SDDEV"
|
||||||
echo " $SDBOOT"
|
echo " $SDBOOT [$SDBOOTPUUID]"
|
||||||
echo " $SDROOT"
|
echo " $SDROOT [$SDROOTPUUID]"
|
||||||
echo " $SDROOTPUUID"
|
|
||||||
|
|
||||||
read_hd_dev "$3"
|
read_hd_dev "$3"
|
||||||
endReturn -o $? "HD detection error"
|
endReturn -o $? "HD detection error"
|
||||||
echo " [I] HD: $HDDEV"
|
echo " [I] HD: $HDDEV"
|
||||||
echo " $HDROOT"
|
echo " $HDROOT [$HDROOTPUUID]"
|
||||||
echo " $HDROOTPUUID"
|
echo " $HDSWAP [$HDSWAPPUUID]"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo " [I] modify PARTUUID of $SDBOOT/cmdline.txt"
|
echo " [I] modify PARTUUID of $SDBOOT/cmdline.txt"
|
||||||
|
if [ -z $HDROOTPUUID ] ; then
|
||||||
echo " root=PARTUUID=******00-01"
|
echo " root=PARTUUID=******00-01"
|
||||||
|
else
|
||||||
|
echo " root=PARTUUID=$HDROOTPUUID"
|
||||||
|
fi
|
||||||
|
echo " remove \"init=/usr/lib/raspi-config/init_resize.sh\""
|
||||||
|
echo
|
||||||
|
echo " [I] Clone SD root to HD root:"
|
||||||
|
echo " rsync -avxHAX --numeric-ids --info=stats2 $SDROOT/ $HDROOT/"
|
||||||
|
echo
|
||||||
|
echo " [I] modify $HDROOT/etc/fstab"
|
||||||
|
echo " PARTUUID=$SDBOOTPUUID /boot vfat ro,defaults 0 2"
|
||||||
|
echo " PARTUUID=$SDROOTPUUID /backup ext4 ro,defaults,noatime 0 2"
|
||||||
|
echo " PARTUUID=$HDROOTPUUID / ext4 defaults,noatime 0 1"
|
||||||
|
echo " PARTUUID=$HDSWAPPUUID none swap sw 0 0"
|
||||||
|
echo
|
||||||
|
echo " [I] modify $HDROOT/etc/dhcpcd.conf for static IPs"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_20_info() { echo "Disable swap file and remove it"; }
|
step_20_info() { echo "Disable swap file and remove it"; }
|
||||||
@@ -240,11 +259,13 @@ read_sd_dev() {
|
|||||||
SDBOOT=
|
SDBOOT=
|
||||||
SDROOT=
|
SDROOT=
|
||||||
SDROOTPUUID=
|
SDROOTPUUID=
|
||||||
|
SDBOOTPUUID=
|
||||||
SDDEV="$1"
|
SDDEV="$1"
|
||||||
elif [ -z $SDDEV ] || [ ! -b "$SDDEV" ] ; then
|
elif [ -z $SDDEV ] || [ ! -b "$SDDEV" ] ; then
|
||||||
SDDEV=
|
SDDEV=
|
||||||
SDBOOT=
|
SDBOOT=
|
||||||
SDROOT=
|
SDROOT=
|
||||||
|
SDBOOTPUUID=
|
||||||
SDROOTPUUID=
|
SDROOTPUUID=
|
||||||
echo " [I] Available devices:"
|
echo " [I] Available devices:"
|
||||||
echo
|
echo
|
||||||
@@ -254,33 +275,42 @@ read_sd_dev() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -b "$SDDEV" ] ; then
|
if [ ! -b "$SDDEV" ] ; then
|
||||||
|
echoerr " [I] $SDDEV not a block device"
|
||||||
SDDEV=
|
SDDEV=
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$osName" == "Raspbian" ] ; then
|
if [[ "$SDDEV" =~ .*blk.* ]] ; then
|
||||||
partExt="p"
|
partExt="p"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z $SDBOOT ] ; then
|
if [ -z $SDBOOT ] ; then
|
||||||
SDBOOT=$(findmnt -no TARGET "${SDDEV}${partExt}1")
|
SDBOOT=$(findmnt -no TARGET "${SDDEV}${partExt}1")
|
||||||
fi
|
fi
|
||||||
|
if [ -z $SDBOOTPUUID ] ; then
|
||||||
|
IFS=\" read -r _ vPARTUUID _ < <(blkid "${SDDEV}${partExt}1" -s PARTUUID)
|
||||||
|
SDBOOTPUUID=$vPARTUUID
|
||||||
|
fi
|
||||||
if [ -z $SDROOT ] ; then
|
if [ -z $SDROOT ] ; then
|
||||||
SDROOT=$(findmnt -no TARGET "${SDDEV}${partExt}2")
|
SDROOT=$(findmnt -no TARGET "${SDDEV}${partExt}2")
|
||||||
fi
|
fi
|
||||||
if [ -z $SDROOTPUUID ] ; then
|
if [ -z $SDROOTPUUID ] ; then
|
||||||
SDROOTPUUID=$(findmnt -no PARTUUID "${SDDEV}${partExt}2")
|
SDROOTPUUID=$(findmnt -no PARTUUID "${SDDEV}${partExt}2")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
read_hd_dev() {
|
read_hd_dev() {
|
||||||
if [ ! -z "$1" ] ; then
|
if [ ! -z "$1" ] ; then
|
||||||
HDROOT=
|
HDROOT=
|
||||||
HDROOTPUUID=
|
HDROOTPUUID=
|
||||||
|
HDSWAPPUUID=
|
||||||
HDDEV="$1"
|
HDDEV="$1"
|
||||||
elif [ -z $HDDEV ] || [ ! -b "$HDDEV" ] ; then
|
elif [ -z $HDDEV ] || [ ! -b "$HDDEV" ] ; then
|
||||||
HDROOT=
|
HDROOT=
|
||||||
HDROOTPUUID=
|
HDROOTPUUID=
|
||||||
|
HDSWAPPUUID=
|
||||||
echo " [I] Available devices:"
|
echo " [I] Available devices:"
|
||||||
echo
|
echo
|
||||||
exe lsblk -p
|
exe lsblk -p
|
||||||
@@ -297,8 +327,16 @@ read_hd_dev() {
|
|||||||
HDROOT=$(findmnt -no TARGET "${HDDEV}1")
|
HDROOT=$(findmnt -no TARGET "${HDDEV}1")
|
||||||
fi
|
fi
|
||||||
if [ -z $HDROOTPUUID ] ; then
|
if [ -z $HDROOTPUUID ] ; then
|
||||||
HDROOTPUUID=$(findmnt -no PARTUUID "${HDDEV}1")
|
IFS=\" read -r _ vPARTUUID _ < <(blkid "${HDDEV}1" -s PARTUUID)
|
||||||
|
HDROOTPUUID=$vPARTUUID
|
||||||
fi
|
fi
|
||||||
|
if [ -z $HDSWAPPUUID ] ; then
|
||||||
|
IFS=\" read -r _ vPARTUUID _ < <(blkid "${HDDEV}2" -s PARTUUID)
|
||||||
|
HDSWAPPUUID=$vPARTUUID
|
||||||
|
HDSWAP="${HDDEV}2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
VERSION_SEQREV=9
|
VERSION_SEQREV=9
|
||||||
|
Reference in New Issue
Block a user