From 44f5b7af6444173b16d1495023d80aaef8a9c47a Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 18 Feb 2018 21:40:12 +0100 Subject: work on stage 2 --- TODOS | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'TODOS') diff --git a/TODOS b/TODOS index 56aa715..e1cb7c8 100644 --- a/TODOS +++ b/TODOS @@ -1,3 +1,5 @@ +general bugs: + - how to clean up sysroot nicely without having to rebuild the cross-compiler? for now only removing and stowing a copy somewhere before building stage1 helps. @@ -12,8 +14,6 @@ bsdtar: /home/cross/i486-root/packages/i486/linux-headers-4.15.1-2-i486.pkg.tar.xz: Not found in archive bsdtar: Error exit delayed from previous errors. Built package linux. -- currently gcc has a PKGBUILD modified by hand instead of diff seds in DESCR - (the diff is very big and complex) - removing all pacman databases and recreating them with repo-add, also removing all installed pacman packages seem a little bit paranoic. Find out how to speed this up and do it properly. @@ -29,19 +29,12 @@ error: no usable package repositories configured. installing and listing packages by hand works without problems. debug: unregistering database 'local' -- make: recursive tarkets like all-recursive don't work, neither with cross-compiled - make nor with the recompiled make on the stage1 system. - => rebuilding bash on the target works, but it's a workaround: - https://unix.stackexchange.com/questions/389022/make-unable-to-recurse-for-autoconf-like-projects/423448#423448 - some packages get build more than once in stage1 (linux-api-headers, pacman-mirrorlist) - make a wrapper for sed in DESCR, which is actually able to detect whether the patch was successful or not. Avoid hard to detect errors, when the upstream PKGBUILD(s) change. -- gdb uses cross-compiler source files for debugging: - Temporary breakpoint 1, 0x004005b0 in main () - (gdb) list - 1 /home/cross/.build/i486-unknown-linux-gnu/src/gcc/libgcc/libgcc2.c: No such file or directory. -- stage1 + +stage1 issues: - stage1: cdrom installs keyrings without having a gpg binary - 32 MB is not enough when installing packages => add a swap as first action! - stage1 has no bootloader package (syslinux) to install @@ -49,3 +42,17 @@ - using the cross compiler for syslinux is most likely overkill - some packages still build more than really needed: - syslinux: builds docu with asciidoc and build EFI stuff from gnu-efi +- rename STAGE1 directories i486-root to i486-stage1-root and i486-build + to i486-build-stage1 +- gdb uses cross-compiler source files for debugging: + Temporary breakpoint 1, 0x004005b0 in main () + (gdb) list + 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) + +stage2 issues: +- make: recursive tarkets like all-recursive don't work, neither with cross-compiled + make nor with the recompiled make on the stage1 system. + => rebuilding bash on the target works, but it's a workaround: + https://unix.stackexchange.com/questions/389022/make-unable-to-recurse-for-autoconf-like-projects/423448#423448 -- cgit v1.2.3-70-g09d2