From 4f9bc9c4f25337ac443134166268b1f97b947dd8 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Sat, 9 Oct 2021 15:03:04 +0200 Subject: [PATCH 1/6] Add preliminary PinePhone and PineTab support This adds the option to choose either PinePhone or PineTab in the device menu. It also adds Plasma Mobile and Phosh specific settings and installation workarounds to get a working system going. Be aware that the Installer always uses the stable branch and as the profiles for mobile devices often change, the profile might fail to install because of missing packages or settings. Signed-off-by: Dan Johansen --- manjaro-arm-installer | 97 +++++++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 023da67..e959d8f 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -141,6 +141,7 @@ create_install() { # Install device and editions specific packages $NSPAWN $TMPDIR/root pacman -Syyu base manjaro-system manjaro-release systemd systemd-libs $PKG_EDITION $PKG_DEVICE --noconfirm + info "Enabling services..." # Enable services $NSPAWN $TMPDIR/root systemctl enable getty.target haveged.service 1>/dev/null @@ -168,6 +169,12 @@ create_install() { info "Setting password for root ..." $NSPAWN $TMPDIR/root awk -i inplace -F: "BEGIN {OFS=FS;} \$1 == \"root\" {\$2=\"$(openssl passwd -6 $(cat $TMPDIR/rootpassword))\"} 1" /etc/shadow 1> /dev/null 2>&1 + + if [[ "$EDITION" = "plasma-mobile" ]]; then + $NSPAWN $TMPDIR/root userdel -f -r kde + elif [[ "$EDITION" = "phosh" ]]; then + $NSPAWN $TMPDIR/root userdel -f -r manjaro + fi info "Adding user..." $NSPAWN $TMPDIR/root useradd -m -G wheel,sys,audio,input,video,storage,lp,network,users,power -p $(openssl passwd -6 $(cat $TMPDIR/password)) -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 @@ -202,10 +209,13 @@ create_install() { sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/X11/xorg.conf.d/00-keyboard.conf fi if [[ "$EDITION" = "sway" ]]; then - sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/sway/inputs/default-keyboard 1> /dev/null 2>&1 + sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/sway/inputs/default-keyboard 1> /dev/null 2>&1 fi echo "$HOSTNAME" | tee --append $TMPDIR/root/etc/hostname 1> /dev/null 2>&1 sed -i s/"enable systemd-resolved.service"/"#enable systemd-resolved.service"/ $TMPDIR/root/usr/lib/systemd/system-preset/90-systemd.preset + if [[ "$EDITION" = "plasma-mobile" ]]; then + sed -i "s/User=kde/User=$USER/g" $TMPDIR/root/etc/sddm.conf.d/00-default.conf + fi echo "Correcting permissions from overlay..." chown -R root:root $TMPDIR/root/etc @@ -380,7 +390,7 @@ cleanup () { dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE.bin of=${SDCARD} conv=fsync bs=128k seek=1 1> /dev/null 2>&1 ;; pinephone) - dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE.bin of=${SDCARD} conv=fsync bs=8k seek=1 1> /dev/null 2>&1 + dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE-552.bin of=${SDCARD} conv=fsync bs=8k seek=1 1> /dev/null 2>&1 ;; pbpro|rockpro64|rockpi4b|rockpi4c|nanopc-t4|rock64|roc-cc|clockworkpi-a06) dd if=$TMPDIR/boot/idbloader.img of=${SDCARD} seek=64 conv=notrunc,fsync 1> /dev/null 2>&1 @@ -517,6 +527,8 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ "pine64-lts" "Pine64-LTS / Sopine" \ "pine64" "Pine64+" \ "pine-h64" "Pine H64" \ + "pinetab" "PineTab" \ + "pinephone" "PinePhone" \ "rock64" "Rock64" \ "roc-cc" "LibreComputer Renegade" \ "nanopc-t4" "NanoPC T4" \ @@ -530,6 +542,13 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ #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 + if [[ "$DEVICE" = "pinetab" ]] || [[ "$DEVICE" = "pinephone" ]]; then + EDITION=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --menu "Choose an edition:" 20 75 10 \ + "plasma-mobile" "Plasma Mobile (QT based mobile UI)" \ + "phosh" "Phosh (GTK based mobile UI)" \ + 3>&1 1>&2 2>&3 3>&-) + else EDITION=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ --menu "Choose an edition:" 20 75 10 \ "minimal" "Minimal Edition (only CLI)" \ @@ -543,18 +562,27 @@ if [ ! -z "$DEVICE" ]; then "server" "Minimal with LAMP and Docker (only cli)" \ "budgie" "Full Budgie desktop (EXPERIMENTAL))" \ 3>&1 1>&2 2>&3 3>&-) - + fi else clear exit 1 fi - +if [[ "$EDITION" = "phosh" ]]; then + #Set Phosh specific variables + USER="manjaro" + PASSWORD="123456" + CONFIRMPASSWORD="123456" + ROOTPASSWORD="root" + CONFIRMROOTPASSWORD="root" +fi if [ ! -z "$EDITION" ]; then - USER=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --inputbox "Enter the username you want: + if [[ "$EDITION" != "phosh" ]]; then + USER=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --inputbox "Enter the username you want: (usernames must be all lowercase and first character may not be a number)" 10 90 \ - 3>&1 1>&2 2>&3 3>&-) + 3>&1 1>&2 2>&3 3>&-) + fi if [[ "$USER" =~ [A-Z] ]] || [[ "$USER" =~ ^[0-9] ]] || [[ "$USER" == *['!'@#\$%^\&*()_+]* ]]; then clear msg "Configuration aborted! Username contained invalid characters." @@ -590,20 +618,24 @@ fi if [ ! -z "$FULLNAME" ]; then - PASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Enter new Password for $USER:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + PASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Enter new Password for $USER:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 fi if [ ! -z "$PASSWORD" ]; then - CONFIRMPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Confirm new Password for $USER:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + CONFIRMPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Confirm new Password for $USER:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 @@ -616,20 +648,24 @@ if [[ "$PASSWORD" != "$CONFIRMPASSWORD" ]]; then fi if [ ! -z "$CONFIRMPASSWORD" ]; then - ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Enter new Root Password:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Enter new Root Password:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 fi if [ ! -z "$ROOTPASSWORD" ]; then - CONFIRMROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Confirm new Root Password:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + CONFIRMROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Confirm new Root Password:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 @@ -815,10 +851,19 @@ esac installer_getarmprofiles #Package lists +sed -i 's/pico-wizard-plamo-scripts//g' $TMPDIR/arm-profiles/editions/$EDITION +sed -i 's/pico-wizard-git//g' $TMPDIR/arm-profiles/editions/$EDITION PKG_DEVICE=$(grep "^[^#;]" $TMPDIR/arm-profiles/devices/$DEVICE | awk '{print $1}') -PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{print $1}') -SRV_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/services/$EDITION | awk '{print $1}') -cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e '/>pinephone/d' >$srv_list +case "$DEVICE" in + pinephone) + PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{sub(/>pinephone/,""); print $1}') + cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e 's/>pinephone //g' >$srv_list + ;; + *) + PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{sub(/>pinephone.*/,""); print $1}') + cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e '/>pinephone/d' >$srv_list + ;; +esac # Commands From d4b1fdcc3b760183b4416e46d8e0cffe334909a0 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Tue, 8 Feb 2022 20:23:30 +0100 Subject: [PATCH 2/6] add quartz64-a support, fixes #40 Signed-off-by: Dan Johansen --- README.md | 2 ++ manjaro-arm-installer | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 005a451..a603dc9 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,8 @@ sudo bash ./manjaro-arm-installer * Rock64 * LibreComputer Renegade (Roc-CC) * NanoPC T4 +* ClockworkPI DevTerm (new) +* Quartz64 Model A (new) * Khadas Vim 3 * Khadas Vim 2 * Khadas Vim 1 diff --git a/manjaro-arm-installer b/manjaro-arm-installer index e959d8f..a2ad623 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -392,7 +392,7 @@ cleanup () { pinephone) dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE-552.bin of=${SDCARD} conv=fsync bs=8k seek=1 1> /dev/null 2>&1 ;; - pbpro|rockpro64|rockpi4b|rockpi4c|nanopc-t4|rock64|roc-cc|clockworkpi-a06) + pbpro|rockpro64|rockpi4b|rockpi4c|nanopc-t4|rock64|roc-cc|clockworkpi-a06|quartz64-a) dd if=$TMPDIR/boot/idbloader.img of=${SDCARD} seek=64 conv=notrunc,fsync 1> /dev/null 2>&1 dd if=$TMPDIR/boot/u-boot.itb of=${SDCARD} seek=16384 conv=notrunc,fsync 1> /dev/null 2>&1 ;; @@ -533,6 +533,7 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ "roc-cc" "LibreComputer Renegade" \ "nanopc-t4" "NanoPC T4" \ "clockworkpi-a06" "ClockworkPi DevTerm" \ + "quartz64-a" "Quartz64 Model A" \ "vim3" "Khadas Vim 3" \ "vim2" "Khadas Vim 2" \ "vim1" "Khadas Vim 1" \ From 46059353a39d827af0cc76c0432153922050f257 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Sat, 9 Oct 2021 15:03:04 +0200 Subject: [PATCH 3/6] Add preliminary PinePhone and PineTab support This adds the option to choose either PinePhone or PineTab in the device menu. It also adds Plasma Mobile and Phosh specific settings and installation workarounds to get a working system going. Be aware that the Installer always uses the stable branch and as the profiles for mobile devices often change, the profile might fail to install because of missing packages or settings. Signed-off-by: Dan Johansen --- manjaro-arm-installer | 97 +++++++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index eacda5a..59bb396 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -141,6 +141,7 @@ create_install() { # Install device and editions specific packages $NSPAWN $TMPDIR/root pacman -Syyu base manjaro-system manjaro-release systemd systemd-libs $PKG_EDITION $PKG_DEVICE --noconfirm + info "Enabling services..." # Enable services $NSPAWN $TMPDIR/root systemctl enable getty.target haveged.service 1>/dev/null @@ -168,6 +169,12 @@ create_install() { info "Setting password for root ..." $NSPAWN $TMPDIR/root awk -i inplace -F: "BEGIN {OFS=FS;} \$1 == \"root\" {\$2=\"$(openssl passwd -6 $(cat $TMPDIR/rootpassword))\"} 1" /etc/shadow 1> /dev/null 2>&1 + + if [[ "$EDITION" = "plasma-mobile" ]]; then + $NSPAWN $TMPDIR/root userdel -f -r kde + elif [[ "$EDITION" = "phosh" ]]; then + $NSPAWN $TMPDIR/root userdel -f -r manjaro + fi info "Adding user..." $NSPAWN $TMPDIR/root useradd -m -G wheel,sys,audio,input,video,storage,lp,network,users,power -p $(openssl passwd -6 $(cat $TMPDIR/password)) -s /bin/bash $(cat $TMPDIR/user) 1> /dev/null 2>&1 @@ -202,10 +209,13 @@ create_install() { sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/X11/xorg.conf.d/00-keyboard.conf fi if [[ "$EDITION" = "sway" ]]; then - sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/sway/inputs/default-keyboard 1> /dev/null 2>&1 + sed -i s/"us"/"$X11KEYMAP"/ $TMPDIR/root/etc/sway/inputs/default-keyboard 1> /dev/null 2>&1 fi echo "$HOSTNAME" | tee --append $TMPDIR/root/etc/hostname 1> /dev/null 2>&1 sed -i s/"enable systemd-resolved.service"/"#enable systemd-resolved.service"/ $TMPDIR/root/usr/lib/systemd/system-preset/90-systemd.preset + if [[ "$EDITION" = "plasma-mobile" ]]; then + sed -i "s/User=kde/User=$USER/g" $TMPDIR/root/etc/sddm.conf.d/00-default.conf + fi echo "Correcting permissions from overlay..." chown -R root:root $TMPDIR/root/etc @@ -380,7 +390,7 @@ cleanup () { dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE.bin of=${SDCARD} conv=fsync bs=128k seek=1 1> /dev/null 2>&1 ;; pinephone) - dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE.bin of=${SDCARD} conv=fsync bs=8k seek=1 1> /dev/null 2>&1 + dd if=$TMPDIR/boot/u-boot-sunxi-with-spl-$DEVICE-552.bin of=${SDCARD} conv=fsync bs=8k seek=1 1> /dev/null 2>&1 ;; pbpro|rockpro64|rockpi4b|rockpi4c|nanopc-t4|rock64|roc-cc|clockworkpi-a06|quartz64-a) dd if=$TMPDIR/boot/idbloader.img of=${SDCARD} seek=64 conv=notrunc,fsync 1> /dev/null 2>&1 @@ -518,6 +528,8 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ "pine64-lts" "Pine64-LTS / Sopine" \ "pine64" "Pine64+" \ "pine-h64" "Pine H64" \ + "pinetab" "PineTab" \ + "pinephone" "PinePhone" \ "rock64" "Rock64" \ "roc-cc" "LibreComputer Renegade" \ "nanopc-t4" "NanoPC T4" \ @@ -532,6 +544,13 @@ DEVICE=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ #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 + if [[ "$DEVICE" = "pinetab" ]] || [[ "$DEVICE" = "pinephone" ]]; then + EDITION=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --menu "Choose an edition:" 20 75 10 \ + "plasma-mobile" "Plasma Mobile (QT based mobile UI)" \ + "phosh" "Phosh (GTK based mobile UI)" \ + 3>&1 1>&2 2>&3 3>&-) + else EDITION=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ --menu "Choose an edition:" 20 75 10 \ "minimal" "Minimal Edition (only CLI)" \ @@ -545,18 +564,27 @@ if [ ! -z "$DEVICE" ]; then "server" "Minimal with LAMP and Docker (only cli)" \ "budgie" "Full Budgie desktop (EXPERIMENTAL))" \ 3>&1 1>&2 2>&3 3>&-) - + fi else clear exit 1 fi - +if [[ "$EDITION" = "phosh" ]]; then + #Set Phosh specific variables + USER="manjaro" + PASSWORD="123456" + CONFIRMPASSWORD="123456" + ROOTPASSWORD="root" + CONFIRMROOTPASSWORD="root" +fi if [ ! -z "$EDITION" ]; then - USER=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --inputbox "Enter the username you want: + if [[ "$EDITION" != "phosh" ]]; then + USER=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --inputbox "Enter the username you want: (usernames must be all lowercase and first character may not be a number)" 10 90 \ - 3>&1 1>&2 2>&3 3>&-) + 3>&1 1>&2 2>&3 3>&-) + fi if [[ "$USER" =~ [A-Z] ]] || [[ "$USER" =~ ^[0-9] ]] || [[ "$USER" == *['!'@#\$%^\&*()_+]* ]]; then clear msg "Configuration aborted! Username contained invalid characters." @@ -592,20 +620,24 @@ fi if [ ! -z "$FULLNAME" ]; then - PASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Enter new Password for $USER:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + PASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Enter new Password for $USER:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 fi if [ ! -z "$PASSWORD" ]; then - CONFIRMPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Confirm new Password for $USER:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + CONFIRMPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Confirm new Password for $USER:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 @@ -618,20 +650,24 @@ if [[ "$PASSWORD" != "$CONFIRMPASSWORD" ]]; then fi if [ ! -z "$CONFIRMPASSWORD" ]; then - ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Enter new Root Password:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + ROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Enter new Root Password:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 fi if [ ! -z "$ROOTPASSWORD" ]; then - CONFIRMROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ - --insecure --passwordbox "Confirm new Root Password:" 8 50 \ - 3>&1 1>&2 2>&3 3>&- \ - ) + if [[ "$EDITION" != "phosh" ]]; then + CONFIRMROOTPASSWORD=$(dialog --clear --title "Manjaro ARM Installer v${VERSION}" \ + --insecure --passwordbox "Confirm new Root Password:" 8 50 \ + 3>&1 1>&2 2>&3 3>&- \ + ) + fi else clear exit 1 @@ -817,10 +853,19 @@ esac installer_getarmprofiles #Package lists +sed -i 's/pico-wizard-plamo-scripts//g' $TMPDIR/arm-profiles/editions/$EDITION +sed -i 's/pico-wizard-git//g' $TMPDIR/arm-profiles/editions/$EDITION PKG_DEVICE=$(grep "^[^#;]" $TMPDIR/arm-profiles/devices/$DEVICE | awk '{print $1}') -PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{print $1}') -SRV_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/services/$EDITION | awk '{print $1}') -cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e '/>pinephone/d' >$srv_list +case "$DEVICE" in + pinephone) + PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{sub(/>pinephone/,""); print $1}') + cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e 's/>pinephone //g' >$srv_list + ;; + *) + PKG_EDITION=$(grep "^[^#;]" $TMPDIR/arm-profiles/editions/$EDITION | awk '{sub(/>pinephone.*/,""); print $1}') + cat $TMPDIR/arm-profiles/services/$EDITION | sed -e '/^#/d' -e '/>pinephone/d' >$srv_list + ;; +esac # Commands From 4c5426ff6f9a02b174507dba84d450c595593a6f Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Tue, 8 Feb 2022 20:23:30 +0100 Subject: [PATCH 4/6] add quartz64-a support, fixes #40 Signed-off-by: Dan Johansen --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0e4f9f5..90ca0b0 100644 --- a/README.md +++ b/README.md @@ -74,8 +74,8 @@ sudo bash ./manjaro-arm-installer * Rock64 * LibreComputer Renegade (Roc-CC) * NanoPC T4 -* ClockworkPI DevTerm -* Quartz64 Model A +* ClockworkPI DevTerm (new) +* Quartz64 Model A (new) * Khadas Vim 3 * Khadas Vim 2 * Khadas Vim 1 From c47b3460fe31395407dbbb553421d9795683b792 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Wed, 6 Apr 2022 16:54:47 +0200 Subject: [PATCH 5/6] fix a couple of issues with btrfs and f2fs filesystem options Signed-off-by: Dan Johansen --- manjaro-arm-installer | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 59bb396..3121861 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -233,16 +233,16 @@ create_install() { case "$FSTYPE" in btrfs) info "Adding btrfs support to system..." - if [ -f $TMPDIR/boot/extlinux/extlinux.conf ]; then - sed -i 's/APPEND/& rootflags=subvol=@/' $TMPDIR/boot/extlinux/extlinux.conf - elif [ -f $TMPDIR/boot/boot.ini ]; then - sed -i 's/setenv bootargs "/&rootflags=subvol=@ /' $TMPDIR/boot/boot.ini - elif [ -f $TMPDIR/boot/uEnv.ini ]; then - sed -i 's/setenv bootargs "/&rootflags=subvol=@ /' $TMPDIR/boot/uEnv.ini - #elif [ -f $TMPDIR/boot/cmdline.txt ]; then - # sed -i 's/^/rootflags=subvol=@ rootfstype=btrfs /' $TMPDIR/boot/cmdline.txt - elif [ -f $TMPDIR/boot/boot.txt ]; then - sed -i 's/setenv bootargs/& rootflags=subvol=@/' $TMPDIR/boot/boot.txt + if [ -f $TMPDIR/root/boot/extlinux/extlinux.conf ]; then + sed -i 's/APPEND/& rootflags=subvol=@/' $TMPDIR/root/boot/extlinux/extlinux.conf + elif [ -f $TMPDIR/root/boot/boot.ini ]; then + sed -i 's/setenv bootargs /&rootflags=subvol=@ /' $TMPDIR/root/boot/boot.ini + elif [ -f $TMPDIR/root/boot/uEnv.ini ]; then + sed -i 's/setenv bootargs /&rootflags=subvol=@ /' $TMPDIR/root/boot/uEnv.ini + #elif [ -f $TMPDIR/root/boot/cmdline.txt ]; then + # sed -i 's/^/rootflags=subvol=@ rootfstype=btrfs /' $TMPDIR/root/boot/cmdline.txt + elif [ -f $TMPDIR/root/boot/boot.txt ]; then + sed -i 's/setenv bootargs/& rootflags=subvol=@/' $TMPDIR/root/boot/boot.txt $NSPAWN $TMPDIR/root mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d /boot/boot.txt /boot/boot.scr fi echo "LABEL=ROOT_MNJRO / btrfs subvol=@,compress=zstd,defaults,noatime 0 0" >> $TMPDIR/root/etc/fstab @@ -252,10 +252,10 @@ create_install() { ;; f2fs) info "Adding f2fs support to system..." - $NSPAWN $TMPDIR/root pacman -S f2fs-tools --noconfirm 1> /dev/null 2>&1 + $NSPAWN $TMPDIR/root pacman -S f2fs-tools --noconfirm #1> /dev/null 2>&1 echo "LABEL=ROOT_MNJRO / f2fs defaults,noatime,compress_algorithm=zstd 0 0" >> $TMPDIR/root/etc/fstab sed -i '/^MODULES/{s/)/ f2fs)/}' $TMPDIR/root/etc/mkinitcpio.conf - $NSPAWN $TMPDIR/root mkinitcpio -P 1> /dev/null 2>&1 + $NSPAWN $TMPDIR/root mkinitcpio -P #1> /dev/null 2>&1 ;; *) info "Adding ext4 support to system..." @@ -338,7 +338,7 @@ prepare_card () { mkdir -p $TMPDIR/root mkdir -p $TMPDIR/boot mount ${SDCARD}${SDDEV}1 $TMPDIR/boot - mount ${SDCARD}${SDDEV}2 $TMPDIR/root + mount -t f2fs ${SDCARD}${SDDEV}2 $TMPDIR/root ;; ext4) parted -s $SDCARD mkpart primary ext4 "${END_SECTOR}s" 100% 1> /dev/null 2>&1 @@ -419,8 +419,9 @@ cleanup () { sed -i "s/LABEL=ROOT_MNJRO/PARTUUID=$ROOT_PARTUUID/g" $TMPDIR/boot/boot.ini elif [ -f $TMPDIR/boot/uEnv.ini ]; then sed -i "s/LABEL=ROOT_MNJRO/PARTUUID=$ROOT_PARTUUID/g" $TMPDIR/boot/uEnv.ini - #elif [ -f $TMPDIR/boot/cmdline.txt ]; then - # sed -i "s/PARTUUID=/PARTUUID=$ROOT_PARTUUID/g" $TMPDIR/boot/cmdline.txt + #elif [ -f $TMPDIR/boot/boot.txt ]; then + # sed -i "s/PARTUUID=/PARTUUID=$ROOT_PARTUUID/g" $TMPDIR/boot/boot.txt + # $NSPAWN $TMPDIR/root mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d $TMPDIR/boot/boot.txt $TMPDIR/boot/boot.scr fi sync @@ -720,7 +721,6 @@ if [ ! -z "$SDCARD" ]; then "btrfs" "Uses btrfs for root partition and makes / and /home subvolumes" \ "f2fs" "Use f2fs for the root partition" \ 3>&1 1>&2 2>&3 3>&-) - else clear exit 1 From d46bfb80736beaf6815f2aafaf880fc08a8fe3c7 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Wed, 6 Apr 2022 16:56:41 +0200 Subject: [PATCH 6/6] hide a few things used for debugging filesystem issues Signed-off-by: Dan Johansen --- manjaro-arm-installer | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manjaro-arm-installer b/manjaro-arm-installer index 3121861..606de2d 100755 --- a/manjaro-arm-installer +++ b/manjaro-arm-installer @@ -252,10 +252,10 @@ create_install() { ;; f2fs) info "Adding f2fs support to system..." - $NSPAWN $TMPDIR/root pacman -S f2fs-tools --noconfirm #1> /dev/null 2>&1 + $NSPAWN $TMPDIR/root pacman -S f2fs-tools --noconfirm 1> /dev/null 2>&1 echo "LABEL=ROOT_MNJRO / f2fs defaults,noatime,compress_algorithm=zstd 0 0" >> $TMPDIR/root/etc/fstab sed -i '/^MODULES/{s/)/ f2fs)/}' $TMPDIR/root/etc/mkinitcpio.conf - $NSPAWN $TMPDIR/root mkinitcpio -P #1> /dev/null 2>&1 + $NSPAWN $TMPDIR/root mkinitcpio -P 1> /dev/null 2>&1 ;; *) info "Adding ext4 support to system..."