logo

bootstrap-initrd

Linux initrd to bootstrap from a small binary seed git clone https://anongit.hacktivis.me/git/bootstrap-initrd.git/
commit: dc40865484fabbef7c0a8ec15453419600d3d051
parent bb4fd87b0051ce3923fcedfc8d1131295a636c83
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Fri, 21 Mar 2025 15:06:01 +0100

init.sh: compile heirloom-devtools m4 before utils-std

Diffstat:

Minit.sh17+++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/init.sh b/init.sh @@ -3,6 +3,8 @@ # SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me> # SPDX-License-Identifier: MPL-2.0 +set -ex -o pipefail + die() { echo "die: $*" rescueshell @@ -86,9 +88,15 @@ build_pigz() { pdpmake clean } +build_hierloom_devtools_m4() { + cd /src/heirloom-devtools-*/m4/ + $YACC -o m4y.c m4y.y + $CC $CFLAGS -D_GNU_SOURCE m4.c m4ext.c m4macs.c m4y.c version.c -o /bin/m4 +} + build_hierloom_devtools() { cd /src/heirloom-devtools-*/ - for cmd in lex m4 + for cmd in lex do pdpmake "$cmd"/Makefile pdpmake -C "$cmd" RANLIB=true @@ -117,7 +125,7 @@ build_utils_std() { export PATH="$PATH:$PWD/cmd/" pdpmake -f bootstrap.mk || die - MAKE=pdpmake oksh ./configure PREFIX=/usr M4=true || die + MAKE=pdpmake oksh ./configure PREFIX=/usr || die pdpmake || die pdpmake selfcheck || die pdpmake install || die @@ -144,14 +152,13 @@ build_oyacc() { -o /bin/yacc *.c } -set -ex -o pipefail - export CC=tcc export CFLAGS="-Os -Wall -Wextra" build_oyacc export SHELL="/bin/oksh" +export YACC="yacc" build_pdpmake || die @@ -160,6 +167,8 @@ build_sbase || die # stubs for utilities currently missing from utils-std build_stubs || die +build_hierloom_devtools_m4 || die + build_utils_std || die export MAKEFLAGS="-j$(nproc)"