Showing posts with label bsd. Show all posts
Showing posts with label bsd. Show all posts

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

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

===> .




Sunday, July 19, 2020

386BSD at last!

So, Friday I was looking at the 386BSD repository (as you do) and noticed something quite interesting...

boot.exe

...wtf is a boot.exe? It is a DOS utility that allows you to boot an 386bsd kernel. Similar to (and the basis of?) the utility that used to ship in early FreeBSD cds.

After a brief test in VirtualBox (as you do) I set up an 86Box machine to test it out -and then another, and another, and so on.

Ignoring all of the dead ends and tangents, what I did can be summarized thusly:


  1. I cloned the 386BSD 1.0 repository inside of WSL
  2. I created a tar file (three, actually -a base, X386 and source) and put it on an iso
  3. I created a new 86Box machine, with a 504mb (no larger -or 386BSD's install crashes) drive.
  4. I added a second 504mb drive to that machine.
  5. I attached that drive onto a working FreeBSD 2.0 86Box machine.
  6. Booting into FreeBSD, I mounted the iso I created and the 386BSD drive and untarred all of the archives onto it
  7. After shutting that down, I booted the 386BSD machine and from dos typed boot 386bsd.sma wd1a
  8. I ran through the install process from the secondary hard drive to install 386BSD to the first
  9. I "enjoyed" my new 386BSD 1.0 installation!


...mind the quotes. The install is very rough, and I had to do some things I'm not proud of (ln /usr/bin/true /usr/sbin/sendmail) and some things I shouldn't have had to do (cp /etc/MAKEDEV /mnt/etc/MAKEDEV) (cd /mnt/dev;MAKEDEV

...and the included source does NOT compile, though I can't rule out a fuck-up on my part.

There's quite a few subtleties to all of this; missing directories, odd permissions and at this moment it only seems to work with extremely specific 86Box machines (NEC Pentium, to be exact). Also the TERM variable seems to be set to xterm which is a complete W.T.F. Then there's the question of setting the date (you can, but it doesn't persist)

...but at this point, that's all trivia; the important thing is that I have a "working" configuration.

"Working"



Saturday, January 20, 2018

The missing bits

Way way
Back back in the day, BSD was poised to take over the world.

But unexpectedly they smacked the bear on the nose and wound up in a year's long lawsuit which put the future of BSD in peril. 

In the end, everything was resolved with USL asking the CSRG (those responsible for BSD) to create a redacted release. This release was missing a few files and could not be compiled into a working release.

The open source projects (NetBSD, FreeBSD) scrambled to replace the missing parts and eventually released legally clean and unencumbered versions of their BSD-based operating systems.

Several years later, "historic unix" was released openly by Caldera (before they became the SCO group?), which put the formerly contested files out into the open.

A couple of years later, in 2004, a list of the contested files was released by Groklaw.

Here is the list, as far as I'm able to piece together:

Six Missing Header Files:

sys/sys/buf.h
sys/sys/proc.h
sys/sys/shm.h
sys/sys/tt y.h
sys/ufs/dinode.h
sys/ufs/inode.h

Restricted Files” (26 files):

sys/kern/init_main.c
sys/kern/kern_clock.c
sys/kern/kern_exec.c
sys/kern/kern_exit.c
sys/kern/kern_physio.c
sys/kern/kern_sig.c
sys/kern/kern_synch.c
sys/kern/subr_rmap.c
sys/kern/sys_generic.c
sys/kern/sys_process.c
sys/kern/sysv_shm.c
sys/kern/tty.c
sys/kern/tty_subr.c
sys/kern/vfs_bio.c
sys/kern/vfs_syscalls.c
sys/sys/buf.h
sys/sys/proc.h
sys/sys/shm.h
sys/sys/tty.h
sys/ufs/dinode.h
sys/ufs/inode.h
sys/ufs/ufs_bmap.c
sys/ufs/ufs_disksubr.c
sys/ufs/ufs_inode.c
sys/ufs/ufs_vnops.c
usr.bin/cpio/cpio.c
 

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