<div dir="ltr"><div><div><div><div>Hi Rob,<br></div><br></div><div>I decided to follow the example given:<br><br>#more/chroot-splice.sh x86_64 /tmp<br>mount: /home/mcmechan/Downloads/aboriginal-1.4.5/build/chroot-x86_64/mnt is busy<br>Umounting: /home/mcmechan/Downloads/aboriginal-1.4.5/build/chroot-x86_64/mnt<br><br></div><div>Ok works on other machines not sure what is happing here.<br></div><div>#mkdir dummy.dir<br>#more/chroot-splice.sh x86_64 dummy.dir<br>mount: /home/mcmechan/Downloads/aboriginal-1.4.5/build/chroot-x86_64/mnt is busy<br>Umounting: /home/mcmechan/Downloads/aboriginal-1.4.5/build/chroot-x86_64/mnt<br></div><div><br></div><div>I got around that by making a 1M ext2 filesystem just to make the script happy and later a patch [1]<br><br># more/chroot-splice.sh x86_64 dummy.fs<br>Aboriginal Linux 1.4.2<br>Type exit when done.<br>(x86_64:1) / $ cd aboriginal-1.4.5/<br>(x86_64:1) /aboriginal-1.4.5 $ ./build.sh x86_64<br>=== Download source code.<br><...><br>=== Got all source.<br><...><br>=== busybox (host host-tools) <br>Extracting 'busybox'...........................................................................<br>Snapshot 'busybox'...<br>sh: set: -e: invalid option   <br>  HOSTCC  scripts/basic/fixdep<br><..><br>Exiting due to errors (host host-tools busybox)<br><br></div><div>This seems to be because /usr/bin/sh -> busybox and gives hush?<br><br></div><div>I changed the symlink to bash<br><br></div><div>Then toybox/scripts/make.sh tries to use features which are not in /bin/bash<br><...><br>scripts/make.sh: line 7: set: pipefail: invalid option name<br><...><br>Compile toybox.scripts/make.sh: line 1: jobs: command not found<br><...><br>rawcc: generated/obj/xargs.o: No such file or directory<br>make: *** [toybox] Error 1<br><br>Exiting due to errors (host host-tools toybox)<br><br></div><div class="gmail_extra">Now the only two files overlapping between root-filesystem-x86_64 and native-compiler-x86_64 are /bin/sh (busybox/bash) and /usr/bin/strings (toybox/binutils)<br><br></div><div class="gmail_extra">Should we manually fix up the problem and if so when? stop building sh link in busybox and strings in toybox or just remove them from chroot-x86_64 before the second copy in more/choot-splice.sh?<br><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br>Noted while mucking about<br></div><div class="gmail_extra">1) escape sequences being stuck in logfiles created with ./build.sh $ARCH &>>result.$ARCH<br></div><div class="gmail_extra">gets in the way of grep "^===" like in the documentation. Used echo "export NO_TITLE_BAR=1" >> config<br></div><div class="gmail_extra">there are quite a few places that have open coded escape sequences that end up in the logs<br></div><div class="gmail_extra">the suggestion from the xterm man page is to use printf (POSIX) over echo -e (GNU extension) for creating them.<br></div><div class="gmail_extra">The build system could also detect not going to a terminal with test -t 1 either setting NO_TITLE_BAR or having the test before the output, not having escape sequences in log files makes searching easier perhaps even a NO_ESCAPE_SEQUENCE=1 config symbol?<br><br></div><div class="gmail_extra">2) toybox has nsenter defaulting to "y" this fails due to not having _GNU_SOURCE defined before trying to use setns on debian derived systems <br></div><div class="gmail_extra">raspberrypi libc6-2.13-38+rpi2+deb7u8 (arm6hf)<br></div><div class="gmail_extra">ci20 libc6-2.13-38+deb7u8 (mips32r2)<br></div><div class="gmail_extra">both of these are fully up to date as far as I can tell: aptitude update, aptitude full-upgrade<br></div><div class="gmail_extra">these two boxes are also no longer able to build distcc with<br>configure: error: cannot guess build type; you must specify one<br>for some reason, I am still looking at this.<br><br>3) dev-environment.sh seems to require that you be in its directory before running.<br></div><div class="gmail_extra">may I suggest adding the customary<br>cd `dirname $0`<br></div><div class="gmail_extra">at the start, it might also be helpful for native-build.sh<br></div><div class="gmail_extra">all of your other commands seem to need to be run from the aboriginal directory. These were different and I had not run them in quite a while.<br><br></div><div class="gmail_extra">4) dev-environment.sh prints out about mke2fs being missing before updating $PATH<br>It is in /sbin which is not in the default path of a ordinary user.  At work we have been spending way to much time tightening down our Linux boxes, I expect some places ordinary users can't run anything from /sbin or /usr/sbin<br><br>which: no mke2fs in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-<br>gnu/gcc-bin/4.9.3:/usr/games/bin)<br><br></div><div class="gmail_extra">It does not seem to be harmful and I am not using the extra virtual hard disk but on first glance it looked like it might be a problem...<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">5) mips64 still has problems at the moment<br>qemu exits on boot with<br>Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000a<br>Real hardware does not want to run any of the executables past a exec?<br># chroot . usr/bin/sh<br># echo *<br>bin dev etc home lib mnt proc root sbin sys tmp usr<br># ls<br>Segmentation fault<br># chroot . usr/bin/toybox ls<br>bin dev etc home lib mnt proc root sbin sys tmp usr<br><br></div><div class="gmail_extra">6) setting the export BUILD=work var in config no longer changes the default build destination successfully, I remember using it quite a while ago because I disliked the tab-completion of build, also trying to figure out why.<br></div></div></div></div>