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=
|
||||
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
|
||||
|
Reference in New Issue
Block a user