From 8b7e0cc32f6784bcf974bd1ab5a50b92443e7c2c Mon Sep 17 00:00:00 2001 From: phanes Date: Sat, 8 Apr 2023 08:54:32 -0400 Subject: [PATCH] major improvements to iso boot --- configs/boot_grub_grub.cfg | 2 +- configs/kernel_config | 68 ++++++++----------- .../x86_64/components/livecd/livecd.bash | 10 +-- .../x86_64/components/stage5/linux.bash | 4 +- rex.project/x86_64/plans/master.plan | 10 +++ rex.project/x86_64/units/livecd.units | 2 +- rex.project/x86_64/units/master.units | 36 ++++++++++ 7 files changed, 85 insertions(+), 47 deletions(-) diff --git a/configs/boot_grub_grub.cfg b/configs/boot_grub_grub.cfg index acaa9e4..f93a981 100644 --- a/configs/boot_grub_grub.cfg +++ b/configs/boot_grub_grub.cfg @@ -10,6 +10,6 @@ terminal_output console serial menuentry "Dark Horse Linux (Pre-Alpha)" { set root=(cd) - linux /boot/vmlinuz-6.0.12-dark_horse-pyrois boot=live root=/dev/sr0 toram overlay tmpfs_size=50% rd.shell rd.debug systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M console=tty1 console=ttyS0,115200 + linux /boot/vmlinuz-6.0.12-dark_horse-pyrois boot=live root=LABEL=livecd rootflags=ro rootfstype=auto toram tmpfs_size=50% rd.shell systemd.log_target=kmsg log_buf_len=1M console=tty1 console=ttyS0,115200 init=/boot/init-overlay initrd /boot/initramfs-6.0.12.img } diff --git a/configs/kernel_config b/configs/kernel_config index db3831f..cdda6a0 100644 --- a/configs/kernel_config +++ b/configs/kernel_config @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 6.0.12-100.fc35.x86_64 Kernel Configuration +# Linux/x86 6.0.12 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-3)" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=110301 +CONFIG_GCC_VERSION=120200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23700 +CONFIG_AS_VERSION=24000 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23700 +CONFIG_LD_VERSION=24000 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y @@ -17,7 +17,7 @@ CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y -CONFIG_PAHOLE_VERSION=122 +CONFIG_PAHOLE_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -31,7 +31,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_UAPI_HEADER_TEST=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set -CONFIG_BUILD_SALT="6.0.12-100.fc35.x86_64" +CONFIG_BUILD_SALT="6.0.12.darkhorse.x86_64" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y @@ -194,6 +194,7 @@ CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_CC_HAS_INT128=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_GCC12_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y @@ -9150,10 +9151,14 @@ CONFIG_INTEL_QEP=m CONFIG_DCACHE_WORD_ACCESS=y CONFIG_VALIDATE_FS_PARSER=y CONFIG_FS_IOMAP=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y # CONFIG_EXT4_DEBUG is not set @@ -9161,17 +9166,8 @@ CONFIG_EXT4_KUNIT_TESTS=m CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_PROC_INFO=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -# CONFIG_JFS_DEBUG is not set -# CONFIG_JFS_STATISTICS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set CONFIG_XFS_FS=m CONFIG_XFS_SUPPORT_V4=y CONFIG_XFS_QUOTA=y @@ -9244,12 +9240,12 @@ CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VIRTIO_FS=m CONFIG_FUSE_DAX=y -CONFIG_OVERLAY_FS=m -# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS=y +CONFIG_OVERLAY_FS_REDIRECT_DIR=y CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y -# CONFIG_OVERLAY_FS_INDEX is not set -# CONFIG_OVERLAY_FS_XINO_AUTO is not set -# CONFIG_OVERLAY_FS_METACOPY is not set +CONFIG_OVERLAY_FS_INDEX=y +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_OVERLAY_FS_METACOPY=y # # Caches @@ -9355,7 +9351,7 @@ CONFIG_UBIFS_FS_XATTR=y CONFIG_UBIFS_FS_SECURITY=y CONFIG_UBIFS_FS_AUTHENTICATION=y # CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=m +CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_FILE_CACHE is not set CONFIG_SQUASHFS_FILE_DIRECT=y # CONFIG_SQUASHFS_DECOMP_SINGLE is not set @@ -9587,7 +9583,6 @@ CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y -CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set # CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set @@ -9639,12 +9634,12 @@ CONFIG_LSM="lockdown,yama,integrity,selinux,bpf,landlock" # # Memory initialization # +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y CONFIG_INIT_STACK_NONE=y -CONFIG_INIT_STACK_ALL_PATTERN=n -CONFIG_INIT_STACK_ALL_ZERO=n -# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set +# CONFIG_INIT_STACK_ALL_PATTERN is not set +# CONFIG_INIT_STACK_ALL_ZERO is not set # CONFIG_GCC_PLUGIN_STACKLEAK is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set @@ -9961,7 +9956,7 @@ CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC64_ROCKSOFT=y -CONFIG_CRC_ITU_T=m +CONFIG_CRC_ITU_T=y CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set CONFIG_CRC32_SLICEBY8=y @@ -10113,10 +10108,7 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_BTF=n -CONFIG_PAHOLE_HAS_SPLIT_BTF=y -CONFIG_DEBUG_INFO_BTF_MODULES=y -# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set +# CONFIG_DEBUG_INFO_BTF is not set # CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=2048 CONFIG_STRIP_ASM_SYMS=y diff --git a/rex.project/x86_64/components/livecd/livecd.bash b/rex.project/x86_64/components/livecd/livecd.bash index 1d53e9c..19a1805 100755 --- a/rex.project/x86_64/components/livecd/livecd.bash +++ b/rex.project/x86_64/components/livecd/livecd.bash @@ -7,7 +7,6 @@ set -a APPNAME="livecd" - # the file to log to LOGFILE="${APPNAME}.log" @@ -33,11 +32,14 @@ logprint "Creating grub boot directory..." mkdir -p ${T_SYSROOT}/boot/grub assert_zero $? - logprint "Installing livecd grub config" cp -vf ${CONFIGS_DIR}/boot_grub_grub.cfg ${T_SYSROOT}/boot/grub/grub.cfg assert_zero $? +logprint "Staging OverlayFS Init Script" +cp ${CONFIGS_DIR}/init-overlay ${T_SYSROOT}/boot/init-overlay +assert_zero $? + pushd ${dir_artifacts} assert_zero $? @@ -45,7 +47,7 @@ logprint "Emptying source stage..." rm -Rf ${TEMP_STAGE_DIR} assert_zero $? -rm -Rf ${T_SYSROOT}/rex_embedded +rm -Rf ${T_SYSROOT}/${rex_dir} assert_zero $? logprint "Generating initramfs..." @@ -60,7 +62,7 @@ ulimit -n 3000000 assert_zero $? logprint "Generating bootable ISO" -grub2-mkrescue -o DHLP.iso -V "DHLP" ${T_SYSROOT} +grub2-mkrescue -A livecd -o DHLP.iso -V "livecd" ${T_SYSROOT} assert_zero $? logprint "Thanks for using Dark Horse Linux. Your experimental build is at '${dir_artifacts}/DHLP.iso'." diff --git a/rex.project/x86_64/components/stage5/linux.bash b/rex.project/x86_64/components/stage5/linux.bash index 012475b..cdcc352 100755 --- a/rex.project/x86_64/components/stage5/linux.bash +++ b/rex.project/x86_64/components/stage5/linux.bash @@ -139,9 +139,7 @@ mode_build() { logprint "Configuring kernel..." cp -vf ${CONFIGS_DIR}/kernel_config ./.config assert_zero $? - - make menuconfig - + logprint "Compiling kernel" make assert_zero $? diff --git a/rex.project/x86_64/plans/master.plan b/rex.project/x86_64/plans/master.plan index e267ac9..685194c 100644 --- a/rex.project/x86_64/plans/master.plan +++ b/rex.project/x86_64/plans/master.plan @@ -5,6 +5,16 @@ "name": "welcome master", "dependencies": [ null ], "comment": "greet the user" + }, + { + "name": "which", + "dependencies": [ null ], + "comment": "greet the user" + }, + { + "name": "squashfs-tools", + "dependencies": [ null ], + "comment": "greet the user" } ] } diff --git a/rex.project/x86_64/units/livecd.units b/rex.project/x86_64/units/livecd.units index 6956d9e..796f040 100644 --- a/rex.project/x86_64/units/livecd.units +++ b/rex.project/x86_64/units/livecd.units @@ -34,7 +34,7 @@ "user": "root", "group": "root", "supply_environment": true, - "environment": "environments/stage2.env.bash" + "environment": "environments/livecd.env.bash" } ] } diff --git a/rex.project/x86_64/units/master.units b/rex.project/x86_64/units/master.units index 1bf1d98..da83e24 100644 --- a/rex.project/x86_64/units/master.units +++ b/rex.project/x86_64/units/master.units @@ -17,6 +17,42 @@ "group": "root", "supply_environment": true, "environment": "environments/stage4.env.bash" + }, + { + "name": "which", + "target": "components/stage5/which.bash --all", + "is_shell_command": true, + "shell_definition": "bash", + "force_pty": true, + "set_working_directory": false, + "working_directory": "", + "rectify": false, + "rectifier": "", + "active": true, + "required": true, + "set_user_context": true, + "user": "root", + "group": "root", + "supply_environment": true, + "environment": "environments/stage4.env.bash" + }, + { + "name": "squashfs-tools", + "target": "components/stage5/squashfs-tools.bash --all", + "is_shell_command": true, + "shell_definition": "bash", + "force_pty": true, + "set_working_directory": false, + "working_directory": "", + "rectify": false, + "rectifier": "", + "active": true, + "required": true, + "set_user_context": true, + "user": "root", + "group": "root", + "supply_environment": true, + "environment": "environments/stage4.env.bash" } ] }