live-bootstrap/sysa/lwext4-1.0.0-lb1/files/early-artifacts-needed-after-fiwix.txt
rick-masters a2fcf1ced9 Complete the kernel bootstrap by adding kexec of Linux from Fiwix.
A tiny bootloader bootstrap has been added to compile the builder-hex0 kernel from hex0 source.
The boot compiler is builder-hex0-x86-stage1.hex0 and builder-hex0-x86-stage1.bin.
The builder-hex0 kernel is now named builder-hex0-x86-stage2.hex0.
The inclusion of a binary seed resolves the problem with the previous strategy which used an
architecture-specific hex0 compiler.

If sysb detects a full disk (i.e. DISK=sda) it now partitions the disk unconditionally because
previously fdisk was reporting existing but empty partitions which resulted in no
parititions being created.

e2fsprogs is now built with --disable-tls because musl was built on Fiwix without full threading
support and mkfs.ext4 was crashing without disabling thread local storage.

kexec-linux writes the linux kernel and initramfs to a RAM drive on Fiwix which ensure
a pre-allocated contiguous memory block. The following is written to the ram drive:
a 32-bit number which is the size of the kernel in bytes, a 32-bit number which is the size
of the initramfs in bytes, followed by the Linux kernel image, followed by the initramfs.

kexec-fiwix invokes a sync syscall to ensure all writes are flushed to
the ram drive and then initiates the kexec by shutting down Fiwix with a reboot syscall.
Fiwix knows whether and how to perform the kexec based on kernel parameters passed to it.
2023-05-10 14:33:42 +00:00

94 lines
2.1 KiB
Text

# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
# SPDX-License-Identifier: MIT
/usr/bin/blood-elf
/usr/bin/catm
/usr/bin/chmod
/usr/bin/get_machine
/usr/bin/hex2
/usr/bin/kaem
/usr/bin/match
/usr/bin/M1
/usr/bin/M2-Mesoplanet
/usr/bin/M2-Planet
/usr/bin/mkdir
/usr/bin/sha256sum
/usr/bin/unbz2
/usr/bin/ungz
/usr/bin/untar
/usr/bin/cp
/usr/bin/replace
/usr/bin/rm
/usr/bin/checksum-transcriber
/usr/bin/tcc
/usr/bin/tcc-0.9.26
/usr/bin/kexec-linux
/usr/lib/mes/libc.a
/usr/lib/mes/libgetopt.a
/usr/lib/mes/crt1.o
/usr/lib/mes/crti.o
/usr/lib/mes/crtn.o
/usr/lib/mes/tcc/libtcc1.a
/usr/include/alloca.h
/usr/include/argz.h
/usr/include/ar.h
/usr/include/assert.h
/usr/include/ctype.h
/usr/include/dirent.h
/usr/include/dirstream.h
/usr/include/dlfcn.h
/usr/include/endian.h
/usr/include/errno.h
/usr/include/fcntl.h
/usr/include/features.h
/usr/include/float.h
/usr/include/getopt.h
/usr/include/grp.h
/usr/include/inttypes.h
/usr/include/libgen.h
/usr/include/limits.h
/usr/include/locale.h
/usr/include/math.h
/usr/include/memory.h
/usr/include/pwd.h
/usr/include/setjmp.h
/usr/include/signal.h
/usr/include/stdarg.h
/usr/include/stdbool.h
/usr/include/stddef.h
/usr/include/stdint.h
/usr/include/stdio.h
/usr/include/stdlib.h
/usr/include/stdnoreturn.h
/usr/include/string.h
/usr/include/strings.h
/usr/include/termio.h
/usr/include/time.h
/usr/include/unistd.h
/usr/include/arch/kernel-stat.h
/usr/include/arch/syscall.h
/usr/include/linux/syscall.h
/usr/include/linux/x86/syscall.h
/usr/include/mes/builtins.h
/usr/include/mes/cc.h
/usr/include/mes/config.h
/usr/include/mes/constants.h
/usr/include/mes/lib.h
/usr/include/mes/lib-mini.h
/usr/include/mes/mes.h
/usr/include/mes/symbols.h
/usr/include/sys/cdefs.h
/usr/include/sys/dir.h
/usr/include/sys/file.h
/usr/include/sys/ioctl.h
/usr/include/sys/mman.h
/usr/include/sys/param.h
/usr/include/sys/resource.h
/usr/include/sys/select.h
/usr/include/sys/stat.h
/usr/include/sys/timeb.h
/usr/include/sys/time.h
/usr/include/sys/times.h
/usr/include/sys/types.h
/usr/include/sys/ucontext.h
/usr/include/sys/user.h
/usr/include/sys/wait.h