mk.conf:
MAKE_JOBS= 4
DEPENDS_TARGET= bin-install
---
VBoxManage setextradata "NetBSD-92amd" CustomVideoMode1 1920x1080x32
vesa list
vesa 0x160
---
mk.conf:
MAKE_JOBS= 4
DEPENDS_TARGET= bin-install
---
VBoxManage setextradata "NetBSD-92amd" CustomVideoMode1 1920x1080x32
vesa list
vesa 0x160
---
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.
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.
I was able to build CDE on NetBSD 9.1 by following the instructions and then running:
LANG=C make -k World
===> 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$
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
===> .
Section "ServerLayout"I've also found that setting RAM between 4G and 6G is needed for larger apps (CLang, GCC) to finish compiling.
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/X11R7/lib/modules"
FontPath "/usr/X11R7/lib/X11/fonts/misc/"
FontPath "/usr/X11R7/lib/X11/fonts/TTF/"
FontPath "/usr/X11R7/lib/X11/fonts/Type1/"
FontPath "/usr/X11R7/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R7/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "dri"
Load "dri2"
Load "glx"
Load "shadow"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "wsmouse"
Option "Device" "/dev/wsmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 31-80
VertRefresh 30-100
EndSection
Section "Device"
### Available Driver options are:-
### Values: : integer,: float, : "True"/"False",
###: "String", : " Hz/kHz/MHz",
###: " %"
### [arg]: arg optional
#Option "ShadowFB" # []
#Option "DefaultRefresh" # []
#Option "ModeSetClearScreen" # []
Identifier "Card0"
Driver "vesa"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
DefaultDepth 16
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
# SubSection "Display"
# Viewport 0 0
# Depth 24
# Modes "1920x1080"
# EndSubSection
EndSection
make release started at: Wed Mar 8 00:49:50 AKST 2017tldr; it only takes an hour and a half to rebuild NetBSD on my i5. Not too shabby.
make release finished at: Wed Mar 8 02:16:35 AKST 2017
===> Successful make release
===> build.sh ended: Wed Mar 8 02:16:35 AKST 2017
===> Summary of results:
build.sh command: ./build.sh -x -j 6 -r release
build.sh started: Wed Mar 8 00:49:44 AKST 2017
NetBSD version: 7.1_RC2
MACHINE: amd64
MACHINE_ARCH: x86_64
Build platform: NetBSD 7.1_RC2 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.1_RC2-amd64
DESTDIR path: /usr/src/obj/destdir.amd64
RELEASEDIR path: /usr/src/obj/releasedir
Removing /usr/src/obj/tooldir.NetBSD-7.1_RC2-amd64
Removing /usr/src/obj/destdir.amd64
Created /usr/src/obj/tooldir.NetBSD-7.1_RC2-amd64/bin/nbmake
Updated makewrapper: /usr/src/obj/tooldir.NetBSD-7.1_RC2-amd64/bin/nbmake-amd64
Successful make release
build.sh ended: Wed Mar 8 02:16:35 AKST 2017
===> .
#!/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 ...