Friday, February 26, 2021

Finding my way

 My last entry was a bunch of compile times with no context.

This post will give the context -hopefully!

First, I want to show why I think I may be on the right track:

iso-image ===> etc
make iso-image started at:  Fri Feb 26 12:57:59 AKST 2021
make iso-image finished at: Fri Feb 26 12:58:01 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Fri Feb 26 12:58:01 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -X /home/random/netbsd9/usr/xsrc -x -m sparc -j 5 -U -u -O /home/random/netbsd9/usr/obj -R /home/random/netbsd9/rel/rel-sparc -T /home/random/netbsd9/tooldir/tooldir-sparc release iso-image
         build.sh started:    Fri Feb 26 12:35:41 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             sparc
         MACHINE_ARCH:        sparc
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/tooldir/tooldir-sparc
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.sparc
         RELEASEDIR path:     /home/random/netbsd9/rel/rel-sparc
         Updated makewrapper: /home/random/netbsd9/tooldir/tooldir-sparc/bin/nbmake-sparc
         Successful make release
         Successful make iso-image
         build.sh ended:      Fri Feb 26 12:58:01 AKST 2021
===> . 

At this point, it seems as if I'm able to compile sparc/32 ...including X...in 23 minutes. That started at 12:35 and ended at 12:58. 

I haven't tested the iso to confirm that there's X on it, however. 

Even if that has messed up (and I've no reason to think it has) I'm still in the right direction. What I'm referring to is using some of the more advanced(ish) features of buildsh. I have set up a per-arch tools dir and built the tools for several architectures. The quick compile time of sparc32 shows that it's paying off. 

I have a shell script that still has some flaws, but will show you the general idea of what I'm trying to do:

$ cat ../makeit.sh
#!/bin/bash
export TTDR=$HOME/netbsd9/tooldir/tooldir-
export RREL=$HOME/netbsd9/rel/rel-
export OOBJ=$HOME/netbsd9/usr/obj
 for x in i386 sparc64
do
mkdir $RREL$x
./build.sh -X ~/netbsd9/usr/xsrc/ -x -m $x -j 5 -U -u -O $OOBJ -R $RREL$x -T $TTDR$x release iso-image

done

I'm setting up the directories, then the enviromental variables and having mixed results. As I was typing this up, my i386 compile crashed -and now I'm trying with arch-specific obj dirs -a change not reflected in the snippet above.

I also need to research how/what buildsh does with DESTDIR and how to set it, too.

Thursday, February 25, 2021

Vax in under an hour...

make iso-image started at:  Thu Feb 25 20:50:56 AKST 2021
make iso-image finished at: Thu Feb 25 20:51:03 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Thu Feb 25 20:51:03 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -m vax -U -O /home/random/netbsd9/usr/obj -T /home/random/netbsd9/arch/amd64 -j 5 release iso-image
         build.sh started:    Thu Feb 25 20:08:36 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             vax
         MACHINE_ARCH:        vax
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/arch/amd64
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.vax
         RELEASEDIR path:     /home/random/netbsd9/usr/obj/releasedir
         Updated makewrapper: /home/random/netbsd9/arch/amd64/bin/nbmake-vax
         Successful make release
         Successful make iso-image
         build.sh ended:      Thu Feb 25 20:51:03 AKST 2021
===> .

 ...well, hmmph.

I ran a traditional/amd64 build with X and that took about 2 hours -but didn't record the time summary. also the make iso part was messed up because I forgot to put "sourcesets" before "iso-image-source".

Still! It takes half the time to compile NetBSD on a Linux VM than it does on a NetBSD VM. 

Hmmmph. 

This is on Debian 10.8, Virtualbox 6.1.18, 4 cores, for whatever that's worth

---

update

---

i386 in almost 90 minutes (again, no X):

make iso-image started at:  Thu Feb 25 22:26:51 AKST 2021
make iso-image finished at: Thu Feb 25 22:26:58 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Thu Feb 25 22:26:58 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -m i386 -U -O /home/random/netbsd9/usr/obj -T /home/random/netbsd9/arch/amd64 -j 5 release iso-image
         build.sh started:    Thu Feb 25 20:58:56 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             i386
         MACHINE_ARCH:        i386
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/arch/amd64
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.i386
         RELEASEDIR path:     /home/random/netbsd9/usr/obj/releasedir
         Updated makewrapper: /home/random/netbsd9/arch/amd64/bin/nbmake-i386
         Successful make release
         Successful make iso-image
         build.sh ended:      Thu Feb 25 22:26:58 AKST 2021
===> .

sun2 in ~45 minutes (no X)

---

iso-image ===> etc
make iso-image started at:  Thu Feb 25 23:13:19 AKST 2021
make iso-image finished at: Thu Feb 25 23:13:34 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Thu Feb 25 23:13:34 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -m sun2 -U -O /home/random/netbsd9/usr/obj -T /home/random/netbsd9/arch/amd64 -j 5 release iso-image
         build.sh started:    Thu Feb 25 22:38:21 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             sun2
         MACHINE_ARCH:        m68000
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/arch/amd64
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.sun2
         RELEASEDIR path:     /home/random/netbsd9/usr/obj/releasedir
         Updated makewrapper: /home/random/netbsd9/arch/amd64/bin/nbmake-sun2
         Successful make release
         Successful make iso-image
         build.sh ended:      Thu Feb 25 23:13:34 AKST 2021
===> .

---

iso-image ===> etc
make iso-image started at:  Fri Feb 26 00:08:14 AKST 2021
make iso-image finished at: Fri Feb 26 00:08:15 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Fri Feb 26 00:08:15 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -m sun3 -U -O /home/random/netbsd9/usr/obj -T /home/random/netbsd9/arch/amd64 -j 5 release iso-image
         build.sh started:    Thu Feb 25 23:23:37 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             sun3
         MACHINE_ARCH:        m68k
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/arch/amd64
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.sun3
         RELEASEDIR path:     /home/random/netbsd9/usr/obj/releasedir
         Updated makewrapper: /home/random/netbsd9/arch/amd64/bin/nbmake-sun3
         Successful make release
         Successful make iso-image
         build.sh ended:      Fri Feb 26 00:08:15 AKST 2021
===> . 

...time passes... 

iso-image ===> etc
make iso-image started at:  Fri Feb 26 12:57:59 AKST 2021
make iso-image finished at: Fri Feb 26 12:58:01 AKST 2021
===> Successful make iso-image
===> build.sh ended:      Fri Feb 26 12:58:01 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -X /home/random/netbsd9/usr/xsrc -x -m sparc -j 5 -U -u -O /home/random/netbsd9/usr/obj -R /home/random/netbsd9/rel/rel-sparc -T /home/random/netbsd9/tooldir/tooldir-sparc release iso-image
         build.sh started:    Fri Feb 26 12:35:41 AKST 2021
         NetBSD version:      9.1_STABLE
         MACHINE:             sparc
         MACHINE_ARCH:        sparc
         Build platform:      Linux 4.19.0-14-amd64 x86_64
         HOST_SH:             /usr/bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /home/random/netbsd9/tooldir/tooldir-sparc
         DESTDIR path:        /home/random/netbsd9/usr/obj/destdir.sparc
         RELEASEDIR path:     /home/random/netbsd9/rel/rel-sparc
         Updated makewrapper: /home/random/netbsd9/tooldir/tooldir-sparc/bin/nbmake-sparc
         Successful make release
         Successful make iso-image
         build.sh ended:      Fri Feb 26 12:58:01 AKST 2021
===> .

Saturday, February 6, 2021

Note to future self, feb 2021

This blog post details a personal workflow experiment. This is for my own use only -if you found this entry because of google, whatever you should be aware that none of this is recommended. It's shit I'm trying for myself.

At least it compiles!

I was able to build CDE on NetBSD 9.1 by following the instructions and then running:

LANG=C make -k World


Friday, February 5, 2021

Four Seventeen...

 ===> build.sh ended:      Fri Feb  5 03:36:39 AKST 2021
===> Summary of results:
         build.sh command:    ./build.sh -j 5 -u -x -X /usr/xsrc release sets sourcesets iso-image-source
         build.sh started:    Thu Feb  4 23:19:31 AKST 2021
         NetBSD version:      9.99.77
         MACHINE:             amd64
         MACHINE_ARCH:        x86_64
         Build platform:      NetBSD 9.99.77 amd64
         HOST_SH:             /bin/sh
         MAKECONF file:       /etc/mk.conf
         TOOLDIR path:        /usr/src/obj/tooldir.NetBSD-9.99.77-amd64
         DESTDIR path:        /usr/src/obj/destdir.amd64
         RELEASEDIR path:     /usr/src/obj/releasedir
         Updated makewrapper: /usr/src/obj/tooldir.NetBSD-9.99.77-amd64/bin/nbmake-amd64
         Successful make release
         Building sets from pre-populated /usr/src/obj/destdir.amd64
         Built sets to /usr/src/obj/releasedir/amd64/binary/sets
         Successful make sourcesets
         Successful make iso-image-source
         build.sh ended:      Fri Feb  5 03:36:39 AKST 2021
===> .
beasty2021$

automating zfs mounts -a quick and very dirty script

 #!/bin/sh for x in obj xsrc src pkgsrc pkgsrc/distfiles pkgsrc/packages pkg         do zfs create ext/$x zfs set mountpoint=/usr/$x ext/$x ...