From 0907211f23b5954a408998a2f990cf83447cabdc Mon Sep 17 00:00:00 2001 From: Helmut Stult Date: Mon, 15 Apr 2019 12:50:52 +0200 Subject: [PATCH 01/10] Aktualisieren manjaro-arm-installer --- manjaro-arm-installer | 68 ++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index fba3b68..1e178e6 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -12,12 +12,18 @@ USER="" PASSWORD="" ROOTPASSWORD="" SDCARD="" +SDTYP="" +SDDEV="" TIMEZONE="" LOCALE="" # check if root -if [ "$EUID" -ne 0 ] - then echo "This script requires root permissions to run. Please run as root or with sudo!" +if [ "$EUID" -ne 0 ]; then + echo "*******************************************************************************************" + echo "* *" + echo "* This script requires root permissions to run. Please run as root or with sudo! *" + echo "* *" + echo "*******************************************************************************************" exit fi @@ -40,6 +46,12 @@ if [ ! -f /usr/bin/git ]; then elif [ ! -f /usr/bin/bsdtar ]; then echo "bsdtar command is missing! Please install libarchive!" exit 1 + elif [ ! -f /usr/bin/mkpasswd ]; then + echo "mkpasswd command is missing! Please install mkpasswd!" + exit 1 + elif [ ! -f /usr/bin/awk ]; then + echo "awk command is missing! Please install gawk!" + exit 1 fi @@ -103,6 +115,7 @@ create_install() { fi msg "Creating install for $DEVICE..." + msg "Used device is ${SDCARD}${SDDEV}x" # fetch and extract rootfs info "Downloading latest $ARCH rootfs..." @@ -131,18 +144,18 @@ create_install() { info "Setting up users..." #setup users echo "$USER" > $TMPDIR/user - echo "$PASSWORD" >> $TMPDIR/password - echo "$PASSWORD" >> $TMPDIR/password - echo "$ROOTPASSWORD" >> $TMPDIR/rootpassword - echo "$ROOTPASSWORD" >> $TMPDIR/rootpassword - $NSPAWN $TMPDIR/root passwd root < $TMPDIR/rootpassword 1> /dev/null 2>&1 - $NSPAWN $TMPDIR/root useradd -m -g users -G wheel,storage,network,power -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 - $NSPAWN $TMPDIR/root passwd $(cat $TMPDIR/user) < $TMPDIR/password 1> /dev/null 2>&1 + echo "$PASSWORD" > $TMPDIR/password + echo "$ROOTPASSWORD" > $TMPDIR/rootpassword + + info "setting password for root ..." + $NSPAWN $TMPDIR/root awk -i inplace -F: "BEGIN {OFS=FS;} \$1 == \"root\" {\$2=\"$(mkpasswd --hash=SHA-512 $(cat $TMPDIR/rootpassword))\"} 1" /etc/shadow 1> /dev/null 2>&1 + + info "Adding user..." + $NSPAWN $TMPDIR/root useradd -m -g users -G wheel,storage,network,power -p $(mkpasswd --hash=SHA-512 $(cat $TMPDIR/password)) -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 - info "Enabling user services..." if [[ "$EDITION" = "minimal" ]] || [[ "$EDITION" = "server" ]]; then - echo "No user services for $EDITION edition" + msg "No user services for $EDITION edition" else $NSPAWN $TMPDIR/root --user $(cat $TMPDIR/user) systemctl --user enable pulseaudio.service 1> /dev/null 2>&1 fi @@ -208,14 +221,14 @@ prepare_card () { END_SECTOR=$(expr $START + $SIZE) parted -s $SDCARD mkpart primary ext4 "${END_SECTOR}s" 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.vfat "${SDCARD}p1" 1> /dev/null 2>&1 - mkfs.ext4 "${SDCARD}p2" 1> /dev/null 2>&1 + mkfs.vfat "${SDCARD}${SDDEV}1" 1> /dev/null 2>&1 + mkfs.ext4 "${SDCARD}${SDDEV}2" 1> /dev/null 2>&1 #Mount SD card mkdir -p $TMPDIR/root mkdir -p $TMPDIR/boot - mount ${SDCARD}1 $TMPDIR/boot - mount ${SDCARD}2 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/boot + mount ${SDCARD}${SDDEV}2 $TMPDIR/root # For Odroid devices elif [[ "$DEVICE" = "oc1" ]] || [[ "$DEVICE" = "oc2" ]] || [[ "$DEVICE" = "xu4" ]]; then @@ -226,12 +239,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For pine devices elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then @@ -243,12 +256,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 # Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For rockpro64 device elif [[ "$DEVICE" = "rock64" ]] || [[ "$DEVICE" = "rockpro64" ]]; then @@ -260,12 +273,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 32M 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 # Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root fi } @@ -367,7 +380,7 @@ fi if [ ! -z "$USER" ] then PASSWORD=$(dialog --clear --title "Manjaro ARM Installer" \ - --passwordbox "Enter Password for $USER:" 8 50 \ + --insecure --passwordbox "Enter Password for $USER:" 8 50 \ 3>&1 1>&2 2>&3 3>&- \ ) else @@ -380,7 +393,7 @@ fi if [ ! -z "$PASSWORD" ] then ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer" \ - --passwordbox "Enter Root Password:" 8 50 \ + --insecure --passwordbox "Enter Root Password:" 8 50 \ 3>&1 1>&2 2>&3 3>&- \ ) else @@ -407,9 +420,18 @@ SDCARD=$(dialog --title "Manjaro ARM Installer" \ # add /dev/ to the selected option above SDCARD=/dev/$SDCARD +SDTYP=${SDCARD:5:2} else clear exit 1 + fi + +if [[ "$SDTYP" = "sd" ]] +then + SDDEV="" +elif [[ "$SDTYP" = "mm" ]] +then + SDDEV="p" fi From 1369de61e422090e6f1ec25b96532605046350fa Mon Sep 17 00:00:00 2001 From: Helmut Stult Date: Mon, 15 Apr 2019 12:51:55 +0200 Subject: [PATCH 02/10] Aktualisieren README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 456fbef..89fb673 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ This script is "interactive". Meaning that it asks you questions when run to cus * parted * libarchive * binfmt-qemu-static +* mkpasswd +* gawk ## Installing: To use this script, please make sure that the following is correct: @@ -29,7 +31,8 @@ To use this script, simple run it as normal user after you make it executable: ``` chmod +x manjaro-arm-installer -bash manjaro-arm-installer +sudo -s +clear && bash manjaro-arm-installer ``` ## Other notes: From c2ae1a359c6ba54d27104bae3a98099a07efdf4a Mon Sep 17 00:00:00 2001 From: schinfo Date: Mon, 15 Apr 2019 19:32:52 +0200 Subject: [PATCH 03/10] added automatic umount if SD is mounted --- manjaro-arm-installer | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 1e178e6..5515f54 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -213,6 +213,10 @@ prepare_card () { msg "Getting $SDCARD ready for $DEVICE..." # For Raspberry Pi devices if [[ "$DEVICE" = "rpi2" ]] || [[ "$DEVICE" = "rpi3" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + umount ${SDCARD}${SDDEV}2 1> /dev/null 2>&1 + #partition with boot and root parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary fat32 0% 100M 1> /dev/null 2>&1 @@ -232,6 +236,9 @@ prepare_card () { # For Odroid devices elif [[ "$DEVICE" = "oc1" ]] || [[ "$DEVICE" = "oc2" ]] || [[ "$DEVICE" = "xu4" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 @@ -247,7 +254,9 @@ prepare_card () { mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For pine devices - elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then + elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 @@ -265,6 +274,8 @@ prepare_card () { # For rockpro64 device elif [[ "$DEVICE" = "rock64" ]] || [[ "$DEVICE" = "rockpro64" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=32 1> /dev/null 2>&1 From 1b52bdd21c2c3247b0d1636842afa754b27ede68 Mon Sep 17 00:00:00 2001 From: Helmut Stult Date: Mon, 15 Apr 2019 12:50:52 +0200 Subject: [PATCH 04/10] Update to current version - manjaro-arm-installer --- manjaro-arm-installer | 68 ++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index fba3b68..1e178e6 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -12,12 +12,18 @@ USER="" PASSWORD="" ROOTPASSWORD="" SDCARD="" +SDTYP="" +SDDEV="" TIMEZONE="" LOCALE="" # check if root -if [ "$EUID" -ne 0 ] - then echo "This script requires root permissions to run. Please run as root or with sudo!" +if [ "$EUID" -ne 0 ]; then + echo "*******************************************************************************************" + echo "* *" + echo "* This script requires root permissions to run. Please run as root or with sudo! *" + echo "* *" + echo "*******************************************************************************************" exit fi @@ -40,6 +46,12 @@ if [ ! -f /usr/bin/git ]; then elif [ ! -f /usr/bin/bsdtar ]; then echo "bsdtar command is missing! Please install libarchive!" exit 1 + elif [ ! -f /usr/bin/mkpasswd ]; then + echo "mkpasswd command is missing! Please install mkpasswd!" + exit 1 + elif [ ! -f /usr/bin/awk ]; then + echo "awk command is missing! Please install gawk!" + exit 1 fi @@ -103,6 +115,7 @@ create_install() { fi msg "Creating install for $DEVICE..." + msg "Used device is ${SDCARD}${SDDEV}x" # fetch and extract rootfs info "Downloading latest $ARCH rootfs..." @@ -131,18 +144,18 @@ create_install() { info "Setting up users..." #setup users echo "$USER" > $TMPDIR/user - echo "$PASSWORD" >> $TMPDIR/password - echo "$PASSWORD" >> $TMPDIR/password - echo "$ROOTPASSWORD" >> $TMPDIR/rootpassword - echo "$ROOTPASSWORD" >> $TMPDIR/rootpassword - $NSPAWN $TMPDIR/root passwd root < $TMPDIR/rootpassword 1> /dev/null 2>&1 - $NSPAWN $TMPDIR/root useradd -m -g users -G wheel,storage,network,power -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 - $NSPAWN $TMPDIR/root passwd $(cat $TMPDIR/user) < $TMPDIR/password 1> /dev/null 2>&1 + echo "$PASSWORD" > $TMPDIR/password + echo "$ROOTPASSWORD" > $TMPDIR/rootpassword + + info "setting password for root ..." + $NSPAWN $TMPDIR/root awk -i inplace -F: "BEGIN {OFS=FS;} \$1 == \"root\" {\$2=\"$(mkpasswd --hash=SHA-512 $(cat $TMPDIR/rootpassword))\"} 1" /etc/shadow 1> /dev/null 2>&1 + + info "Adding user..." + $NSPAWN $TMPDIR/root useradd -m -g users -G wheel,storage,network,power -p $(mkpasswd --hash=SHA-512 $(cat $TMPDIR/password)) -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 - info "Enabling user services..." if [[ "$EDITION" = "minimal" ]] || [[ "$EDITION" = "server" ]]; then - echo "No user services for $EDITION edition" + msg "No user services for $EDITION edition" else $NSPAWN $TMPDIR/root --user $(cat $TMPDIR/user) systemctl --user enable pulseaudio.service 1> /dev/null 2>&1 fi @@ -208,14 +221,14 @@ prepare_card () { END_SECTOR=$(expr $START + $SIZE) parted -s $SDCARD mkpart primary ext4 "${END_SECTOR}s" 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.vfat "${SDCARD}p1" 1> /dev/null 2>&1 - mkfs.ext4 "${SDCARD}p2" 1> /dev/null 2>&1 + mkfs.vfat "${SDCARD}${SDDEV}1" 1> /dev/null 2>&1 + mkfs.ext4 "${SDCARD}${SDDEV}2" 1> /dev/null 2>&1 #Mount SD card mkdir -p $TMPDIR/root mkdir -p $TMPDIR/boot - mount ${SDCARD}1 $TMPDIR/boot - mount ${SDCARD}2 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/boot + mount ${SDCARD}${SDDEV}2 $TMPDIR/root # For Odroid devices elif [[ "$DEVICE" = "oc1" ]] || [[ "$DEVICE" = "oc2" ]] || [[ "$DEVICE" = "xu4" ]]; then @@ -226,12 +239,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For pine devices elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then @@ -243,12 +256,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 # Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For rockpro64 device elif [[ "$DEVICE" = "rock64" ]] || [[ "$DEVICE" = "rockpro64" ]]; then @@ -260,12 +273,12 @@ prepare_card () { parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 32M 100% 1> /dev/null 2>&1 partprobe $SDCARD 1> /dev/null 2>&1 - mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}p1 1> /dev/null 2>&1 + mkfs.ext4 -O ^metadata_csum,^64bit ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 # Mount SD card mkdir -p $TMPDIR/root chmod 777 -R $TMPDIR/root - mount ${SDCARD}1 $TMPDIR/root + mount ${SDCARD}${SDDEV}1 $TMPDIR/root fi } @@ -367,7 +380,7 @@ fi if [ ! -z "$USER" ] then PASSWORD=$(dialog --clear --title "Manjaro ARM Installer" \ - --passwordbox "Enter Password for $USER:" 8 50 \ + --insecure --passwordbox "Enter Password for $USER:" 8 50 \ 3>&1 1>&2 2>&3 3>&- \ ) else @@ -380,7 +393,7 @@ fi if [ ! -z "$PASSWORD" ] then ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer" \ - --passwordbox "Enter Root Password:" 8 50 \ + --insecure --passwordbox "Enter Root Password:" 8 50 \ 3>&1 1>&2 2>&3 3>&- \ ) else @@ -407,9 +420,18 @@ SDCARD=$(dialog --title "Manjaro ARM Installer" \ # add /dev/ to the selected option above SDCARD=/dev/$SDCARD +SDTYP=${SDCARD:5:2} else clear exit 1 + fi + +if [[ "$SDTYP" = "sd" ]] +then + SDDEV="" +elif [[ "$SDTYP" = "mm" ]] +then + SDDEV="p" fi From 683bbdc259bea527ac08d9094d71a228be98ad2b Mon Sep 17 00:00:00 2001 From: Helmut Stult Date: Mon, 15 Apr 2019 12:51:55 +0200 Subject: [PATCH 05/10] Update to current version - README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 456fbef..89fb673 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ This script is "interactive". Meaning that it asks you questions when run to cus * parted * libarchive * binfmt-qemu-static +* mkpasswd +* gawk ## Installing: To use this script, please make sure that the following is correct: @@ -29,7 +31,8 @@ To use this script, simple run it as normal user after you make it executable: ``` chmod +x manjaro-arm-installer -bash manjaro-arm-installer +sudo -s +clear && bash manjaro-arm-installer ``` ## Other notes: From 870e9affeda465180075a1bb0c671e8e5c893a7a Mon Sep 17 00:00:00 2001 From: schinfo Date: Mon, 15 Apr 2019 19:32:52 +0200 Subject: [PATCH 06/10] added automatic umount if SD is mounted --- manjaro-arm-installer | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 1e178e6..5515f54 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -213,6 +213,10 @@ prepare_card () { msg "Getting $SDCARD ready for $DEVICE..." # For Raspberry Pi devices if [[ "$DEVICE" = "rpi2" ]] || [[ "$DEVICE" = "rpi3" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + umount ${SDCARD}${SDDEV}2 1> /dev/null 2>&1 + #partition with boot and root parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary fat32 0% 100M 1> /dev/null 2>&1 @@ -232,6 +236,9 @@ prepare_card () { # For Odroid devices elif [[ "$DEVICE" = "oc1" ]] || [[ "$DEVICE" = "oc2" ]] || [[ "$DEVICE" = "xu4" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 @@ -247,7 +254,9 @@ prepare_card () { mount ${SDCARD}${SDDEV}1 $TMPDIR/root # For pine devices - elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then + elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 @@ -265,6 +274,8 @@ prepare_card () { # For rockpro64 device elif [[ "$DEVICE" = "rock64" ]] || [[ "$DEVICE" = "rockpro64" ]]; then + # umount SD card + umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=32 1> /dev/null 2>&1 From 690de44cae9cad0ac6ca7371f2b0b6b85068a3bd Mon Sep 17 00:00:00 2001 From: schinfo Date: Mon, 15 Apr 2019 20:10:07 +0200 Subject: [PATCH 07/10] delete (but not mounted) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89fb673..ce00edd 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ This script is "interactive". Meaning that it asks you questions when run to cus ## Installing: To use this script, please make sure that the following is correct: -* an SD/eMMC card with at least 8 GB storage is plugged in (but not mounted). +* an SD/eMMC card with at least 8 GB storage is plugged in. * that your user account has `sudo` rights. ## Known Issues: From ded0fbe280d4114c79593e94bfac6205a1136208 Mon Sep 17 00:00:00 2001 From: schinfo Date: Tue, 16 Apr 2019 00:52:01 +0200 Subject: [PATCH 08/10] DEV_NAME for Raspberry not declared - fixed some little optimizations in dialog-windows --- manjaro-arm-installer | 48 +++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 5515f54..340e532 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -14,6 +14,7 @@ ROOTPASSWORD="" SDCARD="" SDTYP="" SDDEV="" +DEV_NAME="" TIMEZONE="" LOCALE="" @@ -238,10 +239,11 @@ prepare_card () { elif [[ "$DEVICE" = "oc1" ]] || [[ "$DEVICE" = "oc2" ]] || [[ "$DEVICE" = "xu4" ]]; then # umount SD card umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + umount ${SDCARD}${SDDEV}2 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 - + #partition with a single root partition parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 @@ -257,10 +259,11 @@ prepare_card () { elif [[ "$DEVICE" = "pinebook" ]] || [[ "$DEVICE" = "sopine" ]]; then # umount SD card umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + umount ${SDCARD}${SDDEV}2 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=8 1> /dev/null 2>&1 - + #partition with a single root partition parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 0% 100% 1> /dev/null 2>&1 @@ -276,10 +279,11 @@ prepare_card () { elif [[ "$DEVICE" = "rock64" ]] || [[ "$DEVICE" = "rockpro64" ]]; then # umount SD card umount ${SDCARD}${SDDEV}1 1> /dev/null 2>&1 + umount ${SDCARD}${SDDEV}2 1> /dev/null 2>&1 #Clear first 8mb dd if=/dev/zero of=${SDCARD} bs=1M count=32 1> /dev/null 2>&1 - + #partition with a single root partition parted -s $SDCARD mklabel msdos 1> /dev/null 2>&1 parted -s $SDCARD mkpart primary ext4 32M 100% 1> /dev/null 2>&1 @@ -347,27 +351,30 @@ fi # Using Dialog to ask for user input for variables DEVICE=$(dialog --clear --title "Manjaro ARM Installer" \ - --menu "Choose a device:" 20 51 6 \ - "rpi3" "Raspberry Pi 3" \ - "oc2" "Odroid C2" \ - "pinebook" "Pinebook" \ - "sopine" "Sopine/Pine64-LTS" \ - "rock64" "Rock64" \ - "rpi2" "Raspberry Pi 2 (unmaintained)" \ - "oc1" "Odroid C1/C1+ (unmaintained)" \ - "xu4" "Odroid XU4 (unmaintained)" 3>&1 1>&2 2>&3 3>&-) + --menu "Choose a device:" 20 70 10 \ + "pinebook" "Pinebook" \ + "rock64" "ROCK64" \ + "rockpro64" "ROCKPro64" \ + "sopine" "SOPINE / PINE A64-LTS" \ + "oc2" "Odroid C2" \ + "rpi3" "Raspberry Pi 3" \ + "oc1" "Odroid C1/C1+ (unmaintained)" \ + "xu4" "Odroid XU4 (unmaintained)" \ + "rpi2" "Raspberry Pi 2 (unmaintained)" \ + 3>&1 1>&2 2>&3 3>&-) #The if statement makes sure that the user has put in something in the previous prompt. If not (left blank or pressed cancel) the script will end if [ ! -z "$DEVICE" ] then EDITION=$(dialog --clear --title "Manjaro ARM Installer" \ - --menu "Choose an edition:" 20 50 5 \ - "minimal" "Minimal Edition (Just CLI)" \ - "lxqt" "Full LXQT Desktop and apps (lightweight)" \ - "kde" "Full KDE/Plasma Desktop (Heavy)" \ - "mate" "Full MATE desktop and apps (lightweight, unmaintained)" \ - "i3" "Mininal i3 WM with apps (very light)" 3>&1 1>&2 2>&3 3>&-) + --menu "Choose an edition:" 20 70 10 \ + "minimal" "Minimal Edition (only CLI)" \ + "kde" "Full KDE/Plasma Desktop (Heavy)" \ + "lxqt" "Full LXQT Desktop and apps (lightweight)" \ + "i3" "Mininal i3 WM with apps (very light)" \ + "mate" "Full MATE desktop and apps (lightweight, unmaintained)" \ + 3>&1 1>&2 2>&3 3>&-) else clear @@ -426,10 +433,11 @@ while read -r line; do W+=($line "") done < <( lsblk -dn -o NAME ) SDCARD=$(dialog --title "Manjaro ARM Installer" \ - --menu "Choose your SDCard - Be sure the correct drive is selected!" 20 50 5 \ + --menu "Choose your SDCard - Be sure the correct drive is selected!" 20 50 10 \ "${W[@]}" 3>&2 2>&1 1>&3) # add /dev/ to the selected option above +DEV_NAME=$SDCARD SDCARD=/dev/$SDCARD SDTYP=${SDCARD:5:2} else @@ -502,7 +510,7 @@ if [ ! -z "$KEYMAP" ] then HOSTNAME=$(dialog --clear --title "Manjaro ARM Installer" \ --inputbox "Enter desired hostname for this system:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ + 3>&1 1>&2 2>&3 3>&- \ ) else clear From 031b1c2d1cf2a41c3a2a69d10297152c0a8fe6af Mon Sep 17 00:00:00 2001 From: schinfo Date: Tue, 16 Apr 2019 01:04:50 +0200 Subject: [PATCH 09/10] **empty** SD/eMMC (problem with two partitions - before used for Raspberry) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce00edd..5597647 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ This script is "interactive". Meaning that it asks you questions when run to cus ## Installing: To use this script, please make sure that the following is correct: -* an SD/eMMC card with at least 8 GB storage is plugged in. +* an **empty** SD/eMMC card with at least 8 GB storage is plugged in. * that your user account has `sudo` rights. ## Known Issues: From 021ad7773873fa365737b17cd0de01e56cdc8c61 Mon Sep 17 00:00:00 2001 From: schinfo Date: Tue, 16 Apr 2019 16:32:58 +0200 Subject: [PATCH 10/10] optimize dialog-boxes --- manjaro-arm-installer | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 340e532..969fe97 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -351,7 +351,7 @@ fi # Using Dialog to ask for user input for variables DEVICE=$(dialog --clear --title "Manjaro ARM Installer" \ - --menu "Choose a device:" 20 70 10 \ + --menu "Choose a device:" 20 75 10 \ "pinebook" "Pinebook" \ "rock64" "ROCK64" \ "rockpro64" "ROCKPro64" \ @@ -368,7 +368,7 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer" \ if [ ! -z "$DEVICE" ] then EDITION=$(dialog --clear --title "Manjaro ARM Installer" \ - --menu "Choose an edition:" 20 70 10 \ + --menu "Choose an edition:" 20 75 10 \ "minimal" "Minimal Edition (only CLI)" \ "kde" "Full KDE/Plasma Desktop (Heavy)" \ "lxqt" "Full LXQT Desktop and apps (lightweight)" \ @@ -528,7 +528,7 @@ dialog --clear --title "Manjaro ARM Installer" \ Timezone = $TIMEZONE Locale = $LOCALE Keyboard layout = $KEYMAP - Hostname = $HOSTNAME" 20 50 \ + Hostname = $HOSTNAME" 20 70 \ 3>&1 1>&2 2>&3 3>&- else clear