@@ -47,7 +47,6 @@ EDITION=
4747SUFFIX=
4848ADD_DOS_PART=1
4949SIGN_PASS=
50- RPI_NEW=0
5150while (( $# ))
5251do
5352 case $1 in
6463 ' -s' ) shift ; SUFFIX=$1 ;;
6564 ' --no-dos-part' ) ADD_DOS_PART=0;;
6665 ' --sign' ) shift ; SIGN_PASS=$1 ;;
67- ' --rpi-new' ) RPI_NEW=1;;
6866 * ) G_DIETPI-NOTIFY 1 " Invalid input \" $1 \" , aborting..." ; exit 1;;
6967 esac
7068 shift
@@ -85,31 +83,31 @@ case $HW_MODEL in
8583 5) iname=' RPi5' HW_ARCH=3 boot_size=128 root_size=895;;
8684 10) iname=' OdroidC1' HW_ARCH=2 partition_start=4 boot_size=128 root_size=700 boot_fstype=' fat16' ;;
8785 11) iname=' OdroidXU4' HW_ARCH=2 partition_start=4 root_size=764;;
88- 12) iname=' OdroidC2' HW_ARCH=3 partition_start=4 root_size=892 ;;
89- 15) iname=' OdroidN2' HW_ARCH=3 partition_start=4 root_size=892 ;;
90- 16) iname=' OdroidC4' HW_ARCH=3 partition_start=4 root_size=892 ;;
86+ 12) iname=' OdroidC2' HW_ARCH=3 partition_start=4 root_size=1020 ;;
87+ 15) iname=' OdroidN2' HW_ARCH=3 partition_start=4 root_size=1020 ;;
88+ 16) iname=' OdroidC4' HW_ARCH=3 partition_start=4 root_size=1020 ;;
9189 20) iname=' VM' HW_ARCH=${HW_ARCH:- 10} VMTYPE=${VMTYPE:- raw} ;;
92- 21) iname=' NativePC-BIOS' HW_ARCH=10 root_size=1215 ;;
90+ 21) iname=' NativePC-BIOS' HW_ARCH=10 root_size=1663 ;;
9391 40) iname=' PINEA64' HW_ARCH=3 partition_start=4 root_size=892;;
94- 42) iname=' ROCKPro64' HW_ARCH=3 partition_start=16 root_size=880 ;;
95- 43) iname=' ROCK64' HW_ARCH=3 partition_start=16 root_size=880 ;;
92+ 42) iname=' ROCKPro64' HW_ARCH=3 partition_start=16 root_size=1008 ;;
93+ 43) iname=' ROCK64' HW_ARCH=3 partition_start=16 root_size=1008 ;;
9694 44) iname=' Pinebook' HW_ARCH=3 partition_start=4 root_size=892;;
9795 45) iname=' PINEH64' HW_ARCH=3 partition_start=4 root_size=892;;
98- 46) iname=' PinebookPro' HW_ARCH=3 partition_start=16 root_size=880 ;;
99- 47) iname=' NanoPiR4S' HW_ARCH=3 partition_start=16 root_size=880 ;;
96+ 46) iname=' PinebookPro' HW_ARCH=3 partition_start=16 root_size=1008 ;;
97+ 47) iname=' NanoPiR4S' HW_ARCH=3 partition_start=16 root_size=1008 ;;
10098 48) iname=' NanoPiR1' HW_ARCH=2 partition_start=4 root_size=764;;
10199 ' 49.1' ) iname=' Quartz64A' HW_ARCH=3 partition_start=16 root_size=752;;
102100 ' 49.2' ) iname=' Quartz64B' HW_ARCH=3 partition_start=16 root_size=752;;
103101 ' 49.3' ) iname=' SOQuartz' HW_ARCH=3 partition_start=16 root_size=752;;
104102 52) iname=' ASUSTB' HW_ARCH=2 partition_start=4 root_size=764;;
105- 54) iname=' NanoPiK2' HW_ARCH=3 partition_start=4 root_size=892 ;;
106- 55) iname=' NanoPiR2S' HW_ARCH=3 partition_start=16 root_size=880 ;;
107- 56) iname=' NanoPiNEO3' HW_ARCH=3 partition_start=16 root_size=880 ;;
103+ 54) iname=' NanoPiK2' HW_ARCH=3 partition_start=4 root_size=1020 ;;
104+ 55) iname=' NanoPiR2S' HW_ARCH=3 partition_start=16 root_size=1008 ;;
105+ 56) iname=' NanoPiNEO3' HW_ARCH=3 partition_start=16 root_size=1008 ;;
108106 57) iname=' NanoPiNEOPlus2' HW_ARCH=3 partition_start=4 root_size=892;;
109- 58) iname=' NanoPiM4V2' HW_ARCH=3 partition_start=16 root_size=880 ;;
107+ 58) iname=' NanoPiM4V2' HW_ARCH=3 partition_start=16 root_size=1008 ;;
110108 59) iname=' ZeroPi' HW_ARCH=2 partition_start=4 root_size=764;;
111109 60) iname=' NanoPiNEO' HW_ARCH=2 partition_start=4 root_size=764;;
112- 61) iname=' NanoPiM2' HW_ARCH=2 partition_start=4 boot_size=64 root_size=572 boot_fstype=' ext4' ;;
110+ 61) iname=' NanoPiM2' HW_ARCH=2 partition_start=4 boot_size=64 root_size=700 boot_fstype=' ext4' ;;
113111 ' 62.1' ) iname=' NanoPiM3' HW_ARCH=3 partition_start=4 root_size=700;;
114112 ' 62.2' ) iname=' NanoPiFire3' HW_ARCH=3 partition_start=4 root_size=700;;
115113 63) iname=' NanoPiM1' HW_ARCH=2 partition_start=4 root_size=764;;
@@ -118,31 +116,31 @@ case $HW_MODEL in
118116 ' 65.2' ) iname=' NanoPiNEO2Black' HW_ARCH=3 partition_start=4 root_size=892;;
119117 66) iname=' NanoPiM1Plus' HW_ARCH=2 partition_start=4 root_size=764;;
120118 67) iname=' NanoPiK1Plus' HW_ARCH=3 partition_start=4 root_size=892;;
121- ' 68.1' ) iname=' NanoPiM4' HW_ARCH=3 partition_start=16 root_size=880 ;;
122- ' 68.2' ) iname=' NanoPCT4' HW_ARCH=3 partition_start=16 root_size=880 ;;
123- ' 68.3' ) iname=' NanoPiNEO4' HW_ARCH=3 partition_start=16 root_size=880 ;;
119+ ' 68.1' ) iname=' NanoPiM4' HW_ARCH=3 partition_start=16 root_size=1008 ;;
120+ ' 68.2' ) iname=' NanoPCT4' HW_ARCH=3 partition_start=16 root_size=1008 ;;
121+ ' 68.3' ) iname=' NanoPiNEO4' HW_ARCH=3 partition_start=16 root_size=1008 ;;
124122 70) iname=' SparkySBC' HW_ARCH=2 partition_start=8 boot_size=48 root_size=712 boot_fstype=' fat16' ;;
125123 ' 72.1' ) iname=' ROCKPi4' HW_ARCH=3 partition_start=16 root_size=1008;;
126124 ' 72.2' ) iname=' ROCK4SE' HW_ARCH=3 partition_start=16 root_size=1008;;
127- 73) iname=' ROCKPiS' HW_ARCH=3 partition_start=16 root_size=880 ;;
128- 74) iname=' RadxaZero' HW_ARCH=3 partition_start=4 root_size=892 ;;
129- 75) iname=' Container' HW_ARCH=${HW_ARCH:- 10} root_size=447 ;;
130- ' 76.1' ) iname=' NanoPiR5S' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
131- ' 76.2' ) iname=' NanoPiR5C' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
132- 77) iname=' ROCK3A' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
133- 78) iname=' ROCK5B' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
134- ' 79.1' ) iname=' NanoPiR6S' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
135- ' 79.2' ) iname=' NanoPiR6C' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
136- ' 79.3' ) iname=' NanoPCT6' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
137- 80) iname=' OrangePi5' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
125+ 73) iname=' ROCKPiS' HW_ARCH=3 partition_start=16 root_size=1008 ;;
126+ 74) iname=' RadxaZero' HW_ARCH=3 partition_start=4 root_size=1020 ;;
127+ 75) iname=' Container' HW_ARCH=${HW_ARCH:- 10} root_size=575 ;;
128+ ' 76.1' ) iname=' NanoPiR5S' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1136 ;;
129+ ' 76.2' ) iname=' NanoPiR5C' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1136 ;;
130+ 77) iname=' ROCK3A' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
131+ 78) iname=' ROCK5B' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
132+ ' 79.1' ) iname=' NanoPiR6S' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
133+ ' 79.2' ) iname=' NanoPiR6C' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
134+ ' 79.3' ) iname=' NanoPCT6' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
135+ 80) iname=' OrangePi5' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
138136 81) iname=' VisionFive2' HW_ARCH=11 root_size=639;;
139- 82) iname=' OrangePi5Plus' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
140- ' 83.1' ) iname=' OrangePiZero3' HW_ARCH=3 partition_start=4 root_size=1020 ;;
141- ' 83.2' ) iname=' OrangePiZero3-1.5G' HW_ARCH=3 partition_start=4 root_size=1020 ;;
137+ 82) iname=' OrangePi5Plus' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
138+ ' 83.1' ) iname=' OrangePiZero3' HW_ARCH=3 partition_start=4 root_size=1148 ;;
139+ ' 83.2' ) iname=' OrangePiZero3-1.5G' HW_ARCH=3 partition_start=4 root_size=1148 ;;
142140 84) iname=' Star64' HW_ARCH=11 root_size=639;;
143- 85) iname=' ROCK5A' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
144- 86) iname=' ASUSTB2' HW_ARCH=3 partition_start=16 root_size=880 ;;
145- 87) iname=' OrangePi3B' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=880 ;;
141+ 85) iname=' ROCK5A' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
142+ 86) iname=' ASUSTB2' HW_ARCH=3 partition_start=16 root_size=1008 ;;
143+ 87) iname=' OrangePi3B' HW_ARCH=3 PTTYPE=' gpt' partition_start=16 root_size=1008 ;;
146144 * ) G_DIETPI-NOTIFY 1 " Invalid hardware model \" $HW_MODEL \" passed, aborting..." ; exit 1;;
147145esac
148146
@@ -166,39 +164,20 @@ case $HW_ARCH in
166164 * ) G_DIETPI-NOTIFY 1 " Invalid architecture \" $HW_ARCH \" passed, aborting..." ; exit 1;;
167165esac
168166
169- exclude=
170167case $DISTRO in
171- 6) distro=' bullseye' exclude=' ,gcc-8-base,gcc-9-base' ;;
172- 7|8)
173- exclude=' ,gcc-8-base,gcc-9-base,gcc-10-base,gcc-11-base'
174- [[ $DISTRO == 7 ]] && distro=' bookworm' || distro=' trixie' exclude+=' ,gcc-12-base,gcc-13-base'
175- [[ $HW_ARCH == 11 ]] && distro=' sid' # RISC-V architecture is available on Sid only
176- # Raise root size where required
177- case $HW_MODEL in
178- 1[256]|54|61|7[4569]) (( root_size+= 128 )) ;;
179- 21) (( root_size+= 448 )) ;;
180- * ) [[ $partition_start == 16 ]] && (( root_size+= 128 )) ;; # 64-bit Rockchip SoCs
181- esac
182- ;;
168+ 6) distro=' bullseye' ;;
169+ 7) distro=' bookworm' ;;
170+ 8) distro=' trixie' ;;
183171 * ) G_DIETPI-NOTIFY 1 " Invalid distro \" $DISTRO \" passed, aborting..." ; exit 1;;
184172esac
173+ [[ $HW_ARCH == 11 ]] && distro=' sid' # RISC-V architecture is available on Sid only
185174
186175case $PTTYPE in
187176 ' msdos' ) : ;;
188177 ' gpt' ) [[ $HW_MODEL == 21 ]] && efi_size=64 iname=' NativePC-UEFI' ITYPE=' Installer' ;;
189178 * ) G_DIETPI-NOTIFY 1 " Invalid partition table type \" $PTTYPE \" passed, aborting..." ; exit 1;;
190179esac
191180
192- if (( $RPI_NEW ))
193- then
194- (( $HW_MODEL < 10 && $DISTRO > 6 )) || { G_DIETPI-NOTIFY 1 " Invalid flag \" --rpi-new\" passed for hardware model \" $HW_MODEL \" or distro \" $DISTRO \" (${distro^} ), aborting..." ; exit 1; }
195-
196- elif (( $HW_MODEL && $HW_MODEL < 10 ))
197- then
198- G_DIETPI-NOTIFY 1 " Invalid hardware model \" $HW_MODEL \" passed without flag \" --rpi-new\" , aborting..."
199- exit 1
200- fi
201-
202181# Do not add trailing FAT partitions for VM, container and (Clonezilla) installer images, and if there is a boot FAT partition already
203182[[ $HW_MODEL == 20 || $HW_MODEL == 75 || $ITYPE == ' Installer' ]] && ADD_DOS_PART=0
204183[[ $boot_size -gt 0 && $boot_fstype == ' fat' * ]] && ADD_DOS_PART=0
361340 G_EXEC " mkfs.$FSTYPE " " ${afs_opts[@]} " " ${FP_LOOP} p2"
362341 G_EXEC mount " ${FP_LOOP} p2" rootfs
363342 fp_boot=' boot'
364- (( $RPI_NEW )) && fp_boot+=' /firmware'
343+ [[ $HW_MODEL == [1245] ]] && fp_boot+=' /firmware'
365344 G_EXEC mkdir -p " rootfs/$fp_boot "
366345 G_EXEC mount " ${FP_LOOP} p1" " rootfs/$fp_boot "
367346 G_EXEC mkdir rootfs/etc
@@ -399,8 +378,8 @@ G_EXEC mount -o X-mount.mkdir -t tmpfs tmpfs rootfs/var/lib/apt/lists
399378G_EXEC mount -o X-mount.mkdir -t tmpfs tmpfs rootfs/var/log
400379packages=' apt,bash-completion,bzip2,ca-certificates,cron,curl,fdisk,gnupg,htop,iputils-ping,locales,nano,p7zip,parted,procps,psmisc,sudo,systemd-sysv,tzdata,udev,unzip,wget,whiptail,'
401380[[ $HW_MODEL == 75 ]] && packages+=' iproute2' || packages+=' console-setup,dropbear,ethtool,fake-hwclock,ifupdown,isc-dhcp-client,kmod,rfkill,systemd-timesyncd,usbutils'
402- G_EXEC_POST_FUNC (){ [[ $exit_code == 0 ]] || cat /dev/shm/ rootfs/debootstrap/debootstrap.log; }
403- G_EXEC_OUTPUT=1 G_EXEC debootstrap --variant=minbase --exclude= " gcc-7-base $exclude " -- include=" $packages " --arch=" $parch " --keyring=" $keyring " " $distro " ./rootfs " $repo "
381+ G_EXEC_POST_FUNC (){ [[ $exit_code == 0 ]] || cat rootfs/debootstrap/debootstrap.log; }
382+ G_EXEC_OUTPUT=1 G_EXEC debootstrap --variant=minbase --include=" $packages " --arch=" $parch " --keyring=" $keyring " " $distro " ./rootfs " $repo "
404383G_EXEC umount rootfs/dev rootfs/run rootfs/var/cache/apt rootfs/var/lib/apt/lists rootfs/var/log
405384
406385# #########################################
@@ -465,7 +444,7 @@ G_EXEC losetup -d "$FP_LOOP"
465444export FP_ROOT_DEV CLONING_TOOL OUTPUT_IMG_NAME MOUNT_IT=' Off' SKIP_ARCHIVE SKIP_FIRSTBOOT_RESIZE=1
466445IMAGER_ARGS=(" $OUTPUT_IMG_NAME .img" )
467446(( $ADD_DOS_PART )) && IMAGER_ARGS+=(' --add-dos-part' )
468- (( $RPI_NEW )) && IMAGER_ARGS+=(' --configs-to-boot' )
447+ [[ $HW_MODEL == [1245] ]] && IMAGER_ARGS+=(' --configs-to-boot' )
469448[[ $SIGN_PASS ]] && IMAGER_ARGS+=(' --sign' " $SIGN_PASS " )
470449if [[ ! $EDITION || $EDITION == ' all' ]]
471450then
497476
498477 # Mount filesystems
499478 G_EXEC mkdir rootfs
500- if (( $RPI_NEW ))
479+ if [[ $HW_MODEL == [1245] ]]
501480 then
502481 G_EXEC mount " ${FP_LOOP} p2" rootfs
503482
@@ -559,9 +538,10 @@ then
559538
560539 # Mount filesystems
561540 G_EXEC mkdir rootfs
562- if (( $RPI_NEW ))
541+ if [[ $HW_MODEL == [1245] ]]
563542 then
564543 G_EXEC mount " ${FP_LOOP} p2" rootfs
544+ G_EXEC mount " ${FP_LOOP} p1" rootfs/boot/firmware
565545
566546 elif (( $boot_size ))
567547 then
@@ -599,9 +579,6 @@ _EOF_
599579 # Force ARMv6 arch on Raspbian
600580 (( $HW_ARCH == 1 )) && echo ' sed --follow-symlinks -i -e ' \' ' /^G_HW_ARCH=/c\G_HW_ARCH=1' \' ' -e ' \' ' /^G_HW_ARCH_NAME=/c\G_HW_ARCH_NAME=armv6l' \' ' /boot/dietpi/.hw_model' > rootfs/boot/Automation_Custom_PreScript.sh
601581
602- # Temporary fix for failing NAA Daemon install on Trixie
603- (( $DISTRO == 8 )) && G_EXEC sed --follow-symlinks -i ' \|www.signalyst.eu|s|bookworm/bullseye|trixie/bullseye|' rootfs/boot/dietpi/dietpi-software
604-
605582 # Skip filesystem expansion
606583 G_EXEC rm rootfs/etc/systemd/system/local-fs.target.wants/dietpi-fs_partition_resize.service
607584
0 commit comments