The perfect emulation setup to study and develop the Linux kernel v5.4.3, kernel modules, QEMU, gem5 and x86_64, ARMv7 and ARMv8 userland and baremetal assembly, ANSI C, C++ and POSIX. GDB step debug and KGDB just work. Powered by Buildroot and crosstool-NG. Highly automated. Thoroughly documented. Automated tests. "Tested" in an Ubuntu 24.04 host.
>>> host-fakeroot 1.20.2 Building
PATH="/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/bin:/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/sbin:/home/ciro/.pyenv/bin:/home/ciro/perl5/bin:/home/ciro/down/bitcoin/bin:/usr/local/heroku/bin:/home/ciro/android-sdk/platform-tool
s:/home/ciro/android-sdk/tools:/home/ciro/android-studio//bin:/home/ciro/android-sdk/ndk-bundle:/home/ciro/android-sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:/home/ciro/bak/git/devbin:/home/ciro/bin:/usr/local/texlive/2013/bin/x86_64-lin
ux:/home/ciro/.pyenv/bin:/home/ciro/perl5/bin:/home/ciro/.nvm/versions/node/v14.17.0/bin:/home/ciro/down/bitcoin/bin:/usr/local/heroku/bin:/home/ciro/android-sdk/platform-tools:/home/ciro/android-sdk/tools:/home/ciro/android-studio//bin:/home/ciro/android-sdk/ndk-bundle:/
home/ciro/android-sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:/home/ciro/bak/git/devbin:/home/ciro/bin:/usr/local/texlive/2013/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap
/bin:/snap/bin:/home/ciro/bak/git/latex:/home/ciro/.cabal/bin:/home/ciro/.go/bin:/home/ciro/.local/bin/:/home/ciro/bak/git/runlinux:/home/ciro/.rvm/bin:/home/ciro/anaconda2/bin:/home/ciro/bak/git/latex:/home/ciro/.cabal/bin:/home/ciro/.go/bin:/home/ciro/.local/bin/:/home/
ciro/bak/git/runlinux:/home/ciro/.rvm/bin:/home/ciro/anaconda2/bin" PKG_CONFIG="/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/h
ome/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/lib/pkgconfig:/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/share/pkgconfig" /usr/bin/make -j8 -C /home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/build/host-fakeroot-1.20.2/
/usr/bin/make all-recursive
Making all in scripts
sed -e 's,[@]prefix[@],/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host,g' -e 's,[@]bindir[@],/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/bin,g' -e 's,[@]libdir[@],/home/ciro/bak/git/lkmc/out/buildroot/build/default/x86_64/host/lib,g' -e
's,[@]fakeroot_transformed[@],'`echo fakeroot | sed -e 's,x,x,'`',g' -e 's,[@]faked_transformed[@],'`echo faked | sed -e 's,x,x,'`',g' -e 's,[@]signal[@],TERM,g' -e 's,[@]SHELL[@],/bin/bash,g' -e 's,[@]VERSION[@],1.20.2,g' -e 's,[@]DLSUFFIX[@],.so,g' -e 's,[@]LDLIBPATHVA
R[@],LD_LIBRARY_PATH,g' -e 's,[@]LDPRELOADVAR[@],LD_PRELOAD,g' -e 's,[@]LDPRELOADABS[@],0,g' -e 's,[@]LDEXTRAVAR[@],,g' -e 's,[@]MACOSX_FALSE[@],,g' -e 's,[@]MACOSX_TRUE[@],#,g' < ./fakeroot.in > fakeroot
chmod +x fakeroot
Making all in doc
Making all in de
make[5]: Nothing to be done for 'all'.
Making all in es
make[5]: Nothing to be done for 'all'.
Making all in fr
make[5]: Nothing to be done for 'all'.
Making all in nl
make[5]: Nothing to be done for 'all'.
Making all in pt
make[5]: Nothing to be done for 'all'.
Making all in sv
make[5]: Nothing to be done for 'all'.
make[5]: Nothing to be done for 'all-am'.
Making all in test
make[4]: Nothing to be done for 'all'.
awk -f ./wrapawk < ./wrapfunc.inp
awk -f ./wrapawk < ./wrapfunc.inp
awk -f ./wrapawk < ./wrapfunc.inp
CC communicate.lo
CC libfakeroot_inode64.lo
CC faked.o
awk: awk: ./wrapawk:27: ./wrapawk:warning: regexp escape sequence `\#' is not a known regexp operator27:
warning: regexp escape sequence `\#' is not a known regexp operator
CC simple.o
awk: ./wrapawk:27: warning: regexp escape sequence `\#' is not a known regexp operator
CC libfakeroot_unix2003.lo
CC libfakeroot.lo
CCLD simple
CCLD libmacosx.la
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
In file included from communicate.h:20,
from libfakeroot.c:60:
libfakeroot.c: In function ‘chown’:
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)
99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)
| ^~~~~~~~~
lkmc 38eb67ad2ec46b58dbc701073ce0e980fad7788b
Usually you solve this kind of crap by updating buildroot. Some threads:
Logs: