diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2018-02-19 21:29:09 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2018-02-19 21:29:09 +0100 |
commit | fd8bbbc755c8dd44fd6ffe0c3f065600f2eb569f (patch) | |
tree | c26091c257c5102cc5cb7ad4f7012e26abd9a68d | |
parent | 44f5b7af6444173b16d1495023d80aaef8a9c47a (diff) | |
download | bootstrap32-fd8bbbc755c8dd44fd6ffe0c3f065600f2eb569f.tar.xz |
building first package on stage 2
-rw-r--r-- | README | 8 | ||||
-rw-r--r-- | TODOS | 1 | ||||
-rwxr-xr-x | build_stage2.sh | 3 | ||||
-rwxr-xr-x | build_stage2_package.sh | 11 | ||||
-rw-r--r-- | i486-stage2/which/DESCR | 0 |
5 files changed, 16 insertions, 7 deletions
@@ -168,13 +168,14 @@ su cross ./create_hdd.sh # STAGE 2 ######### -# Assume stage1 of the system is installed on the target architecture +# Assuming stage1 of the system is installed on the target architecture # (virtual or a real machine), we have a key-based SSH connection to # the machine and can build packages there. # Build stage2 in $STAGE2_BUILD with the tools on the stage1 system # and modified PKGBUILDs and patches into the target system (replacing -# stage 1 packages). Stage 1 serves now the same function as the sysroot. +# stage 1 packages). Stage 1 serves now the same function as the sysroot +# during cross-compilation of stage 1. # The goal is to get a self-hosting system on the target architecture, # not necesseraly containing all of base and base-devel, but enough to @@ -183,6 +184,7 @@ su cross ./create_hdd.sh su cross ./prepare_stage2_repo.sh # Build stage 2 on the target architecture and install it onto the -# stage 1 system. Resulting artifacts get stored in $STAGE2_BUILD. +# stage 1 system. Resulting artifacts get stored also back +# in $STAGE2_BUILD. ./build_stage2.sh @@ -50,6 +50,7 @@ stage1 issues: 1 /home/cross/.build/i486-unknown-linux-gnu/src/gcc/libgcc/libgcc2.c: No such file or directory. - currently gcc has a PKGBUILD modified by hand instead of diff seds in DESCR (the diff is very big and complex) +- there is really no need to copy stage 1 repo /packages/i486 onto the hdd stage2 issues: - make: recursive tarkets like all-recursive don't work, neither with cross-compiled diff --git a/build_stage2.sh b/build_stage2.sh index 8cf5dfd..349f8cd 100755 --- a/build_stage2.sh +++ b/build_stage2.sh @@ -11,6 +11,9 @@ PACKAGES="bash" +# build bash first as 'cd subpackage' in autoconf generated makefiles break +# with cross-compiled bash + for p in $PACKAGES; do "$SCRIPT_DIR/build_stage2_package.sh" "$p" || exit 1 done diff --git a/build_stage2_package.sh b/build_stage2_package.sh index ebf75da..de6643a 100755 --- a/build_stage2_package.sh +++ b/build_stage2_package.sh @@ -92,10 +92,13 @@ if test "$(find "$STAGE2_PACKAGES" -regex ".*/$PACKAGE-.*pkg\\.tar\\.xz"n | wc - # copy everything to the stage 1 machine scp -i $CROSS_HOME/.ssh/id_rsa -rC "$STAGE2_BUILD/$PACKAGE" build@$STAGE1_MACHINE_IP:/build/. - # TODO: # building the actual package - #$STAGE1_BUILD/makepkg-$TARGET_CPU -C --config $STAGE1_BUILD/makepkg-$TARGET_CPU.conf \ -# --skipchecksums --skippgpcheck --nocheck > "$PACKAGE.log" 2>&1 -# RES=$? + ssh -i $CROSS_HOME/.ssh/id_rsa build@$STAGE1_MACHINE_IP bash -c "'cd $PACKAGE && makepkg --skipchecksums --skippgpcheck --nocheck'" > $PACKAGE.log 2>&1 + RES=$? + + tail "$PACKAGE.log" + + #~ if test $RES = 0; then + #~ fi fi diff --git a/i486-stage2/which/DESCR b/i486-stage2/which/DESCR new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/i486-stage2/which/DESCR |