@@ -22,14 +22,17 @@ _copy_stuff_for_chroot() {
2222 mkdir $WORKDIR /MP/home/alarm
2323 cp build-server-image-chroot.sh $WORKDIR /MP/root/
2424 cp eos-ARM-server-config.sh $WORKDIR /MP/root/
25+ cp resize-fs.service $WORKDIR /MP/root
26+ cp resize-fs.sh $WORKDIR /MP/root
2527 cp smb.conf $WORKDIR /MP/home/alarm
2628 cp config-server.service $WORKDIR /MP/home/alarm/
2729 cp lsb-release $WORKDIR /MP/home/alarm
2830 cp os-release $WORKDIR /MP/home/alarm
29- case $PLATFORM in
30- RPi64) cp rpi4-config.txt $WORKDIR /MP/home/alarm/ ;;
31- OdroidN2) cp n2-boot.ini $WORKDIR /MP/home/alarm ;;
32- esac
31+ cp rpi4-config.txt $WORKDIR /MP/home/alarm/
32+ # case $PLATFORM in
33+ # RPi4) cp rpi4-config.txt $WORKDIR/MP/home/alarm/ ;;
34+ # OdroidN2) cp n2-boot.ini $WORKDIR/MP/home/alarm ;;
35+ # esac
3336 printf " $PLATFORM \n" > platformname
3437 cp platformname $WORKDIR /MP/root/
3538 rm platformname
@@ -38,6 +41,21 @@ _copy_stuff_for_chroot() {
3841 rm type
3942}
4043
44+ _fstab_uuid () {
45+
46+ local fstabuuid=" "
47+
48+ printf " \n${CYAN} Changing /etc/fstab to UUID numbers instead of a lable such as /dev/sda.${NC} \n"
49+ mv $WORKDIR /MP/etc/fstab $WORKDIR /MP/etc/fstab-bkup
50+ partition=$( sed ' s#\/dev\/##g' <<< $PARTNAME1 )
51+ fstabuuid=" UUID=" $( lsblk -o NAME,UUID | grep $partition | awk ' {print $2}' )
52+ # fstabuuid should be UUID=XXXX-XXXX
53+ printf " # /etc/fstab: static file system information.\n#\n# Use 'blkid' to print the universally unique identifier for a device; this may\n" > $WORKDIR /MP/etc/fstab
54+ printf " # be used with UUID= as a more robust way to name devices that works even if\n# disks are added and removed. See fstab(5).\n" >> $WORKDIR /MP/etc/fstab
55+ printf " #\n# <file system> <mount point> <type> <options> <dump> <pass>\n\n" >> $WORKDIR /MP/etc/fstab
56+ printf " $fstabuuid /boot vfat defaults 0 0\n\n" >> $WORKDIR /MP/etc/fstab
57+ } # end of fucntion _fstab_uuid
58+
4159_install_OdroidN2_image () {
4260 local user_confirm
4361 if $DOWNLOAD ; then
@@ -52,30 +70,23 @@ _install_OdroidN2_image() {
5270
5371
5472_install_RPi4_image () {
55- pacstrap -cGM $WORKDIR /MP - < $WORKDIR /pkglist-rpi .txt
73+ pacstrap -cGM $WORKDIR /MP - < $WORKDIR /pkglist-rpi4 .txt
5674 _copy_stuff_for_chroot
5775 case $TYPE in
5876 Rootfs) sed -i ' s/mmcblk0/mmcblk1/' $WORKDIR /MP/etc/fstab
5977 ;;
60- Image) mv $WORKDIR /MP/etc/fstab $WORKDIR /MP/etc/fstab-bkup
61- uuidno=$( lsblk -o UUID $PARTNAME1 )
62- uuidno=$( echo $uuidno | sed ' s/ /=/g' )
63- printf " # /etc/fstab: static file system information.\n#\n# Use 'blkid' to print the universally unique identifier for a device; this may\n" >> $WORKDIR /MP/etc/fstab
64- printf " # be used with UUID= as a more robust way to name devices that works even if\n# disks are added and removed. See fstab(5).\n" >> $WORKDIR /MP/etc/fstab
65- printf " #\n# <file system> <mount point> <type> <options> <dump> <pass>\n\n" >> $WORKDIR /MP/etc/fstab
66- printf " $uuidno /boot vfat defaults 0 0\n" >> $WORKDIR /MP/etc/fstab
67- uuidno=$( lsblk -o UUID $PARTNAME2 )
68- uuidno=$( echo $uuidno | sed ' s/ /=/g' )
69- old=$( awk ' {print $1}' ) $WORKDIR /MP/boot/cmdline.txt
70- new=" root=" $uuidno
71- sed -i " s#$old #$new #" $WORKDIR /MP/boot/cmdline.txt
72- ;;
78+ Image) _fstab_uuid
79+ partition=$( sed ' s#\/dev\/##g' <<< $PARTNAME2 )
80+ uuidno=" root=UUID=" $( lsblk -o NAME,UUID | grep $partition | awk ' {print $2}' )
81+ # uuidno should now be "root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX
82+ old=$( cat $WORKDIR /MP/boot/cmdline.txt | grep root= | awk ' {print $1}' )
83+ sed -i " s#$old #$uuidno #" $WORKDIR /MP/boot/cmdline.txt
84+ ;;
7385 esac
7486} # End of function _install_RPi4_image
7587
7688_partition_format_mount () {
7789
78- # fallocate -l 6G test.img
7990 fallocate -l 7.5G test.img
8091 fallocate -d test.img
8192
@@ -84,7 +95,9 @@ _partition_format_mount() {
8495 printf " \n${CYAN} DEVICENAME ${NC} \n"
8596 echo $DEVICENAME
8697 echo $DVN
87-
98+ printf " \nlosetup -a = "
99+ losetup -a
100+ read z
88101 # #### Determine data device size in MiB and partition ###
89102 printf " \n${CYAN} Partitioning, & formatting storage device...${NC} \n"
90103 DEVICESIZE=$( fdisk -l | grep " Disk $DEVICENAME " | awk ' {print $5}' )
@@ -93,7 +106,7 @@ _partition_format_mount() {
93106 printf " \n${CYAN} Partitioning storage device $DEVICENAME ...${NC} \n"
94107
95108 case $PLATFORM in
96- RPi64 ) _partition_RPi4 ;;
109+ RPi4 ) _partition_RPi4 ;;
97110 OdroidN2) _partition_OdroidN2 ;;
98111 esac
99112
@@ -137,22 +150,21 @@ _arch_chroot(){
137150
138151_create_image (){
139152 case $PLATFORM in
140- OdroidN2)# time bsdtar --use-compress-program=zstdmt -cf $IMAGEDIR /enosARM-server-odroid-n2-latest.tar.zst *
153+ OdroidN2)
154+ xz -kvfT0 -2 $WORKDIR /test.img
141155 time bsdtar -cf - * | zstd -z --rsyncable -10 -T0 -of /$IMAGEDIR /enosARM-server-odroid-n2-latest.tar.zst
142156 printf " \n\nbsdtar is finished creating the image.\nand will calculate a sha512sum\n\n"
143157 dir=$( pwd)
144158 cd /home/$USERNAME /endeavouros-arm/test-images/
145159 sha512sum enosARM-server-odroid-n2-latest.tar.zst > enosARM-server-odroid-n2-latest.tar.zst.sha512sum
146160 cd $dir ;;
147- RPi64 )
161+ RPi4 )
148162 xz -kvfT0 -2 $WORKDIR /test.img
149- cp $WORKDIR /test.img.xz /home/$USERNAME /pudges-place/server-images/enosARM-server-rpi-latest.img.xz
150- printf " \n\nFinished creating the image.\nand will calculate a sha512sum\n\n"
151- cd $WORKDIR
152- dir=$( pwd)
153- cd /home/$USERNAME /pudges-place/server-images/
154- sha512sum enosARM-server-rpi-latest.img.xz > enosARM-server-rpi-latest.img.xz.sha512sum
155- cd $dir ;;
163+ cp $WORKDIR /test.img.xz /home/$USERNAME /endeavouros-arm/test-images/enosARM-server-rpi4-latest.img.xz
164+ printf " \n\nCreating the image is finished.\nand will calculate a sha512sum\n\n"
165+ cd /home/$USERNAME /endeavouros-arm/test-images/
166+ sha512sum enosARM-server-rpi4-latest.img.xz > " enosARM-server-rpi4-latest.img.xz.sha512sum"
167+ cd $WORKDIR ;;
156168 esac
157169} # end of function _create_image
158170
@@ -166,14 +178,14 @@ _create_rootfs(){
166178 cd /home/$USERNAME /endeavouros-arm/test-images/
167179 sha512sum enosLinuxARM-odroid-n2-latest.tar.zst > enosLinuxARM-odroid-n2-latest.tar.zst.sha512sum
168180 cd $dir ;;
169- RPi64 ) # time bsdtar --use-compress-program=zstdmt -cf /home/$USERNAME/endeavouros-arm/test-images/enosLinuxARM-rpi -latest.tar.zst *
170- time bsdtar -cf - * | zstd -z --rsyncable -10 -T0 -of /home/$USERNAME /pudges-place/server-images/enosARM-server-rpi -latest.tar.zst
181+ RPi4 ) # time bsdtar --use-compress-program=zstdmt -cf /home/$USERNAME/endeavouros-arm/test-images/enosLinuxARM-rpi4 -latest.tar.zst *
182+ time bsdtar -cf - * | zstd -z --rsyncable -10 -T0 -of /home/$USERNAME /pudges-place/server-images/enosARM-server-rpi4 -latest.tar.zst
171183 printf " \n${CYAN} bsdtar is finished creating the image.\nand will calculate a sha512sum${NC} \n"
172184
173185 cd $WORKDIR
174186 dir=$( pwd)
175187 cd /home/$USERNAME /pudges-place/server-images/
176- sha512sum enosARM-server-rpi -latest.tar.zst > enosARM-server-rpi -latest.tar.zst.sha512sum
188+ sha512sum enosARM-server-rpi4 -latest.tar.zst > enosARM-server-rpi4 -latest.tar.zst.sha512sum
177189 cd $dir ;;
178190 esac
179191} # end of function _create_rootfs
@@ -185,10 +197,10 @@ _help() {
185197 printf " options:\n"
186198 printf " -h Print this Help.\n\n"
187199 printf " These options are required\n"
188- printf " -p enter platform: rpi or odn\n"
200+ printf " -p enter platform: rpi4 or odn\n"
189201 printf " -t image type: r (for rootfs) or i (for image) \n"
190202 printf " -c create image: (y) or n\n"
191- printf " example: sudo ./build-server-image-eos.sh -p rpi -t i -c y \n"
203+ printf " example: sudo ./build-server-image-eos.sh -p rpi4 -t i -c y \n"
192204 printf " Ensure that the directory $IMAGEDIR exists\n\n"
193205}
194206
@@ -234,7 +246,7 @@ _read_options() {
234246 shift $(( OPTIND- 1 ))
235247
236248 case $PLAT in
237- rpi ) PLATFORM=" RPi64 " ;;
249+ rpi4 ) PLATFORM=" RPi4 " ;;
238250 odn) PLATFORM=" OdroidN2" ;;
239251 * ) PLAT1=true;;
240252 esac
@@ -258,7 +270,7 @@ _read_options() {
258270Main () {
259271 # VARIABLES
260272 PLAT=" "
261- PLATFORM=" " # e.g. OdroidN2, RPi4b , etc.
273+ PLATFORM=" " # e.g. OdroidN2, RPi4 , etc.
262274 DEVICENAME=" " # storage device name e.g. /dev/sda
263275 DEVICESIZE=" 1"
264276 PARTNAME1=" "
@@ -285,7 +297,7 @@ Main() {
285297
286298 _partition_format_mount # function to partition, format, and mount a uSD card or eMMC card
287299 case $PLATFORM in
288- RPi64 ) _install_RPi4_image ;;
300+ RPi4 ) _install_RPi4_image ;;
289301 OdroidN2) _install_OdroidN2_image ;;
290302 esac
291303
@@ -298,34 +310,25 @@ Main() {
298310 esac
299311
300312 if $CREATE ; then
301- case $TYPE in
302- Rootfs)
303- printf " \n${CYAN} Creating Rootfs${NC} \n"
304- cd $WORKDIR /MP
305- _create_rootfs
306- printf " \n${CYAN} Created Rootfs${NC} \n" ;;
307- Image)
308- printf " \n${CYAN} Creating Image${NC} \n"
309- cd $WORKDIR /MP
310- _create_image
311- printf " \n${CYAN} Created Image${NC} \n" ;;
312- esac
313+ if [ " $TYPE " == " Rootfs" ]; then
314+ printf " \n\n${CYAN} Creating Rootfs${NC} \n\n"
315+ _create_rootfs
316+ printf " \n\n${CYAN} Created Rootfs${NC} \n\n"
317+ fi
313318 fi
314319
315- # rm $WORKDIR/MP/root/type
316- # rm $WORKDIR/test.img
317320 umount $WORKDIR /MP/boot $WORKDIR /MP
318321 rm -rf $WORKDIR /MP
319322
320323 losetup -d /dev/loop0
321324
322- # if $CREATE ; then
323- # if [ "$TYPE" == "Image" ]; then
324- # printf "\n${CYAN}Creating Image${NC}\n"
325- # _create_image
326- # printf "\n${CYAN}Created Image${NC}\n"
327- # fi
328- # fi
325+ if $CREATE ; then
326+ if [ " $TYPE " == " Image" ]; then
327+ printf " \n${CYAN} Creating Image${NC} \n"
328+ _create_image
329+ printf " \n${CYAN} Created Image${NC} \n"
330+ fi
331+ fi
329332
330333 exit
331334}
0 commit comments