From b2f4e3d129372ab2e3beadf978217a5bb5e43466 Mon Sep 17 00:00:00 2001 From: rick-masters Date: Fri, 12 Jan 2024 14:59:27 +0000 Subject: [PATCH 1/6] Populate devices so kexec can read /proc/iomem. --- steps/manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/steps/manifest b/steps/manifest index 7ef64966..611bf40e 100644 --- a/steps/manifest +++ b/steps/manifest @@ -117,6 +117,7 @@ build: kexec-tools-2.0.22 ( BUILD_LINUX == True ) improve: clean_sources build: linux-4.9.10 ( BUILD_LINUX == True ) jump: break ( INTERNAL_CI == pass1 ) +improve: populate_device_nodes jump: linux ( CHROOT == False ) jump: move_disk ( KERNEL_BOOTSTRAP == True ) improve: finalize_job_count From 9ed441694041c3c41b98731f8682b43455013728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Stefanik?= Date: Fri, 12 Jan 2024 13:16:23 +0100 Subject: [PATCH 2/6] Upgrade autogen bootstrap tarball to v1.0.1 to fix return code issue --- steps/SHA256SUMS.pkgs | 2 +- steps/autogen-5.18.16/sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs index 4fe0c8ea..e039e29b 100644 --- a/steps/SHA256SUMS.pkgs +++ b/steps/SHA256SUMS.pkgs @@ -9,7 +9,7 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_ 298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2 8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2 6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2 -9b52663ad7c591520805b96c519c4a291d8a9a960a907341c5b78cd631ebb344 autogen-5.18.16_0.tar.bz2 +439fc68ab7d0a9a46caca2c7cbefbdb6ffe906f927e07d150e102bb76b393c37 autogen-5.18.16_0.tar.bz2 02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2 34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2 7e36e9e4b3957c95b6de8ff475c9b37aa007e2f9735b01c0eaf14b711fdd112f automake-1.15.1_0.tar.bz2 diff --git a/steps/autogen-5.18.16/sources b/steps/autogen-5.18.16/sources index 926476fe..880d4b70 100644 --- a/steps/autogen-5.18.16/sources +++ b/steps/autogen-5.18.16/sources @@ -1,4 +1,4 @@ -https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.tar.gz 98ff63400dff5282017c33e4ec3c93da8a92a5260340da253e59bd6eef18d116 +https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.1.tar.gz 953ba180b18acff188a0a8700770c7cf2fc97e1683c7b9699a5a748b542ccdd5 https://mirrors.kernel.org/gnu/autogen/rel5.18.16/autogen-5.18.16.tar.xz f8a13466b48faa3ba99fe17a069e71c9ab006d9b1cfabe699f8c60a47d5bb49a https://git.savannah.gnu.org/cgit/autogen.git/snapshot/autogen-5.18.16.tar.gz 0c04ab2f7ce13c4a1c06c4abc7dfe75312aad89b8b0a1068e5e563787eb56632 http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab From 36c1925742b1b6bdd0aaebad6522cb50c7e48175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Stefanik?= Date: Fri, 12 Jan 2024 13:07:34 +0100 Subject: [PATCH 3/6] Fix panic due to after.sh prematurely quitting on shutdown The sysrq shutdown trigger takes some time to fully shut down the system, during which init is expected to continue running. Since after.sh is the last step in our init, if it quits before shutdown is complete, Linux will panic with "Attempted to kill init". Add an infinite loop after shutdown is issued via sysrq to prevent this. --- steps/improve/after.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/steps/improve/after.sh b/steps/improve/after.sh index b71bf434..32d445c9 100644 --- a/steps/improve/after.sh +++ b/steps/improve/after.sh @@ -21,4 +21,5 @@ if [ "${CHROOT}" = False ]; then echo u > /proc/sysrq-trigger mount -o remount,ro / echo o > /proc/sysrq-trigger # power off + while true; do sleep 1; done fi From 7e73fd25cba71889f44143ec9796849e20b70023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Stefanik?= Date: Fri, 12 Jan 2024 09:37:22 +0100 Subject: [PATCH 4/6] Fix Python 3 checksum regression from 8341c4e The Linux kernel won't autocreate /dev/shm inside devtmpfs. Without it, semaphores won't work properly in Python. Previously, /dev/shm was set up in populate_device_nodes, but we no longer run that after booting into Linux. --- steps/improve/finalize_fhs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/steps/improve/finalize_fhs.sh b/steps/improve/finalize_fhs.sh index f5b164eb..e2a238d8 100755 --- a/steps/improve/finalize_fhs.sh +++ b/steps/improve/finalize_fhs.sh @@ -21,6 +21,7 @@ mount | grep '/proc' &> /dev/null || (mkdir -p /proc; mount -t proc proc /proc) mount | grep '/sys' &> /dev/null || (mkdir -p /sys; mount -t sysfs sysfs /sys) # Make /tmp a ramdisk (speeds up configure etc significantly) mount | grep '/tmp' &> /dev/null || (mkdir -p /tmp; mount -t tmpfs tmpfs /tmp) +mount | grep '/dev/shm' &> /dev/null || (mkdir -p /dev/shm; mount -t tmpfs tmpfs /dev/shm) # Add /etc/resolv.conf echo 'nameserver 1.1.1.1' > /etc/resolv.conf From 241f5431b032e6729c6b56cbf7e27f45e13d3d6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 20 Jan 2024 18:07:38 +0000 Subject: [PATCH 5/6] Update amd64 checksums. --- .../checksum-transcriber-1.0.amd64.checksums | 2 +- steps/mes-0.25/mes-0.25.amd64.checksums | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.amd64.checksums b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.amd64.checksums index 04740b4c..3c649904 100644 --- a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.amd64.checksums +++ b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.amd64.checksums @@ -1 +1 @@ -4d1a7b8a0e42f278df20893610dd37dec62b609c2c342d9252917907e4d73c03 /usr/bin/checksum-transcriber +234d061a727502f3ed3252a1767086a09fda04ee509758fc5852a919e994ca20 /usr/bin/checksum-transcriber diff --git a/steps/mes-0.25/mes-0.25.amd64.checksums b/steps/mes-0.25/mes-0.25.amd64.checksums index 81425c80..2663d2ee 100644 --- a/steps/mes-0.25/mes-0.25.amd64.checksums +++ b/steps/mes-0.25/mes-0.25.amd64.checksums @@ -1,6 +1,6 @@ -7493daf2b2777dcaddbc2fcdac7898b76b224ab3a6092deee03cddbda42e3185 /usr/bin/mes -5729f623e8175ea5cbd611798b4765bc747e086344a9788d8162f2fc70b81fa5 /usr/bin/mes-m2 -8867e32ca3c3f50628918033bcb5e2773a0c92e3d7fe2fc1e802e6efb6348de5 /usr/bin/mescc.scm +9c7318aceeb21856d3f0346d41cb41b794bc2c5c7bf3415e6067105c75e3824f /usr/bin/mes +94668ea026e429f38bc37fadc75f987899784af4239f55b2951d87227b72aa98 /usr/bin/mes-m2 +a7375f00fdafff9d76ec63290471c97123b0e29b21747b21604835235b5bb3b7 /usr/bin/mescc.scm c66de1ba72b8019eee113271638e4e30543aa7d34f45c9cc751346dba0d8817c /usr/lib/x86_64-mes/crt1.s d0a80b94228deb99bda15244f0ed3736badd0632c78a3379195ba24a78f68a75 /usr/lib/x86_64-mes/crt1.o ff5640d78b9924dd40157596438da4108a97fe658806fbbadced38b4020395f4 /usr/lib/x86_64-mes/x86_64.M1 From 9ff2d1f0f1088b75211ab7933ecdc7ddd57634b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 20 Jan 2024 22:07:31 +0000 Subject: [PATCH 6/6] Add abort.{s,o} to libc+tcc. --- steps/mes-0.25/mes-0.25.amd64.checksums | 4 ++-- steps/mes-0.25/mes-0.25.x86.checksums | 4 ++-- steps/mes-0.25/pass1.kaem | 4 ++-- steps/tcc-0.9.26/tcc-0.9.26.x86.checksums | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/steps/mes-0.25/mes-0.25.amd64.checksums b/steps/mes-0.25/mes-0.25.amd64.checksums index 2663d2ee..cf859180 100644 --- a/steps/mes-0.25/mes-0.25.amd64.checksums +++ b/steps/mes-0.25/mes-0.25.amd64.checksums @@ -5,10 +5,10 @@ c66de1ba72b8019eee113271638e4e30543aa7d34f45c9cc751346dba0d8817c /usr/lib/x86_6 d0a80b94228deb99bda15244f0ed3736badd0632c78a3379195ba24a78f68a75 /usr/lib/x86_64-mes/crt1.o ff5640d78b9924dd40157596438da4108a97fe658806fbbadced38b4020395f4 /usr/lib/x86_64-mes/x86_64.M1 684bfcde34f118026d875acf2dbe2e4a39dce96d5f938f534995b582ba1a4241 /usr/lib/x86_64-mes/libmescc.s -aaee649b01e8792d87c3f4e3224d3af7b50ca8ff8990884176d3399fa533fac3 /usr/lib/x86_64-mes/libc+tcc.s +7f5c8d9a5226fd33aa310e4d76151fb4f39969387ea00527356f7891f9e7ff6b /usr/lib/x86_64-mes/libc+tcc.s 53de3c338d82cb45848193b95d319b7a860d289a14824f1961c655b167aabd68 /usr/lib/x86_64-mes/libc.s ad1f1e390f675db2a3545aecc63df798d49317cad2ae5eadb9382df960bbd9f3 /usr/lib/x86_64-mes/libmescc.a -de562df5c7232ee87629a4cf93ca63be9b91453f9a1538c1c62ad09c597840c9 /usr/lib/x86_64-mes/libc+tcc.a +5bce272890558f2c628030eeff06889346398d15ebe46bb9d9f116162fa6f547 /usr/lib/x86_64-mes/libc+tcc.a 264bfb52a14957759e65c9c1224f0ca750713107586db367a2e235729797ecda /usr/lib/x86_64-mes/libc.a 48c57492e80a99bf16eeba55e242b60b9e759992482b651d1b512f07ddd9a65a /usr/lib/linux/x86_64-mes/elf64-header.hex2 94c796cb34a6e581491d0cf609e7fad01715c84a17b8b2017178a36568a80e48 /usr/lib/linux/x86_64-mes/elf64-footer-single-main.hex2 diff --git a/steps/mes-0.25/mes-0.25.x86.checksums b/steps/mes-0.25/mes-0.25.x86.checksums index a75ed22c..4d2acdc9 100644 --- a/steps/mes-0.25/mes-0.25.x86.checksums +++ b/steps/mes-0.25/mes-0.25.x86.checksums @@ -5,10 +5,10 @@ ab14556dd405debd1fc4aa18bffea9ee8c89bc8fa89f745e8fb20c9da83e5809 /usr/bin/mes 494f184a87175abc485a898c250c3831b2b5dcf5aead46591e00b39d1c5529fc /usr/lib/x86-mes/crt1.o 8afe05c3e1e8848b6f3e8de751524de5f69818eb8524659827918e3fddde3e1e /usr/lib/x86-mes/x86.M1 771988b1df0dfa04bf5f1ab72af18c32b1a8205a07f10e5235d79dac0a072b00 /usr/lib/x86-mes/libmescc.s -89024362827679beffb4a70287d66609d07a3cf4a1972c1c40797bfa0324a49e /usr/lib/x86-mes/libc+tcc.s +d19d053950349296c7d33a6297831e0da12ff79c5b758187ce8b7759192f7d4a /usr/lib/x86-mes/libc+tcc.s 5ea659501bda293f9297b599b1385ed4d54bab0e6daf3207fc61429adc9abc78 /usr/lib/x86-mes/libc.s 52f697278ccdff5e457f27e10f465a91ab9858f0c6cee0683831cadb3109bbb7 /usr/lib/x86-mes/libmescc.a -7c737307c870d74a309cec58f6b67fa4961d582614f3ed0f39b5794e3705794a /usr/lib/x86-mes/libc+tcc.a +90d3e29ecc5af3a94f6540deb6e6f7a713da1c921f7853867f4e4bcc861e4a56 /usr/lib/x86-mes/libc+tcc.a db62874a6cebeb0652945cb91cb91ade9783e631aaef5ec279e11aeca6adc421 /usr/lib/x86-mes/libc.a 82cac4353375a52efecc6fda1f8b37373988fe41ed197b63d8e906321b105d77 /usr/lib/linux/x86-mes/elf32-header.hex2 f9873d9aab12e70f24d97f8319e17a1e698ca60779ae9a6ab3ede648cd60fc61 /usr/lib/linux/x86-mes/elf32-footer-single-main.hex2 diff --git a/steps/mes-0.25/pass1.kaem b/steps/mes-0.25/pass1.kaem index b727e349..47a1f891 100755 --- a/steps/mes-0.25/pass1.kaem +++ b/steps/mes-0.25/pass1.kaem @@ -262,8 +262,8 @@ mescc lib/${MES_ARCH}-mes-mescc/setjmp.c mescc lib/linux/close.c mescc lib/linux/rmdir.c mescc lib/linux/stat.c -catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${LIBDIR}/${MES_ARCH}-mes/libc.a islower.o isupper.o tolower.o toupper.o abtod.o dtoab.o search-path.o execvp.o fclose.o fdopen.o ferror.o fflush.o fopen.o fprintf.o fread.o fseek.o ftell.o fwrite.o printf.o remove.o snprintf.o sprintf.o sscanf.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o vsscanf.o calloc.o qsort.o strtod.o strtof.o strtol.o strtold.o strtoll.o strtoul.o strtoull.o memmem.o strcat.o strchr.o strlwr.o strncpy.o strrchr.o strstr.o strupr.o sigaction.o ldexp.o mprotect.o localtime.o sigemptyset.o setjmp.o close.o rmdir.o stat.o -catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${LIBDIR}/${MES_ARCH}-mes/libc.s islower.s isupper.s tolower.s toupper.s abtod.s dtoab.s search-path.s execvp.s fclose.s fdopen.s ferror.s fflush.s fopen.s fprintf.s fread.s fseek.s ftell.s fwrite.s printf.s remove.s snprintf.s sprintf.s sscanf.s vfprintf.s vprintf.s vsnprintf.s vsprintf.s vsscanf.s calloc.s qsort.s strtod.s strtof.s strtol.s strtold.s strtoll.s strtoul.s strtoull.s memmem.s strcat.s strchr.s strlwr.s strncpy.s strrchr.s strstr.s strupr.s sigaction.s ldexp.s mprotect.s localtime.s sigemptyset.s setjmp.s close.s rmdir.s stat.s +catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${LIBDIR}/${MES_ARCH}-mes/libc.a islower.o isupper.o tolower.o toupper.o abtod.o dtoab.o search-path.o execvp.o fclose.o fdopen.o ferror.o fflush.o fopen.o fprintf.o fread.o fseek.o ftell.o fwrite.o printf.o remove.o snprintf.o sprintf.o sscanf.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o vsscanf.o abort.o calloc.o qsort.o strtod.o strtof.o strtol.o strtold.o strtoll.o strtoul.o strtoull.o memmem.o strcat.o strchr.o strlwr.o strncpy.o strrchr.o strstr.o strupr.o sigaction.o ldexp.o mprotect.o localtime.o sigemptyset.o setjmp.o close.o rmdir.o stat.o +catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${LIBDIR}/${MES_ARCH}-mes/libc.s islower.s isupper.s tolower.s toupper.s abtod.s dtoab.s search-path.s execvp.s fclose.s fdopen.s ferror.s fflush.s fopen.s fprintf.s fread.s fseek.s ftell.s fwrite.s printf.s remove.s snprintf.s sprintf.s sscanf.s vfprintf.s vprintf.s vsnprintf.s vsprintf.s vsscanf.s abort.s calloc.s qsort.s strtod.s strtof.s strtol.s strtold.s strtoll.s strtoul.s strtoull.s memmem.s strcat.s strchr.s strlwr.s strncpy.s strrchr.s strstr.s strupr.s sigaction.s ldexp.s mprotect.s localtime.s sigemptyset.s setjmp.s close.s rmdir.s stat.s # Make directories mkdir ${PREFIX}/lib/linux ${INCDIR}/mes ${INCDIR}/sys ${INCDIR}/linux ${INCDIR}/arch diff --git a/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums b/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums index 0bbd8607..d9f42895 100644 --- a/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums +++ b/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums @@ -1,4 +1,4 @@ -f3c51ecb0e5d0865822dd0e83dc459ccfd2576ecad845bc888558ab010e2a609 /usr/bin/tcc-mes +48f0ac2f1fb8002a6a6958557732b83778f744de3e09085987d65c6981a57ab3 /usr/bin/tcc-mes b758fff28f3d03b057b0414eb92da0c46e22bc8e9da29af33fbe65b01047d25d /usr/bin/tcc-boot0 56e267e3031f548ea155d61a97fc3e6e8fff277159d7ae3273820a8c0f4582a0 /usr/bin/tcc-boot1 3404d1e8f61be09c1caeba03dcf99abae8881a485fe13160e6bb5fe44538d378 /usr/bin/tcc