live-bootstrap/sysa/run.kaem

87 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
# SPDX-FileCopyrightText: 2020-2022 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -ex
# checksum-transcriber utility
M2LIBC_PATH=/M2libc
M2-Mesoplanet --architecture ${ARCH} -f checksum-transcriber.c -o ${bindir}/checksum-transcriber
sha256sum -c checksum-transcriber.${ARCH}.SHA256SUM
# simple patch tool based on before and after chunks
M2-Mesoplanet --architecture x86 -f simple-patch.c -o ${bindir}/simple-patch
# Environmental variables needed for mes
NYACC_PKG=nyacc-1.00.2
MES_VERSION=0.25
MES_PKG=mes-${MES_VERSION}
MES_PKG_DIR=${MES_PKG}
MES_PREFIX=${sysa}/${MES_PKG}/build/${MES_PKG_DIR}
GUILE_LOAD_PATH=${MES_PREFIX}/mes/module:${MES_PREFIX}/module:${sysa}/${MES_PKG}/build/${NYACC_PKG}/module
# mes
pkg=${MES_PKG}
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# tcc 0.9.26
pkg="tcc-0.9.26"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
libdir=${libdir}/mes
# tcc 0.9.27
pkg="tcc-0.9.27"
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-lb3"
cd ${pkg}
kaem --verbose --file ${pkg}.kaem
cd ..
# ext2 file system library for Fiwix
pkg="lwext4-1.0.0-lb1"
cd ${pkg}
kaem --verbose --file ${pkg}.kaem
cd ..
# 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
else
exec kaem --verbose --file run-after-fiwix.kaem
fi