diff --git a/resources/BuildResources/initramfs-init b/resources/BuildResources/initramfs-init index dfd3adf..6f8461e 100644 --- a/resources/BuildResources/initramfs-init +++ b/resources/BuildResources/initramfs-init @@ -21,8 +21,7 @@ echo In PrawnOS Init #add this to start shell at desired point rescue_shell() { - [ "{$1}" != "debug" ] && echo "Something went wrong. Dropping to a shell." > /dev/tty1 - [ "{$1}" == "debug" ] && echo "Debug flag detected, entering debug shell" > /dev/tty1 + echo "Something went wrong. Dropping to a shell." > /dev/tty1 exec setsid /bin/sh -c 'exec /bin/sh /dev/tty1 2>&1' } @@ -44,7 +43,7 @@ rootpartuuid() { [ "${value}" != "" ] && echo "${value}" } -# mount the bare necesities +# mount the bare necesities mount -n -t proc proc /proc mount -n -t sysfs sysfs /sys mount -n -t devtmpfs devtmpfs /dev @@ -65,28 +64,20 @@ echo ${ROOT_DEV} > /dev/tty1 # the next boot stage CMDLINE='cat /proc/cmdline' -[ -d "/boot" ] || mkdir -p /boot -mount ${ROOT_DEV}2 /boot - -#Debugging can be facilitated by creating /boot/debug -[ -f "/boot/debug" ] && rescue_shell debug - -if [ -f "/boot/root_encryption" ] +if [ -n "$(blkid ${ROOT_DEV}2 | grep crypto_LUKS)" ] then #decrypt and mount the root filesystem echo "Opening encrypted root partition, this will take 30s..." - cryptsetup --tries 5 luksOpen ${ROOT_DEV}3 luksroot || rescue_shell debug + cryptsetup --tries 5 luksOpen ${ROOT_DEV}2 luksroot || rescue_shell mount /dev/mapper/luksroot /newroot else # mount the unencrypted root filesystem [ -d "/newroot" ] || mkdir -p /newroot - mount ${ROOT_DEV}3 /newroot + mount ${ROOT_DEV}2 /newroot fi umount /sys umount /proc - - #swith to the new rootfs exec switch_root /newroot /sbin/init ${CMDLINE} diff --git a/resources/InstallResources/mmc.partmap b/resources/InstallResources/mmc.partmap index 14fc283..28c33de 100644 --- a/resources/InstallResources/mmc.partmap +++ b/resources/InstallResources/mmc.partmap @@ -6,5 +6,4 @@ first-lba: 34 last-lba: 30785502 /dev/mmcblk2p1 : start= 20480, size= 65536, type=FE3A2A5D-4F32-41A7-B725-ACCC3285A309, uuid=89B31CDB-1147-5241-8271-C1ADBB9BBB44, name="Kernel", attrs="GUID:49,51,52,54,56" -/dev/mmcblk2p2 : start= 86016, size= 976562, name="Boot" -/dev/mmcblk2p3 : start= 1062578, size= 29722924, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=63DB8E49-63C4-984E-90A0-8AC3222C4771, name="Root" +/dev/mmcblk2p2 : start= 86016, size= 30699486, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=63DB8E49-63C4-984E-90A0-8AC3222C4771, name="Root" diff --git a/resources/InstallResources/mmc_type2.partmap b/resources/InstallResources/mmc_type2.partmap index 93cd652..683c8e2 100644 --- a/resources/InstallResources/mmc_type2.partmap +++ b/resources/InstallResources/mmc_type2.partmap @@ -1,4 +1,3 @@ - label: gpt label-id: EBA5A923-2F33-7C4E-AC9A-1555FD600D19 device: /dev/mmcblk2 @@ -7,5 +6,4 @@ first-lba: 34 last-lba: 30777310 /dev/mmcblk2p1 : start= 20480, size= 65536, type=FE3A2A5D-4F32-41A7-B725-ACCC3285A309, uuid=89B31CDB-1147-5241-8271-C1ADBB9BBB44, name="Kernel", attrs="GUID:49,51,52,54,56" -/dev/mmcblk2p2 : start= 86016, size= 976562, name="Boot" -/dev/mmcblk2p3 : start= 1062578, size= 29714732, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=63DB8E49-63C4-984E-90A0-8AC3222C4771, name="Root" \ No newline at end of file +/dev/mmcblk2p3 : start= 86016, size= 30699486, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=63DB8E49-63C4-984E-90A0-8AC3222C4771, name="Root" diff --git a/scripts/InstallScripts/InstallToInternal.sh b/scripts/InstallScripts/InstallToInternal.sh index 2690f39..dd5773e 100755 --- a/scripts/InstallScripts/InstallToInternal.sh +++ b/scripts/InstallScripts/InstallToInternal.sh @@ -36,7 +36,6 @@ then dmesg -D umount /dev/mmcblk2p1 || /bin/true umount /dev/mmcblk2p2 || /bin/true - umount /dev/mmcblk2p3 || /bin/true echo Writing partition map DISK_SZ="$(blockdev --getsz /dev/mmcblk2)" @@ -73,15 +72,9 @@ then dd if=/dev/zero of=/dev/mmcblk2p1 bs=512 count=65536 dd if="$BOOT_DEVICE"1 of=/dev/mmcblk2p1 - BOOT_DEV_NAME=mmcblk2p2 - ROOT_DEV_NAME=mmcblk2p3 + ROOT_DEV_NAME=mmcblk2p2 CRYPTO=false - #ready /boot - mkfs.ext4 -F -b 1024 /dev/$BOOT_DEV_NAME - mkdir -p /mnt/boot - mount /dev/$BOOT_DEV_NAME /mnt/boot - #Handle full disk encryption echo "Would you like to setup full disk encrytion using LUKs/DmCrypt?" select yn in "Yes" "No" @@ -96,8 +89,6 @@ then echo "Now unlock the newly created encrypted root partition so we can mount it and install the filesystem" cryptsetup luksOpen /dev/$ROOT_DEV_NAME luksroot || exit 1 ROOT_DEV_NAME=mapper/luksroot - #set the root encryption flag - touch /mnt/boot/root_encryption break ;; No,*|*,No ) @@ -120,7 +111,7 @@ then then echo "/dev/mapper/luksroot / ext4 defaults,noatime 0 1" > /mnt/mmc/etc/fstab else - echo "/dev/mmcblk2p3 / ext4 defaults,noatime 0 1" > /mnt/mmc/etc/fstab + echo "/dev/mmcblk2p2 / ext4 defaults,noatime 0 1" > /mnt/mmc/etc/fstab fi umount /dev/$ROOT_DEV_NAME echo Running fsck diff --git a/scripts/buildFilesystem.sh b/scripts/buildFilesystem.sh index dc6259f..6922048 100755 --- a/scripts/buildFilesystem.sh +++ b/scripts/buildFilesystem.sh @@ -43,7 +43,7 @@ install_resources=resources/InstallResources build_resources=resources/BuildResources #A hacky way to ensure the loops are properly unmounted and the temp files are properly deleted. -#Without this, a reboot is sometimes required to properly clean the loop devices and ensure a clean build +#Without this, a reboot is sometimes required to properly clean the loop devices and ensure a clean build cleanup() { set +e @@ -67,27 +67,18 @@ create_image() { cgpt create $1 kernel_start=8192 kernel_size=65536 - boot_size=409600 # 200 MB cgpt add -i 1 -t kernel -b $kernel_start -s $kernel_size -l Kernel -S 1 -T 5 -P 10 $1 - #create the initramfs partiton, aka /boot - boot_start=$(($kernel_start + $kernel_size)) - cgpt add -i 2 -t data -b $boot_start -s $boot_size -l Boot $1 #Now the main filesystem - root_start=$(($boot_start + $boot_size)) + root_start=$(($kernel_start + $kernel_size)) end=`cgpt show $1 | grep 'Sec GPT table' | awk '{print $1}'` root_size=$(($end - $root_start)) cgpt add -i 3 -t data -b $root_start -s $root_size -l Root $1 # $size is in 512 byte blocks while ext4 uses a block size of 1024 bytes losetup -P $2 $1 - mkfs.ext4 -F -b 1024 -m 0 ${2}p2 $(($boot_size / 2)) - mkfs.ext4 -F -b 1024 -m 0 ${2}p3 $(($root_size / 2)) + mkfs.ext4 -F -b 1024 -m 0 ${2}p2 $(($root_size / 2)) # mount the / partition - mount -o noatime ${2}p3 $5 - - # mount the /boot partiton - mkdir -p $5/boot - mount -o noatime ${2}p2 $5/boot + mount -o noatime ${2}p2 $5 } # use buster if no suite is specified diff --git a/scripts/injectKernelIntoFS.sh b/scripts/injectKernelIntoFS.sh index 2405882..e1f435a 100755 --- a/scripts/injectKernelIntoFS.sh +++ b/scripts/injectKernelIntoFS.sh @@ -33,7 +33,7 @@ outdev=/dev/loop7 build_resources=resources/BuildResources #A hacky way to ensure the loops are properly unmounted and the temp files are properly deleted. -#Without this, a reboot is sometimes required to properly clean the loop devices and ensure a clean build +#Without this, a reboot is sometimes required to properly clean the loop devices and ensure a clean build cleanup() { set +e @@ -54,9 +54,7 @@ trap cleanup INT TERM EXIT losetup -P $outdev $2 #mount the root filesystem -mount -o noatime ${outdev}p3 $outmnt -#mount the initramfs partition -# mount -o noatime ${outdev}p2 $outmnt/boot +mount -o noatime ${outdev}p2 $outmnt # put the kernel in the kernel partition, modules in /lib/modules and AR9271 # firmware in /lib/firmware