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=
SDBOOT=
SDBOOTPUUID=
SDROOT=
SDROOTPUUID=
HDDEV=
HDROOT=
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"; }
step_1_alias() { ALIAS="setup"; }
step_1() {
@@ -49,16 +52,16 @@ step_1() {
downImgName="${downDir}/$(zipinfo -1 "$downLoc")"
if [ ! -f "$downImgName" ] ; then
exe unzip "$downLoc" -d "$downDir"
endReturn -o $? "Unzip raspbian image failed"
endReturn -o $? "Unzip raspios image failed"
fi
}
downUrl="https://downloads.raspberrypi.org/raspbian_lite_latest"
downUrl="https://downloads.raspberrypi.org/raspios_lite_armhf_latest"
downImgName=""
downDay=$(date +%Y%m%d)
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
echoinfo "This operation will delete all data previously on the SD card!"
}
@@ -69,7 +72,7 @@ step_2() {
step setup
fi
if [ ! -f "$downImgName" ] ; then
echoerr " [E] No raspian image found"
echoerr " [E] No raspios image found"
return 1
fi
@@ -153,18 +156,34 @@ step_4() {
read_sd_dev "$2"
endReturn -o $? "SD detection error $?"
echo " [I] SD: $SDDEV"
echo " $SDBOOT"
echo " $SDROOT"
echo " $SDROOTPUUID"
echo " $SDBOOT [$SDBOOTPUUID]"
echo " $SDROOT [$SDROOTPUUID]"
read_hd_dev "$3"
endReturn -o $? "HD detection error"
echo " [I] HD: $HDDEV"
echo " $HDROOT"
echo " $HDROOTPUUID"
echo " $HDROOT [$HDROOTPUUID]"
echo " $HDSWAP [$HDSWAPPUUID]"
echo
echo " [I] modify PARTUUID of $SDBOOT/cmdline.txt"
if [ -z $HDROOTPUUID ] ; then
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"; }
@@ -240,11 +259,13 @@ read_sd_dev() {
SDBOOT=
SDROOT=
SDROOTPUUID=
SDBOOTPUUID=
SDDEV="$1"
elif [ -z $SDDEV ] || [ ! -b "$SDDEV" ] ; then
SDDEV=
SDBOOT=
SDROOT=
SDBOOTPUUID=
SDROOTPUUID=
echo " [I] Available devices:"
echo
@@ -254,33 +275,42 @@ read_sd_dev() {
fi
if [ ! -b "$SDDEV" ] ; then
echoerr " [I] $SDDEV not a block device"
SDDEV=
return 1
fi
if [ "$osName" == "Raspbian" ] ; then
if [[ "$SDDEV" =~ .*blk.* ]] ; then
partExt="p"
fi
if [ -z $SDBOOT ] ; then
SDBOOT=$(findmnt -no TARGET "${SDDEV}${partExt}1")
fi
if [ -z $SDBOOTPUUID ] ; then
IFS=\" read -r _ vPARTUUID _ < <(blkid "${SDDEV}${partExt}1" -s PARTUUID)
SDBOOTPUUID=$vPARTUUID
fi
if [ -z $SDROOT ] ; then
SDROOT=$(findmnt -no TARGET "${SDDEV}${partExt}2")
fi
if [ -z $SDROOTPUUID ] ; then
SDROOTPUUID=$(findmnt -no PARTUUID "${SDDEV}${partExt}2")
fi
return 0
}
read_hd_dev() {
if [ ! -z "$1" ] ; then
HDROOT=
HDROOTPUUID=
HDSWAPPUUID=
HDDEV="$1"
elif [ -z $HDDEV ] || [ ! -b "$HDDEV" ] ; then
HDROOT=
HDROOTPUUID=
HDSWAPPUUID=
echo " [I] Available devices:"
echo
exe lsblk -p
@@ -297,8 +327,16 @@ read_hd_dev() {
HDROOT=$(findmnt -no TARGET "${HDDEV}1")
fi
if [ -z $HDROOTPUUID ] ; then
HDROOTPUUID=$(findmnt -no PARTUUID "${HDDEV}1")
IFS=\" read -r _ vPARTUUID _ < <(blkid "${HDDEV}1" -s PARTUUID)
HDROOTPUUID=$vPARTUUID
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