More NetBSD-current fun at Linveo!

Not_OlesNot_Oles Hosting ProviderContent Writer

Hello!

  • VPS Share

Would anybody be interested in sharing my free Linveo AMD Ryzen 9 9950X NetBSD VPS in Arizona? It's open to friends who want to help me learn.

  • Goals

Tonight I decided to (1) try some method of rolling release updates of NetBSD pkgsrc. For example, please see pkg_rolling-replace (mailing list, 2008 introduction), please see also the man page. I could use help figuring out the best method of rolling updates with pkgsrc.

Also, I think it might be fun to (2) see whether I can get 9vx working. I could use help with the code and the compiling on 64 bit NetBSD of the vx32 sandboxing library used by 9vx.

Maybe I could (3) try the X Windows installation from pkgsrc instead of the xsrc version, but I haven't looked into pkgsrc X, very much as yet.

  • Procedure

I'm beginning by wiping and reinstalling my NetBSD-current VPS at Linveo. <3 The reinstall is from Linveo vmcontrol, which offers @cmeerw's <3 NetBSD 10.1 image.

The process is installing NetBSD 10.1, then, with changes appropriate for 10.1, following the simple NetBSD 10 to NetBSD-current steps in Quick Recipe For Self-Compiled NetBSD-current On A Linveo VPS.

linveo# ftp -o - https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.1/amd64/binary/sets/comp.tar.xz | progress -z tar xpf - -C /
linveo# which gcc
/usr/bin/gcc
linveo# cd /usr
linveo# mkdir obj src tools
linveo# mkdir /home
linveo# useradd -m -G wheel tom
linveo# passwd tom
Changing password for tom.
New Password:
Retype New Password:
linveo# chown tom obj src tools
linveo# su tom
linveo# 
linveo$ pwd
/usr
linveo$ export CVSROOT="[email protected]:/cvsroot"
linveo$ export CVS_RSH="ssh"
linveo$ cvs checkout -A -P src
linveo$ cd src
linveo$ nohup ./build.sh -j 2 -O ../obj -T ../tools -U distribution && \
> nohup ./build.sh -j 2 -O ../obj -T ../tools -U kernel=GENERIC

I like nohup because it gives me a full transcript of all the terminal output and because I don't have to stay connected. Back in the old days I used to start a NetBSD-current build and then sleep. I don't remember a build which failed to complete, but there might have been one.

I will post again, later, or maybe tomorrow, about whether this build completes.

I hope everyone gets the servers they want!

Thanked by (3)toor admax linveo
Tagged:

Comments

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    Wow! This VPS is fast! Both builds seem to have completed successfully!

    So, sleep now, and install tomorrow.

    ===> Summary of results:
             build.sh command:    ./build.sh -j 2 -O ../obj -T ../tools -U distribution
             build.sh started:    Fri Feb 21 04:34:35 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             amd64
             MACHINE_ARCH:        x86_64
             Build platform:      NetBSD 10.1 amd64
             HOST_SH:             /bin/sh
             No $TOOLDIR/bin/nbmake, needs building.
             Bootstrapping nbmake
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /usr/src/../tools
             DESTDIR path:        /usr/src/../obj/destdir.amd64
             RELEASEDIR path:     /usr/src/../obj/releasedir
             Created /usr/src/../tools/bin/nbmake
             Updated makewrapper: /usr/src/../tools/bin/nbmake-amd64
             Successful make distribution
             build.sh ended:      Fri Feb 21 05:41:37 UTC 2025
    ===> .
    
    ===> Summary of results:
             build.sh command:    ./build.sh -j 2 -O ../obj -T ../tools -U kernel=GENERIC
             build.sh started:    Fri Feb 21 05:41:37 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             amd64
             MACHINE_ARCH:        x86_64
             Build platform:      NetBSD 10.1 amd64
             HOST_SH:             /bin/sh
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /usr/src/../tools
             DESTDIR path:        /usr/src/../obj/destdir.amd64
             RELEASEDIR path:     /usr/src/../obj/releasedir
             Updated makewrapper: /usr/src/../tools/bin/nbmake-amd64
             Building kernel without building new tools
             Building kernel:     GENERIC
             Build directory:     /usr/src/../obj/sys/arch/amd64/compile/GENERIC
             Kernels built from GENERIC:
              /usr/src/../obj/sys/arch/amd64/compile/GENERIC/netbsd
             build.sh ended:      Fri Feb 21 05:46:55 UTC 2025
    ===> .
    
    Thanked by (1)linveo

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    Here is the new kernel install, followed by a reboot to run the new kernel.

    Then, with the new kernel running, we install the new userland and reboot again so that we are running both the new kernel and the new userland.

    The new kernel needs to be running before we try to run the new userland because some on the new userland binaries may require features from the new kernel, whereas the new kernel should be capable of running both the old and the new userland binaries.

    • New Kernel Install
    linveo# mv /netbsd /netbsd.old
    linveo# ls -l netbsd*
    ls: netbsd*: No such file or directory
    linveo# ls -l /netbsd*
    -rwxr-xr-x  1 root  wheel  29528360 Dec 16 13:08 /netbsd.old
    linveo# mv /usr/obj/sys/arch/amd64/compile/GENERIC/netbsd /
    linveo# ls -l /netbsd*
    -rwxr-xr-x  1 tom   wheel  29585768 Feb 21 05:46 /netbsd
    -rwxr-xr-x  1 root  wheel  29528360 Dec 16 13:08 /netbsd.old
    linveo# date
    Fri Feb 21 19:26:10 UTC 2025
    linveo# 
    
    • Reboot To Run The New Kernel
    linveo# reboot
      [ . . . ]
    linveo# date
    Fri Feb 21 19:27:39 UTC 2025
    linveo# uptime
     7:27PM  up 1 min, 1 user, load averages: 0.00, 0.00, 0.00
    linveo# 
    
    • New Userland Install
    linveo# cd /usr/src
    linveo# ls
    BUILDING     README.md    common       distrib      games        nohup.out    share        usr.bin
    CVS          UPDATING     compat       doc          include      regress      sys          usr.sbin
    Makefile     bin          crypto       etc          lib          rescue       tests
    Makefile.inc build.sh     dist         external     libexec      sbin         tools
    linveo# mv nohup.out nohup-20250221-build.out
    linveo# nohup ./build.sh -j 2 -O ../obj -T ../tools -U install=/
    sending output to nohup.out
    
    # From nohup.out:
    
    make installworld started at:  Fri Feb 21 19:31:25 UTC 2025
    make installworld finished at: Fri Feb 21 19:31:37 UTC 2025
    ===> Successful installworld to /
    ===> build.sh ended:      Fri Feb 21 19:31:37 UTC 2025
    ===> Summary of results:
             build.sh command:    ./build.sh -j 2 -O ../obj -T ../tools -U install=/
             build.sh started:    Fri Feb 21 19:31:25 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             amd64
             MACHINE_ARCH:        x86_64
             Build platform:      NetBSD 10.99.12 amd64
             HOST_SH:             /bin/sh
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /usr/src/../tools
             DESTDIR path:        /usr/src/../obj/destdir.amd64
             RELEASEDIR path:     /usr/src/../obj/releasedir
             Updated makewrapper: /usr/src/../tools/bin/nbmake-amd64
             Successful installworld to /
             build.sh ended:      Fri Feb 21 19:31:37 UTC 2025
    ===> .
    
    linveo# 
    
    • Reboot To Run The New Userland Under The New Kernel
    linveo# date
    Fri Feb 21 19:34:19 UTC 2025
    linveo# reboot
      [ . . . ]
    linveo# date
    Fri Feb 21 19:35:42 UTC 2025
    linveo# uptime
     7:35PM  up 1 min, 1 user, load averages: 0.00, 0.00, 0.00
    linveo# 
    
    • Results

    It seems that this VPS is running self-compiled NetBSD-current!

    linveo# uname -r
    10.99.12
    linveo# ls -l /bin | head
    total 1934
    -r-xr-xr-x  2 root  wheel   22056 Feb 21 05:40 [
    -r-xr-xr-x  1 root  wheel   22024 Feb 21 05:40 cat
    lrwxr-xr-x  1 root  wheel      11 Feb 21 05:40 chgrp -> /sbin/chown
    -r-xr-xr-x  1 root  wheel   22232 Feb 21 05:40 chio
    -r-xr-xr-x  1 root  wheel   17584 Feb 21 05:40 chmod
    -r-xr-xr-x  1 root  wheel   33528 Feb 21 05:40 cp
    -r-xr-xr-x  1 root  wheel   57720 Feb 21 05:40 cpio
    -r-xr-xr-x  1 root  wheel  190888 Feb 21 05:40 csh
    -r-xr-xr-x  1 root  wheel   27264 Feb 21 05:40 date
    linveo# 
    

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    NetBSD uses pkgsrc to compile and install self-compiled binaries for approximately 28,000 third-party programs which are not part of the NetBSD core. For quick reference, besides the pkgsrc.org site, there also is the pkgsrc section of the NetBSD wiki, a mailing list, and an IRC channel.

    Besides the current version of pkgsrc, called HEAD, there are quarterly branch releases.

    Remarkably, pkgsrc runs on many other operating systems besides NetBSD!

    Besides self-compiling, there are pre-compiled binaries available for SmartOS/Illumos, MacOS, NetBSD-current, and Enterprise Linux.

    Here, on our Linveo VPS, is the install via CVS of pkgsrc HEAD, plus downloading of the current package vulnerability list.

    linveo# cd /usr
    linveo# export CVS_RSH=ssh
    linveo# echo $CVS_RSH
    ssh
    linveo# nohup cvs [email protected]:/cvsroot checkout -P pkgsrc
    sending output to nohup.out
    linveo# ls bin       include   libdata   local     nohup.out pkg       sbin      src       tools
    games     lib       libexec   mdec      obj       pkgsrc    share     tests
    linveo# cd pkgsrc
    linveo# ls
    CVS           bootstrap     distfiles     geography     mbone         parallel      sysutils
    Makefile      cad           doc           graphics      meta-pkgs     pkglocate     templates
    README.md     chat          editors       ham           misc          pkgtools      textproc
    _NetBSD-pkgdb comms         emulators     inputmethod   mk            print         time
    archivers     converters    filesystems   lang          multimedia    regress       wm
    audio         cross         finance       licenses      net           science       www
    benchmarks    databases     fonts         mail          news          security      x11
    biology       devel         games         math          packages      shells
    linveo# pkg_admin fetch-pkg-vulnerabilities
    pkg_admin: Cannot create pkg-vulnerability file /usr/pkg/pkgdb/pkg-vulnerabilities: No such file or directory
    linveo# ls /usr
    bin       include   libdata   local     nohup.out pkgsrc    share     tests
    games     lib       libexec   mdec      obj       sbin      src       tools
    linveo# mkdir /usr/pkg /usr/pkg/pkgdb
    linveo# pkg_admin fetch-pkg-vulnerabilities
    linveo# 
    

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer
    edited February 23

    Just found two articles from the pkgsrc section of the NetBSD wiki:

    and

    I have been wanting to see good tutorials on these subjects for a while! Yaaay! :)

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    @Not_Oles said:

    • VPS Share

    Would anybody be interested in sharing my free Linveo AMD Ryzen 9 9950X NetBSD VPS in Arizona? It's open to friends who want to help me learn.


    Just finished updating, re-compiling, re-installing, and rebooting NetBSD-current.

    Plus I made a new backup.

    Next up is pkgsrc.

    @Not_Oles said: Just found two articles from the pkgsrc section of the NetBSD wiki:

    and

    Still hope to try the pkgsrc rolling release updating and modular xorg. . . . And 9vx.

    Thanks again to @linveo for the amazingly fast VPS! <3 Thanks to @cmeerw for the NetBSD 10.1 boot image from which I started.

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    While NetBSD was compiling I was messing with the NetBSD evbaarm-aarch64 install ISO on another VPS at netcup.

    I didn't succeed in getting the Netcup VPS to fully boot the NetBSD aarch64 ISO. I could see the initial boot messages and 1,2 install from,boot from option. And I could choose option 1. But, as soon as the boot went into graphic mode, netcup's HTML viewer disconnected and did not reconnect when the viewer was restarted.

    Just for fun, I decided to try cross compiling an aarch64 Qemu image on the Linveo VPS. I am following the NetBSD Guide Chapter 33 on Cross-compiling.

    The first step is building the tool chain, which seems to have succeeded.

    ===> build.sh ended:      Tue Mar 11 21:47:50 UTC 2025
    ===> Summary of results:
             build.sh command:    ./build.sh -U -O /home/tom/obj -j2 -m evbarm -a aarch64 tools
             build.sh started:    Tue Mar 11 21:40:36 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             evbarm
             MACHINE_ARCH:        aarch64
             Build platform:      NetBSD 10.99.12 amd64
             HOST_SH:             /bin/sh
             No $TOOLDIR/bin/nbmake, needs building.
             Bootstrapping nbmake
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /home/tom/obj/tooldir.NetBSD-10.99.12-amd64
             DESTDIR path:        /home/tom/obj/destdir.evbarm
             RELEASEDIR path:     /home/tom/obj/releasedir
             Created /home/tom/obj/tooldir.NetBSD-10.99.12-amd64/bin/nbmake
             Updated makewrapper: /home/tom/obj/tooldir.NetBSD-10.99.12-amd64/bin/nbmake-evbarm
             Tools built to /home/tom/obj/tooldir.NetBSD-10.99.12-amd64
             build.sh ended:      Tue Mar 11 21:47:50 UTC 2025
    ===> .
    

    The next step is to build the kernel, which also seems to have succeeded.

    ===> Summary of results:
             build.sh command:    ./build.sh -U -u -j2 -O /home/tom/obj -m evbarm -a aarch64 kernel=GENERIC64
             build.sh started:    Tue Mar 11 22:02:53 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             evbarm
             MACHINE_ARCH:        aarch64
             Build platform:      NetBSD 10.99.12 amd64
             HOST_SH:             /bin/sh
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /home/tom/obj/tooldir.NetBSD-10.99.12-amd64
             DESTDIR path:        /home/tom/obj/destdir.evbarm
             RELEASEDIR path:     /home/tom/obj/releasedir
             Updated makewrapper: /home/tom/obj/tooldir.NetBSD-10.99.12-amd64/bin/nbmake-evbarm
             Building kernel without building new tools
             Building kernel:     GENERIC64
             Build directory:     /home/tom/obj/sys/arch/evbarm/compile/GENERIC64
             Kernels built from GENERIC64:
              /home/tom/obj/sys/arch/evbarm/compile/GENERIC64/netbsd
             build.sh ended:      Tue Mar 11 22:06:32 UTC 2025
    ===> .
    

    Next is building the userland, which again seems to have succeeded.

    ===> Summary of results:
             build.sh command:    ./build.sh -U -u -j2 -O /home/tom/obj -m evbarm -a aarch64 release
             build.sh started:    Tue Mar 11 22:14:01 UTC 2025
             NetBSD version:      10.99.12
             MACHINE:             evbarm
             MACHINE_ARCH:        aarch64
             Build platform:      NetBSD 10.99.12 amd64
             HOST_SH:             /bin/sh
             share/mk MAKECONF:   /etc/mk.conf
             MAKECONF file:       /etc/mk.conf (File not found)
             TOOLDIR path:        /home/tom/obj/tooldir.NetBSD-10.99.12-amd64
             DESTDIR path:        /home/tom/obj/destdir.evbarm
             RELEASEDIR path:     /home/tom/obj/releasedir
             Updated makewrapper: /home/tom/obj/tooldir.NetBSD-10.99.12-amd64/bin/nbmake-evbarm
             Successful make release
             build.sh ended:      Tue Mar 11 23:12:25 UTC 2025
    ===> .
    

    Now it seems like I have the needed image.

    linveo$ pwd
    /home/tom/obj
    linveo$ ls -l releasedir/evbarm-aarch64/binary/gzimg/
    total 645088
    -rw-r--r--  1 tom  users  330088205 Mar 11 23:09 arm64.img.gz
    -rw-r--r--  1 tom  users  330116470 Mar 11 23:09 arm64mbr.img.gz
    linveo$ 
    

    Next step is to convert arm64.img.gz to qcow2, upload it, and see if it boots over at netcup. A hint on how to do the conversion is in NetBSD Arm on Oracle Cloud. It's unclear to me exactly how netcup's situation differs from the situation at Oracle. So, I'n not sure if the image will run at netcup. We will see!

    Thanks @linveo! <3

    I hope everyone gets the servers they want!

Sign In or Register to comment.