Add option to build kernels and related tools during chroot and bwrap builds

The main motivations to have this are:
* Detect checksum changes with chroot/bwrap builds
* Avoid removing checksums from `SHA256SUMS.pkgs` when unsing `--update-checksums`
* Find crashes that would otherwise be missed in `builder-hex0`
This commit is contained in:
Eduardo Sánchez Muñoz 2023-04-14 23:16:05 +02:00
parent d3477570b8
commit dd8ce0e516
3 changed files with 24 additions and 8 deletions

View File

@ -39,6 +39,7 @@ def create_configuration_file(args):
config.write("KERNEL_BOOTSTRAP=True\n")
else:
config.write("KERNEL_BOOTSTRAP=False\n")
config.write(f"BUILD_KERNELS={args.build_kernels}\n")
# pylint: disable=too-many-statements
def main():
@ -73,6 +74,9 @@ def main():
parser.add_argument("--external-sources",
help="Download sources externally from live-bootstrap.",
action="store_true")
parser.add_argument("--build-kernels",
help="Also build kernels in chroot and bwrap builds.",
action="store_true")
parser.add_argument("--no-create-config",
help="Do not automatically create config file",
action="store_true")

View File

@ -45,7 +45,17 @@ cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
BUILD_FIWIX=False
if match x${KERNEL_BOOTSTRAP} xTrue; then
BUILD_FIWIX=True
fi
if match x${BUILD_KERNELS} xTrue; then
BUILD_FIWIX=True
fi
if match x${BUILD_FIWIX} xTrue; then
# The Fiwix kernel
pkg="fiwix-1.4.0-lb1"
cd ${pkg}
@ -58,14 +68,16 @@ if match x${KERNEL_BOOTSTRAP} xTrue; then
kaem --verbose --file ${pkg}.kaem
cd ..
# Build the ext2 image
make_fiwix_initrd
# Live boot loader for Fiwix
pkg="kexec-fiwix"
cd ${pkg}
kaem --verbose --file ${pkg}.kaem
cd ..
fi
if match x${KERNEL_BOOTSTRAP} xTrue; then
# Build the ext2 image
make_fiwix_initrd
# Boot Fiwix
kexec-fiwix

View File

@ -73,7 +73,7 @@ build ed-1.4
build bc-1.07.1
if [ "${CHROOT}" = False ]; then
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
# Save because linux deletes all distfiles to save space
cp "${DISTFILES}"/musl-1.2.3.tar.gz "${SOURCES}"/musl-1.2.3
fi
@ -86,13 +86,15 @@ grep --no-filename '^build' "${SOURCES}"/run*.sh | grep -v musl-1.2.3 | sed "s/b
rm -rf "${SOURCES:?}/${p:?}"
done
if [ "${CHROOT}" = False ]; then
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
build kexec-tools-2.0.22
build linux-4.9.10
fi
build musl-1.2.3 '' no-patches
build musl-1.2.3 '' no-patches
if [ "${CHROOT}" = False ]; then
create_sysb
if [ "${KERNEL_BOOTSTRAP}" = True ]; then
echo "Kernel bootstrapping successful."
@ -101,8 +103,6 @@ if [ "${CHROOT}" = False ]; then
go_sysb
fi
else
build musl-1.2.3 '' no-patches
# In chroot mode transition directly into System C.
SYSC=/sysc_image
sys_transfer "${SYSC}" /sysc gzip patch