Showing posts with label compile times. Show all posts
Showing posts with label compile times. Show all posts

Wednesday, October 6, 2021

A quiet fall

So Windows 11 has dropped -and I've dropped Windows 10. 

I've been using Mint Linux 20.2 with a radeon no-fan (but 2gb) card and it works great for videos; not much else. 

I haven't built (or played with) NetBSD for a while so I set that up last night before I went to sleep; here's the results:

===> Summary of results:
     build.sh command:    ./build.sh -U -j 6 -x -X /home/random/nsrc/92/xsrc -O /home/random/nsrc/92/obj/amd64/ release sourcesets iso-image-source
     build.sh started:    Wed Oct  6 01:26:19 AKDT 2021
     NetBSD version:      9.2
     MACHINE:             amd64
     MACHINE_ARCH:        x86_64
     Build platform:      Linux 4.19.0-17-amd64 x86_64
     HOST_SH:             /usr/bin/sh
     No $TOOLDIR/bin/nbmake, needs building.
     Bootstrapping nbmake
     MAKECONF file:       /etc/mk.conf (File not found)
     TOOLDIR path:        /home/random/nsrc/92/obj/amd64/tooldir.Linux-4.19.0-17-amd64-x86_64
     DESTDIR path:        /home/random/nsrc/92/obj/amd64/destdir.amd64
     RELEASEDIR path:     /home/random/nsrc/92/obj/amd64/releasedir
     Created /home/random/nsrc/92/obj/amd64/tooldir.Linux-4.19.0-17-amd64-x86_64/bin/nbmake
     Updated makewrapper: /home/random/nsrc/92/obj/amd64/tooldir.Linux-4.19.0-17-amd64-x86_64/bin/nbmake-amd64
     Successful make release
     Successful make sourcesets
     Successful make iso-image-source
     build.sh ended:      Wed Oct  6 03:33:21 AKDT 2021
===> .


Sunday, May 9, 2021

11 hours to build -current; what the hell?

 I'm not filing a bug because there's too many things that could be problems on my end:


  • This is in a virtualbox VM
  • I've seen other symptoms of HD failure on my host (I'm replacing the SATA with an SSD)
  • This is current compiled on current (9.99.82 compiled on 9.99.81)
  • Everything was sent to /usr/obj, which is a zfs volume. 


So -too many moving parts to report, basically. 

That said, here's the summary:

64,no-emul-boot,allow-multidot,bootimage=i386\;efiboot.img,platformid=efi,no-emul-boot NetBSD-9.99.82-amd64.iso cdrom

--- iso_image ---

mkdir -p -m 0755 /usr/src/obj/releasedir/images

/usr/src/obj/tooldir.NetBSD-9.99.81-amd64/bin/x86_64--netbsd-install -r  -c -m 444 NetBSD-9.99.82-amd64.iso /usr/src/obj/releasedir/images

iso-image ===> etc

make iso-image-source started at:  Sat May  8 14:02:24 AKDT 2021

make iso-image-source finished at: Sat May  8 14:42:32 AKDT 2021

===> Successful make iso-image-source

===> build.sh ended:      Sat May  8 14:42:32 AKDT 2021

===> Summary of results:

         build.sh command:    ./build.sh -j 5 -m amd64 -x release sourcesets iso-image-source

         build.sh started:    Sat May  8 04:05:23 AKDT 2021

         NetBSD version:      9.99.82

         MACHINE:             amd64

         MACHINE_ARCH:        x86_64

         Build platform:      NetBSD 9.99.81 amd64

         HOST_SH:             /bin/sh

         No $TOOLDIR/bin/nbmake, needs building.

         Bootstrapping nbmake

         MAKECONF file:       /etc/mk.conf

         TOOLDIR path:        /usr/src/obj/tooldir.NetBSD-9.99.81-amd64

         DESTDIR path:        /usr/src/obj/destdir.amd64

         RELEASEDIR path:     /usr/src/obj/releasedir

         Created /usr/src/obj/tooldir.NetBSD-9.99.81-amd64/bin/nbmake

         Updated makewrapper: /usr/src/obj/tooldir.NetBSD-9.99.81-amd64/bin/nbmake-amd64

         Successful make release

         Successful make sourcesets

         Successful make iso-image-source

         build.sh ended:      Sat May  8 14:42:32 AKDT 2021

===> .


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
===> .

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$

Sunday, December 27, 2020

ooof. 4 hours and 42 minutes to build 9.99.77!

 mkdir -p -m 0755 /usr/src/obj/releasedir/images

/usr/src/obj/tooldir.NetBSD-9.99.77-amd64/bin/x86_64--netbsd-install -r -p -c -m 444 NetBSD-9.99.77-amd64.iso /usr/src/obj/releasedir/images

iso-image ===> etc

make iso-image-source started at:  Sun Dec 27 07:55:04 AKST 2020

make iso-image-source finished at: Sun Dec 27 07:56:11 AKST 2020

===> Successful make iso-image-source

===> build.sh ended:      Sun Dec 27 07:56:11 AKST 2020

===> Summary of results:

         build.sh command:    ./build.sh -j 4 -u -x -X /usr/xsrc release sets sourcesets iso-image-source

         build.sh started:    Sun Dec 27 03:14:41 AKST 2020

         NetBSD version:      9.99.77

         MACHINE:             amd64

         MACHINE_ARCH:        x86_64

         Build platform:      NetBSD 9.99.77 amd64

         HOST_SH:             /bin/sh

         No $TOOLDIR/bin/nbmake, needs building.

         Bootstrapping nbmake

         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

         Created /usr/src/obj/tooldir.NetBSD-9.99.77-amd64/bin/nbmake

         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:      Sun Dec 27 07:56:11 AKST 2020

===> .

Command line:  ./build.sh -j 4 -u -x -X /usr/xsrc release sets sourcesets iso-image-source

Virtualbox, 4 cpus, Execution cap 95%, 10248mb of ram

----

Results from 11 Jan 2021:

----

make iso-image-source finished at: Mon Jan 11 03:33:14 AKST 2021

===> Successful make iso-image-source

===> build.sh ended:      Mon Jan 11 03:33:14 AKST 2021

===> Summary of results:

         build.sh command:    ./build.sh -j 4 -u -x -X /usr/xsrc release sets sourcesets iso-image-source

         build.sh started:    Sun Jan 10 23:54:07 AKST 2021

         NetBSD version:      9.99.77

         MACHINE:             amd64

         MACHINE_ARCH:        x86_64

         Build platform:      NetBSD 9.99.77 amd64

         HOST_SH:             /bin/sh

         No $TOOLDIR/bin/nbmake, needs building.

         Bootstrapping nbmake

         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

         Created /usr/src/obj/tooldir.NetBSD-9.99.77-amd64/bin/nbmake

         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:      Mon Jan 11 03:33:14 AKST 2021

===> .




Tuesday, January 19, 2016

updating netbsd-7 with kvm

KVM commandline (on host):
 screen -S qemu06 /usr/local/bin/qemu-system-x86_64 -enable-kvm -cpu host -smp 4,cores=4,maxcpus=8 -m 2048 -net nic,model=e1000 -net tap,ifname=tap5,script=no -hda /home/random/qemu/x86/n7cde/cde.vdi -nographic
====
build command (inside VM):
time ./build.sh -x -r -j4 release iso-image

=====
make iso-image started at:  Tue Jan 19 18:56:17 AKST 2016
make iso-image finished at: Tue Jan 19 18:57:22 AKST 2016
===> Successful make iso-image
===> build.sh ended:      Tue Jan 19 18:57:22 AKST 2016
===> Summary of results:
         build.sh command:    ./build.sh -x -r -j4 release iso-image
         build.sh started:    Tue Jan 19 17:11:58 AKST 2016
         NetBSD version:      7.0.0_PATCH
         MACHINE:             amd64
         MACHINE_ARCH:        x86_64
         Build platform:      NetBSD 7.0 amd64
         HOST_SH:             /bin/sh
         No $TOOLDIR/bin/nbmake, needs building.
         Bootstrapping nbmake
         MAKECONF file:       /etc/mk.conf
         TOOLDIR path:        /usr/src/obj/tooldir.NetBSD-7.0-amd64
         DESTDIR path:        /usr/src/obj/destdir.amd64
         RELEASEDIR path:     /usr/src/obj/releasedir
         Removing /usr/src/obj/tooldir.NetBSD-7.0-amd64
         Removing /usr/src/obj/destdir.amd64
         Created /usr/src/obj/tooldir.NetBSD-7.0-amd64/bin/nbmake
         Updated makewrapper: /usr/src/obj/tooldir.NetBSD-7.0-amd64/bin/nbmake-amd64  
         Successful make release
         Successful make iso-image
         build.sh ended:      Tue Jan 19 18:57:22 AKST 2016
===> .
     6324.10 real     12894.15 user      4787.03 sys

Monday, September 14, 2015

Building NetBSD 7.0RC3 on KVM

Today I tested out building NetBSD 7 on a NetBSD 6 KVM virtual machine.

Here's the command line for starting the vm:
===
qemu-system-x86_64 -smp 4 -cpu host -enable-kvm -m 2048 -vga std -vnc :0 -drive file=$PWD/nbsd/wd01.img,index=0,media=disk,format=raw -net nic,model=e1000 -net user -redir tcp:5550::22 &
===
here's the post-build summary from build.sh:
===
         build.sh command:    ./build.sh -O /usr/obj -U -j 4 tools kernel=RND0 modules distribution sets
         build.sh started:    Mon Sep 14 16:58:05 AKDT 2015
         NetBSD version:      7.0_RC3
         MACHINE:             amd64
         MACHINE_ARCH:        x86_64
         Build platform:      NetBSD 6.1.5 amd64
         HOST_SH:             /bin/sh
         MAKECONF file:       /etc/mk.conf (File not found)
         TOOLDIR path:        /usr/obj/tooldir.NetBSD-6.1.5-amd64
         DESTDIR path:        /usr/obj/destdir.amd64
         RELEASEDIR path:     /usr/obj/releasedir
         Updated makewrapper: /usr/obj/tooldir.NetBSD-6.1.5-amd64/bin/nbmake-amd64
         Tools built to /usr/obj/tooldir.NetBSD-6.1.5-amd64
         Building kernel:     RND0
         Build directory:     /usr/obj/sys/arch/amd64/compile/RND0
         Kernels built from RND0:
          /usr/obj/sys/arch/amd64/compile/RND0/netbsd
         Building kernel modules for NetBSD/amd64 7.0_RC3
         Successful build of kernel modules for NetBSD/amd64 7.0_RC3
         Successful make distribution
         Building sets from pre-populated /usr/obj/destdir.amd64
         Built sets to /usr/obj/releasedir/amd64/binary/sets
         build.sh ended:      Mon Sep 14 18:08:47 AKDT 2015
===
Testing and installing it now -90 minutes isn't too shabby for a VM build. The host machine barely felt it, btw; no real noticeable performance hit.
===
I blitzed the install by following the instructions on the guide, but that doesn't matter that much -I found out what I wanted to know.

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 ...