Div. improvements e.g. PartUUID detection changed, SD card detection changed

Comments for step 4 boot from HD extended
This commit is contained in:
2020-08-29 23:36:11 +02:00
parent 74ec53ae18
commit 66bc680a16

View File

@@ -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