NetBSD Wiki/
RecentChanges
Recent changes to this wiki:
kernel_dir: add possible update process, from pgoyette@
Index: wikisrc/kernel_dir.mdwn =================================================================== RCS file: /cvsroot/wikisrc/kernel_dir.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/kernel_dir.mdwn 28 Apr 2025 15:03:37 -0000 1.1 +++ wikisrc/kernel_dir.mdwn 28 Apr 2025 22:05:18 -0000 1.2 @@ -1,8 +1,9 @@ [[!meta title="KERNEL_DIR: Kernel directories"]] -Since April 28, 2025, NetBSD's build system has a new option -"KERNEL_DIR". It allows having a kernel and the corresponding debug -kernel and kernel modules all together in a directory. +Since April 28, 2025, NetBSD's build system (on amd64 for now) has a +new option "KERNEL_DIR". It allows having a kernel and the +corresponding debug kernel and kernel modules all together in a +directory. The option can be used from `build.sh` like this: @@ -38,3 +39,11 @@ (A [change request](https://gnats.netbsd.org/59374) to simplify this has been filed.) + +A possible update process would look like this: + + rm -rf /onetbsd + mv /netbsd /onetbsd + mkdir /netbsd + copy new kernel{,.gdb} into /netbsd + build.sh install=/ -V KERNEL_DIR ... # for the rest, including new modules
Document KERNEL_DIR per my understanding of it.
--- /dev/null 2025-04-28 15:00:35.562895842 +0000 +++ wikisrc/kernel_dir.mdwn 2025-04-28 15:04:28.049516231 +0000 @@ -0,0 +1,40 @@ +[[!meta title="KERNEL_DIR: Kernel directories"]] + +Since April 28, 2025, NetBSD's build system has a new option +"KERNEL_DIR". It allows having a kernel and the corresponding debug +kernel and kernel modules all together in a directory. + +The option can be used from `build.sh` like this: + + build.sh -VKERNEL_DIR=yes ... + +and build a new kernel and distribution. + +Then make sure your third-stage bootloader is up-to-date. For +example, if you're booting via GPT from an EFI partition, install an +up-to-date `/usr/mdec/bootx64.efi` into `/efi/boot` on the EFI partition. + +The new structure then is as follows: + +Instead of + + /netbsd # kernel + /netbsd.gdb # kernel with debugging symbols + /stand/amd64/10.99.12/modules # kernel modules + +you'll have these files: + + /netbsd/kernel # kernel + /netbsd/kernel.gdb # kernel with debugging symbols + /netbsd/modules # kernel modules + +The bootloader will try loading `/netbsd/kernel`, `/onetbsd/kernel`, +`/netbsd.old/kernel` in that order. + +Please note, the boot loader UI changes slightly. If you want to load +a custom kernel, you must specify directory and path, i.e. + + boot /netbsd.test/kernel + +(A [change request](https://gnats.netbsd.org/59374) to simplify this +has been filed.)
OSC2025 Nagoya BoF 11:00-11:45
Index: wikisrc/users/jun.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/jun.mdwn,v retrieving revision 1.148 retrieving revision 1.149 diff -u -r1.148 -r1.149 --- wikisrc/users/jun.mdwn 4 Mar 2025 01:47:34 -0000 1.148 +++ wikisrc/users/jun.mdwn 24 Apr 2025 04:16:13 -0000 1.149 @@ -10,6 +10,7 @@ ## Open Source Conference 2025 Nagoya NetBSD Booth & NBUG BoF - 2025 May.31 Sat 10:00-18:00 JST (UTC+9) +- BoF 2025 May.31 Sat 11:00-11:45 JST [[https://event.ospn.jp/osc2025-nagoya/session/day1]] - Nagoya Trade & Industry Center [[https://www.nipc.or.jp/fukiage/sub/visitor-access.html#around]] - with [[http://nagoya.bug.gr.jp/]] - [[https://event.ospn.jp/osc2025-nagoya/]]
Fix some typos in FreeBSD section
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.274 retrieving revision 1.275 diff -u -r1.274 -r1.275 --- wikisrc/ports/xen/howto.mdwn 23 Apr 2025 16:31:29 -0000 1.274 +++ wikisrc/ports/xen/howto.mdwn 23 Apr 2025 16:35:41 -0000 1.275 @@ -1070,11 +1070,11 @@ ## Creating a FreeBSD domU -For PVHVM, you can follow the NetBSD instructions and just use a FreeBSD ISO +For PVHVM, you can follow the NetBSD instructions above and just use a FreeBSD ISO image instead. If wanting to convert to PVH later, it is probably best to -usexbd0s1a ufs rather than zfs for your root filesystem. +use ufs rather than zfs for your root filesystem. -To convert a PVHVM domU to PVH, login to the running PVHVM VM and note the root partition (e.g. +To convert a PVHVM domU to PVH after installation, login to the running PVHVM VM and note the root partition (e.g. /dev/ada0s1a). You will likely need to keep a copy of the GENERIC kernel on your dom0 filesystem. You can copy this from /boot/kernel/kernel on the installed VM or by extracting it from /usr/freebsd-dist/kernel.txz on the @@ -1082,11 +1082,11 @@ You can then alter your domU config as follows: - type='pvh'. + type='pvh' kernel='/path/to/kernel' extra = "vfs.root.mountfrom=ufs:/dev/xbd0s1a" -Alter the root partition device from adaX to xbdX (e.g. /dev/ada0s1a to +Alter the root partition device you determined earlier from adaX to xbdX (e.g. /dev/ada0s1a to /dev/xbd0s1a) when doing this. Remember you will need to use the serial/text console not the graphical VNC console after you have converted to PVH.
Document FreeBSD PVH and PVHVM
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.273 retrieving revision 1.274 diff -u -r1.273 -r1.274 --- wikisrc/ports/xen/howto.mdwn 23 Apr 2025 15:37:41 -0000 1.273 +++ wikisrc/ports/xen/howto.mdwn 23 Apr 2025 16:31:29 -0000 1.274 @@ -993,9 +993,6 @@ were a real machine. (Note that because GENERIC has PV drivers, this will be PVHVM, unless you remove or disable them.) -Perhaps configure serial="pty" to gain access to the domUs first -serial port (and hence console?). - The boot device will need to be specified if you do not wish to boot from the first hard disk (e.g. if you want to boot from CD). @@ -1073,9 +1070,26 @@ ## Creating a FreeBSD domU -For pvh: use type='pvh'. Configure a generic kernel. - -For others: \todo +For PVHVM, you can follow the NetBSD instructions and just use a FreeBSD ISO +image instead. If wanting to convert to PVH later, it is probably best to +usexbd0s1a ufs rather than zfs for your root filesystem. + +To convert a PVHVM domU to PVH, login to the running PVHVM VM and note the root partition (e.g. +/dev/ada0s1a). You will likely need to keep a copy of the GENERIC kernel +on your dom0 filesystem. You can copy this from /boot/kernel/kernel on the +installed VM or by extracting it from /usr/freebsd-dist/kernel.txz on the +ISO image. + +You can then alter your domU config as follows: + + type='pvh'. + kernel='/path/to/kernel' + extra = "vfs.root.mountfrom=ufs:/dev/xbd0s1a" + +Alter the root partition device from adaX to xbdX (e.g. /dev/ada0s1a to +/dev/xbd0s1a) when doing this. +Remember you will need to use the serial/text console not the graphical VNC +console after you have converted to PVH. ## Creating a Linux PV domU
Describe keymap option for HVM graphical console.
White-space improvements.
White-space improvements.
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.272 retrieving revision 1.273 diff -u -r1.272 -r1.273 --- wikisrc/ports/xen/howto.mdwn 23 Apr 2025 15:11:51 -0000 1.272 +++ wikisrc/ports/xen/howto.mdwn 23 Apr 2025 15:37:41 -0000 1.273 @@ -1004,6 +1004,9 @@ To change the port use vncdisplay=XX where XX will be added to 5900 to determine the port to use. A plain-text password may be specified with vncpasswd. +You may need to specify a different keymap if en-us isn't what you use with +the keymap option (e.g. keymap="en-gb"). N.B. specifying a non-existent +keymap may create a zombie VM that cannot be destroyed. To enable a text (serial) console that you can access with xl console, add serial="pty". e.g. if you boot from a boot-com.iso image, you can install without using VNC. @@ -1027,8 +1030,8 @@ vif = [ 'mac=00:01:02:ab:cd:ef, bridge=bridge0' ] disk = [ 'format=raw, vdev=hda, access=rw, target=phy:/dev/zvol/dsk/tank/foo', - 'format=raw, vdev=hdc, access=ro, - target=file:/n0/xen/iso/NetBSD-10.1_STABLE-amd64.iso' ] + 'format=raw, vdev=hdc, access=ro, + target=file:/n0/xen/iso/NetBSD-10.1_STABLE-amd64.iso' ] boot = "d" """]]
Fix formatting of some configuration file fragments
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.271 retrieving revision 1.272 diff -u -r1.271 -r1.272 --- wikisrc/ports/xen/howto.mdwn 23 Apr 2025 14:59:02 -0000 1.271 +++ wikisrc/ports/xen/howto.mdwn 23 Apr 2025 15:11:51 -0000 1.272 @@ -1008,7 +1008,7 @@ To enable a text (serial) console that you can access with xl console, add serial="pty". e.g. if you boot from a boot-com.iso image, you can install without using VNC. -[[!template id=programlisting name="After installation" text=""" +[[!template id=filecontent name="After installation" text=""" type = "hvm" name = "foo" memory = 2048 @@ -1019,7 +1019,7 @@ boot = "c" """]] -[[!template id=programlisting name="Install from CD" text=""" +[[!template id=filecontent name="Install from CD" text=""" type = "hvm" name = "foo" memory = 2048 @@ -1038,8 +1038,9 @@ incorrectly as a hard disk and will not be usable (and thus you will not be able to install from CD). See the Toolstack section below for details on how to alter this on a xapi-based Xen system (XenServer or XCP-ng). +Examples of correct and incorrect behaviour are below: -[[!template id=programlisting name="vdev=hdc" text=""" +[[!template id=filecontent name="vdev=hdc" text=""" wdc1 at isa0 port 0x170-0x177 irq 15 atabus0 at wdc1 channel 0 atapibus0 at atabus0: 2 targets @@ -1047,7 +1048,7 @@ cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) """]] -[[!template id=programlisting name="vdev=hdb" text=""" +[[!template id=filecontent name="vdev=hdb" text=""" wdc0 at isa0 port 0x1f0-0x1f7 irq 14 atabus0 at wdc0 channel 0 wd0 at atabus0 drive 0 @@ -1300,6 +1301,7 @@ [Citrix XenServer](https://xenserver.com/) and [XCP-ng](https://xcp-ng.org/) both use the xapi toolstack which is tightly tied to Linux as a dom0. VPS providers using XenServer or XCP-ng are likely to be more consistent +with each other as they will not be building the Xen kernel or toolstack themselves. However, this means some options may be compiled out and cannot be easily re-enabled. From XenServer 8.4 and XCP-ng onwards, PV32, PV_LINEAR_PT and @@ -1321,7 +1323,7 @@ or 3 (hdd a.k.a. xvdd). By default, the new VM will have its emulated CD drive as xvdd (device 3) and so will not work. To alter this, determine its vbd UUID and change userdevice to 2. -A transcript is as follows: +A transcript of both the viridian and CD changes is as follows: [[!template id=programlisting name="NetBSD HVM on xapi" text=""" [root@xenserver1 ~]# xe vm-list name-label="NetBSD 10" --minimal
Fix documentation links
Fix typos.
Be clearer about how disk images are specified.
Explain graphical and serial consoles with HVM guests.
Describe issues with emulated CD devices in HVM mode.
Explain how to successfully install as a guest on XenServer/XCP-ng.
Fix typos.
Be clearer about how disk images are specified.
Explain graphical and serial consoles with HVM guests.
Describe issues with emulated CD devices in HVM mode.
Explain how to successfully install as a guest on XenServer/XCP-ng.
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.270 retrieving revision 1.271 diff -u -r1.270 -r1.271 --- wikisrc/ports/xen/howto.mdwn 25 Mar 2025 15:06:21 -0000 1.270 +++ wikisrc/ports/xen/howto.mdwn 23 Apr 2025 14:59:02 -0000 1.271 @@ -704,24 +704,23 @@ In domU config files, disks can be defined by key-value pairs or as a sequence of 3-tuples. See the -[upstream documentation] -(https://xenbits.xenproject.org/docs/4.18-testing/man/xl-disk-configuration.5.html). +[upstream documentation](https://xenbits.xenproject.org/docs/4.18-testing/man/xl-disk-configuration.5.html). Read the man page carefully. Note that NetBSD has a culture of using -deprecated positional syntax. This HOWTO is converting to keyword +deprecated 3-tuple positional syntax. This HOWTO is slowly converting to keyword syntax. -One big hint is that vdev= must precede target, despite the order in -which keywords are documented, and despite the fact that obviously -keywords may be in any order. \todo Check and maybe file a bug. +One big hint is that target= should always be last (which contrasts with +the deprecated format where the target is specified first). -A second hint is that for a target in PV mode, one must give a block +A second hint is that for a physical target in PV mode, one must give a block device. But for a target in HVM mode, one must give the raw device. If passing a block device, xen tries to transform it and adds a -suprious r. \todo Check and maybe file a bug. +spurious r. \todo Check and maybe file a bug. A third is that vdev can be 0x0 in PV mode but must be something like -hda in HVM mode. +hda in HVM mode. Leaving as 0x0 will generate a warning such as +'unable to determine disk number for 0x0' \todo Fold in or gc the following. @@ -737,8 +736,8 @@ * The second element is an artifact of how virtual disks are passed to Linux, and a source of confusion with NetBSD Xen usage. Linux domUs are given a device name to associate with the disk, and values like - "hda1" or "sda1" are common. In a NetBSD domU, the first disk appears - as xbd0, the second as xbd1, and so on. However, xl demands a + "hda1" or "sda1" are common. In a NetBSD domU, the first disk discovered appears + as xbd0, the second as xbd1, and so on However, xl demands a second argument. The name given is converted to a major/minor by calling stat(2) on the name in /dev and this is passed to the domU. In the general case, the dom0 and domU can be different operating @@ -752,13 +751,17 @@ * The third element is "w" for writable disks, and "r" for read-only disks. -Examples (key/value and positional): +Examples (key/value and positional). The two 'disk' lines have the identical +result: [[!template id=filecontent name="/usr/pkg/etc/xen/foo" text=""" -disk = [ '\todo key/value example', - 'file:/n0/xen/foo-wd0,0x0,w' ] +# Newer key/value format: +disk = [ 'format=raw, vdev=hdc, devtype=cdrom, access=ro, target=/n0/xen/iso/NetBSD-10.1_STABLE-amd64.iso' ] +# Older positional format: +disk = [ 'file:/n0/xen/iso/NetBSD-10.1_STABLE-amd64.iso,hdc:cdrom,r' ] """]] -Note that NetBSD by default creates only vnd[0123]. If you need more +Note that NetBSD by default creates only vnd[0123] in /dev which are used +for file:/ virtual disks. If you need more than 4 total virtual disks at a time, run e.g. "./MAKEDEV vnd4" in the dom0. @@ -772,8 +775,7 @@ configurations. We focus on two common and useful cases for which there are existing scripts: bridging and NAT. -See the [upstream documentation] -(https://xenbits.xen.org/docs/unstable/man/xl-network-configuration.5.html). +See the [upstream documentation](https://xenbits.xen.org/docs/unstable/man/xl-network-configuration.5.html). With bridging (in the example above), the domU perceives itself to be on the same network as the dom0. For server virtualization, this is @@ -994,11 +996,19 @@ Perhaps configure serial="pty" to gain access to the domUs first serial port (and hence console?). -This config snippet was stolen from a port-xen post. It might not -quite work, as it was in the context of debugging issues apparently -from zvol usage. +The boot device will need to be specified if you do not wish to boot +from the first hard disk (e.g. if you want to boot from CD). -[[!template id=programlisting text=""" +The graphical console will be accessible with VNC on 127.0.0.1 port 5900. +To change the IP address use vnclisten="IP.AD.DR.ESS". +To change the port use vncdisplay=XX where XX will be added to 5900 to determine +the port to use. +A plain-text password may be specified with vncpasswd. + +To enable a text (serial) console that you can access with xl console, add serial="pty". +e.g. if you boot from a boot-com.iso image, you can install without using VNC. + +[[!template id=programlisting name="After installation" text=""" type = "hvm" name = "foo" memory = 2048 @@ -1006,6 +1016,44 @@ vif = [ 'mac=00:01:02:ab:cd:ef, bridge=bridge0' ] disk = [ 'format=raw, vdev=hda, access=rw, target=phy:/dev/zvol/dsk/tank/foo' ] +boot = "c" +"""]] + +[[!template id=programlisting name="Install from CD" text=""" +type = "hvm" +name = "foo" +memory = 2048 +vcpus = 2 +vif = [ 'mac=00:01:02:ab:cd:ef, bridge=bridge0' ] +disk = [ 'format=raw, vdev=hda, access=rw, + target=phy:/dev/zvol/dsk/tank/foo', + 'format=raw, vdev=hdc, access=ro, + target=file:/n0/xen/iso/NetBSD-10.1_STABLE-amd64.iso' ] +boot = "d" +"""]] + +N.B. the vdev device for a cdrom device MUST be given as hdc, not hdb, +as this alters how the emulated ATA devices attach. With hdc, an emulated +CD drive will attach (and be usable), whereas with hdb, it will be seen +incorrectly as a hard disk and will not be usable (and thus you will not +be able to install from CD). See the Toolstack section below for details on +how to alter this on a xapi-based Xen system (XenServer or XCP-ng). + +[[!template id=programlisting name="vdev=hdc" text=""" +wdc1 at isa0 port 0x170-0x177 irq 15 +atabus0 at wdc1 channel 0 +atapibus0 at atabus0: 2 targets +cd0 at atapibus0 drive 0: <QEMU DVD-ROM, QM00003, 2.5+> cdrom removable +cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) +"""]] + +[[!template id=programlisting name="vdev=hdb" text=""" +wdc0 at isa0 port 0x1f0-0x1f7 irq 14 +atabus0 at wdc0 channel 0 +wd0 at atabus0 drive 0 +wd0: <ST506> +wd0: drive supports 1-sector PIO transfers, chs addressing +wd0: 69632 KB, 1024 cyl, 8 head, 17 sec, 512 bytes/sect x 139264 sectors """]] ## Creating a NetBSD PVHVM domU @@ -1258,7 +1306,31 @@ SHADOW_PAGING are compiled out from the Xen kernel. This means that running a NetBSD domU in PV mode is not possible. The xapi toolstack does not support PVH mode, but it does support pvshim (known as pv-in-pvh). -Unfortunately, a NetBSD domU will still not run. +Unfortunately, a NetBSD domU will still not run in PVH mode. + +When creating a PVHVM NetBSD VM with the xapi toolstack create +your guest using the Other install media VM template. You may use either +BIOS or UEFI boot options. Untick the Start the new VM automatically box. +Once you have created the VM, determine +its UUID either from XenCenter, XenOrchestra or using +xe vm-list name-label="VM NAME" --minimal from the hypervisor command line. +Disable the viridian flag with xe vm-param-set platform:viridian=false uuid=VMUUID. +This will enable the VM to detect it is running on the Xen hypervisor. + +As mentioned above, the emulated CD drive must be set as device 2 (hdc a.k.a. xvdc) not 1 (hdb) +or 3 (hdd a.k.a. xvdd). By default, the new VM will have its emulated CD drive as xvdd (device 3) +and so will not work. To alter this, determine its vbd UUID and change userdevice to 2. + +A transcript is as follows: + +[[!template id=programlisting name="NetBSD HVM on xapi" text=""" +[root@xenserver1 ~]# xe vm-list name-label="NetBSD 10" --minimal +30126d92-842a-ce8b-2939-c58f174d727f +[root@xenserver1 ~]# xe vm-param-set uuid=30126d92-842a-ce8b-2939-c58f174d727f platform:viridian=false +[root@xenserver1 ~]# xe vbd-list vm-uuid=30126d92-842a-ce8b-2939-c58f174d727f type=CD --minimal +515192ef-9019-e3d2-1322-48d51abfb080 +[root@xenserver1 ~]# xe vbd-param-set uuid=515192ef-9019-e3d2-1322-48d51abfb080 userdevice=2 +"""]] ## Complexities due to Xen changes
abi: Fix markup in hppa section.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- wikisrc/abi.mdwn 20 Apr 2025 14:18:36 -0000 1.11 +++ wikisrc/abi.mdwn 20 Apr 2025 18:52:43 -0000 1.12 @@ -71,11 +71,11 @@ PA-RISC 1.1 ABI: -* [*The 32-bit PA-RISC Runtime Architecture Document*], HP-UX 10.20, Version 3.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240416161750/http://ftp.parisc-linux.org/docs/arch/pa-runtime-32-SOM.pdf)) +* *The 32-bit PA-RISC Runtime Architecture Document*, HP-UX 10.20, Version 3.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240416161750/http://ftp.parisc-linux.org/docs/arch/pa-runtime-32-SOM.pdf)) PA-RISC 2.0 ABI: -* *32-bit PA-RISC Runtime Architecture Document, HP-UX 11.0, Version 1.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240514162903/https://parisc.wiki.kernel.org/index.php/File:Rad_11_0_32.pdf)) +* *32-bit PA-RISC Runtime Architecture Document*, HP-UX 11.0, Version 1.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240514162903/https://parisc.wiki.kernel.org/index.php/File:Rad_11_0_32.pdf)) * [*64-bit Runtime Architecture for PA-RISC 2.0*](https://parisc.docs.kernel.org/en/latest/_downloads/b682a92bc0ecb0535f5edcb7c57f0bba/Pa64rt.pdf), Version 3.3, Hewlett-Packard, 1997-10-06 ([archive](https://web.archive.org/web/20221026065114/https://parisc.wiki.kernel.org/images-parisc/5/59/Pa64rt.pdf)) #### i386
abi: Dump some more hppa links.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- wikisrc/abi.mdwn 18 Apr 2025 18:16:35 -0000 1.10 +++ wikisrc/abi.mdwn 20 Apr 2025 14:18:36 -0000 1.11 @@ -64,9 +64,20 @@ #### hppa +ELF and TLS: + * [*Processor-Specific ELF Supplement for PA-RISC*](https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf), Version 1.5, 1998-08-20 ([archive](https://web.archive.org/web/20240712004045/https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf)) * Randolph Chung, Carlos O'Donell, and John David Anglin, [*Implementing Thread Local Storage for HP PA-RISC Linux*](http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf), 2013-11-11 ([archive](https://web.archive.org/web/20240722131647/http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf)) +PA-RISC 1.1 ABI: + +* [*The 32-bit PA-RISC Runtime Architecture Document*], HP-UX 10.20, Version 3.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240416161750/http://ftp.parisc-linux.org/docs/arch/pa-runtime-32-SOM.pdf)) + +PA-RISC 2.0 ABI: + +* *32-bit PA-RISC Runtime Architecture Document, HP-UX 11.0, Version 1.0, Hewlett-Packard, 1997 ([archive](https://web.archive.org/web/20240514162903/https://parisc.wiki.kernel.org/index.php/File:Rad_11_0_32.pdf)) +* [*64-bit Runtime Architecture for PA-RISC 2.0*](https://parisc.docs.kernel.org/en/latest/_downloads/b682a92bc0ecb0535f5edcb7c57f0bba/Pa64rt.pdf), Version 3.3, Hewlett-Packard, 1997-10-06 ([archive](https://web.archive.org/web/20221026065114/https://parisc.wiki.kernel.org/images-parisc/5/59/Pa64rt.pdf)) + #### i386 * [*System V Application Binary Interface: Intel386 Architecture Processor Supplement*](https://www.sco.com/developers/devspecs/abi386-4.pdf), 4th ed., 1997-03-19, The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20250329184450/https://www.sco.com/developers/devspecs/abi386-4.pdf)) @@ -134,3 +145,5 @@ * [osdev.org: ELF](https://wiki.osdev.org/ELF) * [osdev.org: System V ABI](https://wiki.osdev.org/System_V_ABI) * [ATLAS Assembly Homepage](https://math-atlas.sourceforge.net/devel/assembly/) +* Linux PARISC Wiki: Technical Documentation ([archive](https://web.archive.org/web/20240106050251/https://parisc.wiki.kernel.org/index.php/Technical_Documentation)) +* [Linux on PA-RISC documentation](https://parisc.docs.kernel.org/en/latest/technical_documentation.html)
abi: Newer Alpha calling standard reference.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- wikisrc/abi.mdwn 18 Apr 2025 18:07:57 -0000 1.9 +++ wikisrc/abi.mdwn 18 Apr 2025 18:16:35 -0000 1.10 @@ -51,6 +51,7 @@ XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) * *Alpha Architecture Reference Manual*, 4th ed., Compaq Computer Corporation, January 2002 ([archive](https://archive.org/details/dec-alpha_arch_ref)) +* *Digital UNIX: Calling Standard for Alpha Systems*, Digital Equipment Corporation, Part Number: AA-PY8AC-TE, March 1996 ([archive](https://archive.org/details/digital-unix-calling-standard/page/n1/mode/2up)) * *ALPHA Calling Standard*, Revision 2.0, Digital Equipment Corporation, 1990-04-27 ([copy](https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf), [archive](https://web.archive.org/web/20250124130035/https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf)) #### amd64
abi: Link to another Alpha reference manual with some ABI details.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- wikisrc/abi.mdwn 18 Apr 2025 12:59:35 -0000 1.8 +++ wikisrc/abi.mdwn 18 Apr 2025 18:07:57 -0000 1.9 @@ -50,6 +50,7 @@ XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) +* *Alpha Architecture Reference Manual*, 4th ed., Compaq Computer Corporation, January 2002 ([archive](https://archive.org/details/dec-alpha_arch_ref)) * *ALPHA Calling Standard*, Revision 2.0, Digital Equipment Corporation, 1990-04-27 ([copy](https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf), [archive](https://web.archive.org/web/20250124130035/https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf)) #### amd64
abi: Link ia64 psABI and Linux Foundation refspecs.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- wikisrc/abi.mdwn 17 Apr 2025 04:27:57 -0000 1.7 +++ wikisrc/abi.mdwn 18 Apr 2025 12:59:35 -0000 1.8 @@ -81,7 +81,7 @@ #### ia64 -XXX +* [*Intel Itanium Processor-specific Application Binary Interface*](https://refspecs.linuxfoundation.org/elf/IA64-SysV-psABI.pdf), Intel, Document Number: 245370-003, May 2001 ([archive](https://web.archive.org/web/20241218115909/https://refspecs.linuxfoundation.org/elf/IA64-SysV-psABI.pdf)) #### m68k @@ -128,6 +128,7 @@ * [μClibc: Specifications](https://uclibc.org/specs.html) * [Oracle: Linker and Libraries Guide](https://docs.oracle.com/cd/E23824_01/html/819-0690/toc.html) ([PDF](https://docs.oracle.com/cd/E23824_01/pdf/819-0690.pdf), [archive](https://web.archive.org/web/20241126175651/https://docs.oracle.com/cd/E23824_01/pdf/819-0690.pdf)) * [Wikipedia: Executable and Linking Format](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) +* [Linux Foundation: Referenced Specifications](https://refspecs.linuxfoundation.org/) * [osdev.org: ELF](https://wiki.osdev.org/ELF) * [osdev.org: System V ABI](https://wiki.osdev.org/System_V_ABI) * [ATLAS Assembly Homepage](https://math-atlas.sourceforge.net/devel/assembly/)
abi: Compacter lists.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- wikisrc/abi.mdwn 17 Apr 2025 04:01:08 -0000 1.6 +++ wikisrc/abi.mdwn 17 Apr 2025 04:27:57 -0000 1.7 @@ -40,7 +40,6 @@ #### aarch64 * [*ELF for the Arm 64-bit Architecture (AArch64)*](https://github.com/ARM-software/abi-aa/blob/2982a9f3b512a5bfdc9e3fea5d3b298f9165c36b/aaelf64/aaelf64.rst), 2022Q3, Arm Ltd. - * Glauber de Oliveira Costa and Alexandre Oliva, [*Thread-Local Storage Access in Dynamic Libraries in the ARM Platform*](https://www.fsfla.org/~lxoliva/writeups/TLS/paper-lk2006.pdf), 2006. #### alpha @@ -64,7 +63,6 @@ #### hppa * [*Processor-Specific ELF Supplement for PA-RISC*](https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf), Version 1.5, 1998-08-20 ([archive](https://web.archive.org/web/20240712004045/https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf)) - * Randolph Chung, Carlos O'Donell, and John David Anglin, [*Implementing Thread Local Storage for HP PA-RISC Linux*](http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf), 2013-11-11 ([archive](https://web.archive.org/web/20240722131647/http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf)) #### i386 @@ -94,7 +92,6 @@ #### mips * [*System V Application Binary Interface: MIPS RISC Processor Supplement*](https://www.sco.com/developers/devspecs/mipsabi.pdf), 3rd ed., The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20221026055746/http://www.sco.com/developers/devspecs/mipsabi.pdf)) - * *64-bit ELF Object File Specification*, Draft Version 2.5, MIPS Technologies / Silicon Graphics Computer Systems ([archive](https://web.archive.org/web/20150818210955/http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf)) XXX Applicable? [MIPSpro 64-bit](https://math-atlas.sourceforge.net/devel/assembly/mipsabi64.pdf), [MIPSpro N32 ABI Handbook](https://math-atlas.sourceforge.net/devel/assembly/007-2816-005.pdf) @@ -102,7 +99,6 @@ #### powerpc * Ryan S. Arnold, Greg Davis, Brian Deitrich, Michael Eager, Emil Medve, Steven J. Munroe, Joseph S. Myers, Steve Papacharalambous, Anmol P. Paralkar, Katherine Stewart, and Edmar Wienskoski, *Power Architecture 32-bit Application Binary Interface Supplement*, Version 1.0, Power.org, 2011-04-19 ([archive](https://web.archive.org/web/20120608163845/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Linux.pdf)) - * Ian Lance Taylor, [*64-bit PowerPC ELF Application Binary Interface Supplement*](https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf), Version 1.9, Zembu Labs ([archive](https://web.archive.org/web/20241216031338/https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf)) #### riscv
abi: Tweak ToC.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- wikisrc/abi.mdwn 17 Apr 2025 03:58:02 -0000 1.5 +++ wikisrc/abi.mdwn 17 Apr 2025 04:01:08 -0000 1.6 @@ -1,4 +1,4 @@ -# NetBSD ABI: Application Binary Interface +# Application Binary Interface Documentation and references for the NetBSD ABI. @@ -8,40 +8,42 @@ * Make sure these are synced with the comments in src/ld.elf_so/arch/*/*reloc.c. * Save archival copies on TNF hosts in case the archive links go kaput. -[[!toc]] +[[!toc startlevel=2 levels=3]] -## ELF +## NetBSD Application Binary Interface + +### ELF XXX link gABI -## Thread-local storage +### Thread-local storage * Linker and Libraries Guide, Part IV: ELF Application Binary Interface, [Chapter 14: *Thread-Local Storage*](https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter8-1.html), Oracle, Part No: 819-0690-10, November 2011 * Ulrich Drepper, [*ELF Handling For Thread-Local Storage*](https://akkadia.org/drepper/tls.pdf), Version 0.21, 2023-08-22 ([archive](https://web.archive.org/web/20240718081934/https://akkadia.org/drepper/tls.pdf)) -## Exception handling and unwinding +### Exception handling and unwinding XXX -## Debug data: DWARF, CTF +### Debug data: DWARF, CTF XXX -## Library versioning and compatibility +### Library versioning and compatibility * [[Symbol versions in NetBSD libraries|symbol_versions]] * Ulrich Drepper, [*How To Write Shared Libraries*](https://akkadia.org/drepper/dsohowto.pdf), 2011-12-10 ([archive](https://web.archive.org/web/20250328091912/https://akkadia.org/drepper/dsohowto.pdf)) * Ulrich Drepper, [*ELF Symbol Versioning*](https://akkadia.org/drepper/symbol-versioning), 2017-12-21 ([archive](https://web.archive.org/web/20250403043622/https://www.akkadia.org/drepper/symbol-versioning)) -## Processor supplements +### Processor supplements -### aarch64 +#### aarch64 * [*ELF for the Arm 64-bit Architecture (AArch64)*](https://github.com/ARM-software/abi-aa/blob/2982a9f3b512a5bfdc9e3fea5d3b298f9165c36b/aaelf64/aaelf64.rst), 2022Q3, Arm Ltd. * Glauber de Oliveira Costa and Alexandre Oliva, [*Thread-Local Storage Access in Dynamic Libraries in the ARM Platform*](https://www.fsfla.org/~lxoliva/writeups/TLS/paper-lk2006.pdf), 2006. -### alpha +#### alpha ELF Alpha support may be bespoke to NetBSD, or GNU gcc/binutils; it appears neither DEC nor SCO nor anyone else never published an Alpha @@ -51,21 +53,21 @@ * *ALPHA Calling Standard*, Revision 2.0, Digital Equipment Corporation, 1990-04-27 ([copy](https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf), [archive](https://web.archive.org/web/20250124130035/https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf)) -### amd64 +#### amd64 * *System V Application Binary Interface: AMD64 Architecture Processor Supplement*, Draft Version 0.99.6, 2013-10-07 ([archive](https://web.archive.org/web/20160801075146/www.x86-64.org/documentation/abi.pdf), [source code](https://gitlab.com/x86-psABIs/x86-64-ABI)) -### arm (32-bit) +#### arm (32-bit) * [*ELF for the Arm Architecture*](https://github.com/ARM-software/abi-aa/blob/2982a9f3b512a5bfdc9e3fea5d3b298f9165c36b/aaelf32/aaelf32.rst), 2022Q3, Arm Ltd. -### hppa +#### hppa * [*Processor-Specific ELF Supplement for PA-RISC*](https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf), Version 1.5, 1998-08-20 ([archive](https://web.archive.org/web/20240712004045/https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf)) * Randolph Chung, Carlos O'Donell, and John David Anglin, [*Implementing Thread Local Storage for HP PA-RISC Linux*](http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf), 2013-11-11 ([archive](https://web.archive.org/web/20240722131647/http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf)) -### i386 +#### i386 * [*System V Application Binary Interface: Intel386 Architecture Processor Supplement*](https://www.sco.com/developers/devspecs/abi386-4.pdf), 4th ed., 1997-03-19, The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20250329184450/https://www.sco.com/developers/devspecs/abi386-4.pdf)) @@ -79,17 +81,17 @@ the updated one has been incompatibly modified to guarantee 16-byte alignment. -### ia64 +#### ia64 XXX -### m68k +#### m68k XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) * *System V Application Binary Interface: Motorola 68000 Processor Family Supplement*, AT&T, 1990 ([copy](https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf), [archive](https://web.archive.org/web/20250317195959/https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf)) -### mips +#### mips * [*System V Application Binary Interface: MIPS RISC Processor Supplement*](https://www.sco.com/developers/devspecs/mipsabi.pdf), 3rd ed., The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20221026055746/http://www.sco.com/developers/devspecs/mipsabi.pdf)) @@ -97,32 +99,32 @@ XXX Applicable? [MIPSpro 64-bit](https://math-atlas.sourceforge.net/devel/assembly/mipsabi64.pdf), [MIPSpro N32 ABI Handbook](https://math-atlas.sourceforge.net/devel/assembly/007-2816-005.pdf) -### powerpc +#### powerpc * Ryan S. Arnold, Greg Davis, Brian Deitrich, Michael Eager, Emil Medve, Steven J. Munroe, Joseph S. Myers, Steve Papacharalambous, Anmol P. Paralkar, Katherine Stewart, and Edmar Wienskoski, *Power Architecture 32-bit Application Binary Interface Supplement*, Version 1.0, Power.org, 2011-04-19 ([archive](https://web.archive.org/web/20120608163845/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Linux.pdf)) * Ian Lance Taylor, [*64-bit PowerPC ELF Application Binary Interface Supplement*](https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf), Version 1.9, Zembu Labs ([archive](https://web.archive.org/web/20241216031338/https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf)) -### riscv +#### riscv * [*RISC-V ELF Specification*](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/9fec6080d15e7f009c9e714d1e9b8dd7177b0b67/riscv-elf.adoc), 2024-07-17 -### sh3 +#### sh3 * [*SH-4 generic and C specific application binary interface*](https://www.st.com/resource/en/reference_manual/rm0197-sh4-generic-and-c-specific-application-binary-interface-stmicroelectronics.pdf), 7839242 Rev 2, October 2011, STMicroelectronics ([archive](https://www.st.com/resource/en/reference_manual/rm0197-sh4-generic-and-c-specific-application-binary-interface-stmicroelectronics.pdf)) -### sparc/sparc64 +#### sparc/sparc64 * [*SPARC Compliance Definition*](http://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz), Version 2.4.1, 1999-07-24, SPARC International, Inc. ([archive](https://web.archive.org/web/20241213042953/http://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)) Encompasses the SysV SPARC psABI (System V Application Binary Interface: SPARC Processor Supplement, 3rd ed., 1996, The Santa Cruz Operation, Inc., [archive](https://web.archive.org/web/20250124121714/https://math-atlas.sourceforge.net/devel/assembly/abi_sysV_sparc.pdf)). -### vax +#### vax ELF VAX support is bespoke to NetBSD, courtesy of Matt Thomas (matt@); there is no VAX psABI. -# External Links +## External Links Relevant information and further references, not necessarily applicable to NetBSD:
abi: Add some more links and TODOs.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/abi.mdwn 16 Apr 2025 19:00:23 -0000 1.4 +++ wikisrc/abi.mdwn 17 Apr 2025 03:58:02 -0000 1.5 @@ -8,23 +8,30 @@ * Make sure these are synced with the comments in src/ld.elf_so/arch/*/*reloc.c. * Save archival copies on TNF hosts in case the archive links go kaput. +[[!toc]] + ## ELF -XXX +XXX link gABI ## Thread-local storage +* Linker and Libraries Guide, Part IV: ELF Application Binary Interface, [Chapter 14: *Thread-Local Storage*](https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter8-1.html), Oracle, Part No: 819-0690-10, November 2011 * Ulrich Drepper, [*ELF Handling For Thread-Local Storage*](https://akkadia.org/drepper/tls.pdf), Version 0.21, 2023-08-22 ([archive](https://web.archive.org/web/20240718081934/https://akkadia.org/drepper/tls.pdf)) ## Exception handling and unwinding XXX +## Debug data: DWARF, CTF + +XXX + ## Library versioning and compatibility * [[Symbol versions in NetBSD libraries|symbol_versions]] -* Ulrich Drepper, [How To Write Shared Libraries](https://akkadia.org/drepper/dsohowto.pdf), 2011-12-10 ([archive](https://web.archive.org/web/20250328091912/https://akkadia.org/drepper/dsohowto.pdf)) -* Ulrich Drepper, [ELF Symbol Versioning](https://akkadia.org/drepper/symbol-versioning), 2017-12-21 ([archive](https://web.archive.org/web/20250403043622/https://www.akkadia.org/drepper/symbol-versioning)) +* Ulrich Drepper, [*How To Write Shared Libraries*](https://akkadia.org/drepper/dsohowto.pdf), 2011-12-10 ([archive](https://web.archive.org/web/20250328091912/https://akkadia.org/drepper/dsohowto.pdf)) +* Ulrich Drepper, [*ELF Symbol Versioning*](https://akkadia.org/drepper/symbol-versioning), 2017-12-21 ([archive](https://web.archive.org/web/20250403043622/https://www.akkadia.org/drepper/symbol-versioning)) ## Processor supplements @@ -60,7 +67,7 @@ ### i386 -* [*System V Application Binary Interface: Intel386 Architecture Processor Supplement*](https://www.sco.com/developers/devspecs/abi386-4.pdf), 4th ed., 1997-03-19, , The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20250329184450/https://www.sco.com/developers/devspecs/abi386-4.pdf)) +* [*System V Application Binary Interface: Intel386 Architecture Processor Supplement*](https://www.sco.com/developers/devspecs/abi386-4.pdf), 4th ed., 1997-03-19, The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20250329184450/https://www.sco.com/developers/devspecs/abi386-4.pdf)) Note: Intel and SuSE have published a [2015 revision](https://uclibc.org/docs/psABI-i386.pdf) @@ -121,6 +128,7 @@ to NetBSD: * [μClibc: Specifications](https://uclibc.org/specs.html) +* [Oracle: Linker and Libraries Guide](https://docs.oracle.com/cd/E23824_01/html/819-0690/toc.html) ([PDF](https://docs.oracle.com/cd/E23824_01/pdf/819-0690.pdf), [archive](https://web.archive.org/web/20241126175651/https://docs.oracle.com/cd/E23824_01/pdf/819-0690.pdf)) * [Wikipedia: Executable and Linking Format](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) * [osdev.org: ELF](https://wiki.osdev.org/ELF) * [osdev.org: System V ABI](https://wiki.osdev.org/System_V_ABI)
abi: Fix spurious markup.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/abi.mdwn 16 Apr 2025 18:58:16 -0000 1.3 +++ wikisrc/abi.mdwn 16 Apr 2025 19:00:23 -0000 1.4 @@ -80,7 +80,7 @@ XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) -* [*System V Application Binary Interface: Motorola 68000 Processor Family Supplement*], AT&T, 1990 ([copy](https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf), [archive](https://web.archive.org/web/20250317195959/https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf)) +* *System V Application Binary Interface: Motorola 68000 Processor Family Supplement*, AT&T, 1990 ([copy](https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf), [archive](https://web.archive.org/web/20250317195959/https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf)) ### mips
abi: Add some more references and links.
Suggested by mrg@ and tls@.
Suggested by mrg@ and tls@.
Members: abi.mdwn:1.2->1.3 Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/abi.mdwn 16 Apr 2025 18:37:04 -0000 1.2 +++ wikisrc/abi.mdwn 16 Apr 2025 18:58:16 -0000 1.3 @@ -6,6 +6,7 @@ * Mark references as normative, informative, or possibly misleading. * Make sure these are synced with the comments in src/ld.elf_so/arch/*/*reloc.c. +* Save archival copies on TNF hosts in case the archive links go kaput. ## ELF @@ -35,8 +36,14 @@ ### alpha +ELF Alpha support may be bespoke to NetBSD, or GNU gcc/binutils; it +appears neither DEC nor SCO nor anyone else never published an Alpha +psABI. + XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) +* *ALPHA Calling Standard*, Revision 2.0, Digital Equipment Corporation, 1990-04-27 ([copy](https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf), [archive](https://web.archive.org/web/20250124130035/https://bitsavers.trailing-edge.com/pdf/dec/alpha/Alpha_Calling_Standard_Rev_2.0_19900427.pdf)) + ### amd64 * *System V Application Binary Interface: AMD64 Architecture Processor Supplement*, Draft Version 0.99.6, 2013-10-07 ([archive](https://web.archive.org/web/20160801075146/www.x86-64.org/documentation/abi.pdf), [source code](https://gitlab.com/x86-psABIs/x86-64-ABI)) @@ -65,16 +72,26 @@ the updated one has been incompatibly modified to guarantee 16-byte alignment. +### ia64 + +XXX + ### m68k XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) +* [*System V Application Binary Interface: Motorola 68000 Processor Family Supplement*], AT&T, 1990 ([copy](https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf), [archive](https://web.archive.org/web/20250317195959/https://people.debian.org/~glaubitz/m68k-sysv-abi.pdf)) + ### mips * [*System V Application Binary Interface: MIPS RISC Processor Supplement*](https://www.sco.com/developers/devspecs/mipsabi.pdf), 3rd ed., The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20221026055746/http://www.sco.com/developers/devspecs/mipsabi.pdf)) * *64-bit ELF Object File Specification*, Draft Version 2.5, MIPS Technologies / Silicon Graphics Computer Systems ([archive](https://web.archive.org/web/20150818210955/http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf)) +XXX Applicable? [MIPSpro 64-bit](https://math-atlas.sourceforge.net/devel/assembly/mipsabi64.pdf), [MIPSpro N32 ABI Handbook](https://math-atlas.sourceforge.net/devel/assembly/007-2816-005.pdf) + +### powerpc + * Ryan S. Arnold, Greg Davis, Brian Deitrich, Michael Eager, Emil Medve, Steven J. Munroe, Joseph S. Myers, Steve Papacharalambous, Anmol P. Paralkar, Katherine Stewart, and Edmar Wienskoski, *Power Architecture 32-bit Application Binary Interface Supplement*, Version 1.0, Power.org, 2011-04-19 ([archive](https://web.archive.org/web/20120608163845/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Linux.pdf)) * Ian Lance Taylor, [*64-bit PowerPC ELF Application Binary Interface Supplement*](https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf), Version 1.9, Zembu Labs ([archive](https://web.archive.org/web/20241216031338/https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf)) @@ -95,4 +112,16 @@ ### vax -XXX ELF VAX psABI may be bespoke to NetBSD, courtesy of Matt Thomas (matt@). +ELF VAX support is bespoke to NetBSD, courtesy of Matt Thomas (matt@); +there is no VAX psABI. + +# External Links + +Relevant information and further references, not necessarily applicable +to NetBSD: + +* [μClibc: Specifications](https://uclibc.org/specs.html) +* [Wikipedia: Executable and Linking Format](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) +* [osdev.org: ELF](https://wiki.osdev.org/ELF) +* [osdev.org: System V ABI](https://wiki.osdev.org/System_V_ABI) +* [ATLAS Assembly Homepage](https://math-atlas.sourceforge.net/devel/assembly/)
abi: Fill this out with all the references I have handy.
Index: wikisrc/abi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/abi.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/abi.mdwn 25 Jul 2024 14:31:32 -0000 1.1 +++ wikisrc/abi.mdwn 16 Apr 2025 18:37:04 -0000 1.2 @@ -2,24 +2,97 @@ Documentation and references for the NetBSD ABI. +XXX TBD: + +* Mark references as normative, informative, or possibly misleading. +* Make sure these are synced with the comments in src/ld.elf_so/arch/*/*reloc.c. + ## ELF XXX ## Thread-local storage -XXX +* Ulrich Drepper, [*ELF Handling For Thread-Local Storage*](https://akkadia.org/drepper/tls.pdf), Version 0.21, 2023-08-22 ([archive](https://web.archive.org/web/20240718081934/https://akkadia.org/drepper/tls.pdf)) ## Exception handling and unwinding XXX +## Library versioning and compatibility + +* [[Symbol versions in NetBSD libraries|symbol_versions]] +* Ulrich Drepper, [How To Write Shared Libraries](https://akkadia.org/drepper/dsohowto.pdf), 2011-12-10 ([archive](https://web.archive.org/web/20250328091912/https://akkadia.org/drepper/dsohowto.pdf)) +* Ulrich Drepper, [ELF Symbol Versioning](https://akkadia.org/drepper/symbol-versioning), 2017-12-21 ([archive](https://web.archive.org/web/20250403043622/https://www.akkadia.org/drepper/symbol-versioning)) + ## Processor supplements -XXX +### aarch64 -## Library versioning and compatibility +* [*ELF for the Arm 64-bit Architecture (AArch64)*](https://github.com/ARM-software/abi-aa/blob/2982a9f3b512a5bfdc9e3fea5d3b298f9165c36b/aaelf64/aaelf64.rst), 2022Q3, Arm Ltd. -XXX +* Glauber de Oliveira Costa and Alexandre Oliva, [*Thread-Local Storage Access in Dynamic Libraries in the ARM Platform*](https://www.fsfla.org/~lxoliva/writeups/TLS/paper-lk2006.pdf), 2006. + +### alpha + +XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) + +### amd64 + +* *System V Application Binary Interface: AMD64 Architecture Processor Supplement*, Draft Version 0.99.6, 2013-10-07 ([archive](https://web.archive.org/web/20160801075146/www.x86-64.org/documentation/abi.pdf), [source code](https://gitlab.com/x86-psABIs/x86-64-ABI)) + +### arm (32-bit) + +* [*ELF for the Arm Architecture*](https://github.com/ARM-software/abi-aa/blob/2982a9f3b512a5bfdc9e3fea5d3b298f9165c36b/aaelf32/aaelf32.rst), 2022Q3, Arm Ltd. + +### hppa + +* [*Processor-Specific ELF Supplement for PA-RISC*](https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf), Version 1.5, 1998-08-20 ([archive](https://web.archive.org/web/20240712004045/https://parisc.wiki.kernel.org/images-parisc/0/0e/Elf-pa-hp.pdf)) + +* Randolph Chung, Carlos O'Donell, and John David Anglin, [*Implementing Thread Local Storage for HP PA-RISC Linux*](http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf), 2013-11-11 ([archive](https://web.archive.org/web/20240722131647/http://www.parisc-linux.org/documentation/tls/hppa-tls-implementation.pdf)) + +### i386 + +* [*System V Application Binary Interface: Intel386 Architecture Processor Supplement*](https://www.sco.com/developers/devspecs/abi386-4.pdf), 4th ed., 1997-03-19, , The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20250329184450/https://www.sco.com/developers/devspecs/abi386-4.pdf)) + +Note: Intel and SuSE have published a +[2015 revision](https://uclibc.org/docs/psABI-i386.pdf) +([archive](https://web.archive.org/web/20250118211449/https://uclibc.org/docs/psABI-i386.pdf), +[source code](https://gitlab.com/x86-psABIs/i386-ABI)) +to the SysV ELF supplement, which NetBSD does not implement—for +example, the original SysV ABI from SCO only mandates 4-byte alignment +of the stack pointer, which is all that NetBSD/i386 guarantees, while +the updated one has been incompatibly modified to guarantee 16-byte +alignment. + +### m68k + +XXX (add refs to libexec/ld.elf_so/arch/alpha/alpha_reloc.c too) + +### mips + +* [*System V Application Binary Interface: MIPS RISC Processor Supplement*](https://www.sco.com/developers/devspecs/mipsabi.pdf), 3rd ed., The Santa Cruz Operation, Inc. ([archive](https://web.archive.org/web/20221026055746/http://www.sco.com/developers/devspecs/mipsabi.pdf)) + +* *64-bit ELF Object File Specification*, Draft Version 2.5, MIPS Technologies / Silicon Graphics Computer Systems ([archive](https://web.archive.org/web/20150818210955/http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf)) + +* Ryan S. Arnold, Greg Davis, Brian Deitrich, Michael Eager, Emil Medve, Steven J. Munroe, Joseph S. Myers, Steve Papacharalambous, Anmol P. Paralkar, Katherine Stewart, and Edmar Wienskoski, *Power Architecture 32-bit Application Binary Interface Supplement*, Version 1.0, Power.org, 2011-04-19 ([archive](https://web.archive.org/web/20120608163845/https://www.power.org/resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Linux.pdf)) + +* Ian Lance Taylor, [*64-bit PowerPC ELF Application Binary Interface Supplement*](https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf), Version 1.9, Zembu Labs ([archive](https://web.archive.org/web/20241216031338/https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf)) + +### riscv + +* [*RISC-V ELF Specification*](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/9fec6080d15e7f009c9e714d1e9b8dd7177b0b67/riscv-elf.adoc), 2024-07-17 + +### sh3 + +* [*SH-4 generic and C specific application binary interface*](https://www.st.com/resource/en/reference_manual/rm0197-sh4-generic-and-c-specific-application-binary-interface-stmicroelectronics.pdf), 7839242 Rev 2, October 2011, STMicroelectronics ([archive](https://www.st.com/resource/en/reference_manual/rm0197-sh4-generic-and-c-specific-application-binary-interface-stmicroelectronics.pdf)) + +### sparc/sparc64 + +* [*SPARC Compliance Definition*](http://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz), Version 2.4.1, 1999-07-24, SPARC International, Inc. ([archive](https://web.archive.org/web/20241213042953/http://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)) + +Encompasses the SysV SPARC psABI (System V Application Binary Interface: SPARC Processor Supplement, 3rd ed., 1996, The Santa Cruz Operation, Inc., [archive](https://web.archive.org/web/20250124121714/https://math-atlas.sourceforge.net/devel/assembly/abi_sysV_sparc.pdf)). + +### vax -[XXX symbol versioning|symbol_versions] +XXX ELF VAX psABI may be bespoke to NetBSD, courtesy of Matt Thomas (matt@).
remove this from the GSoC projects for now
This project isn't very well thought out. It needs serious review and
more thinking about.
This project isn't very well thought out. It needs serious review and
more thinking about.
Members: projects/project/swap-auto.mdwn:1.3->1.4 Index: wikisrc/projects/project/swap-auto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/swap-auto.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/swap-auto.mdwn 12 Mar 2022 18:27:25 -0000 1.3 +++ wikisrc/projects/project/swap-auto.mdwn 3 Apr 2025 09:24:30 -0000 1.4 @@ -29,6 +29,3 @@ """ ]] - -[[!tag gsoc]] -[[!tag gsoc175h]]
Note that it is now March 2025, not July 2024.
Remove some more typos.
Describe difference between Xen dom0 toolstacks and how they will impact running NetBSD domUs
Remove some more typos.
Describe difference between Xen dom0 toolstacks and how they will impact running NetBSD domUs
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.269 retrieving revision 1.270 diff -u -r1.269 -r1.270 --- wikisrc/ports/xen/howto.mdwn 24 Mar 2025 15:16:36 -0000 1.269 +++ wikisrc/ports/xen/howto.mdwn 25 Mar 2025 15:06:21 -0000 1.270 @@ -149,7 +149,7 @@ and the [Xen Security Advisory page](http://xenbits.xen.org/xsa/). -As of July 2024, both 4.15 and 4.18 generally work well on NetBSD 9 +As of March 2025, both 4.15 and 4.18 generally work well on NetBSD 9 through current with i386 and amd64 guests. The standard approach is 4.18. However, there is a timekeeping issue on some systems with 4.18; see @@ -159,7 +159,7 @@ see the "Creating a NetBSD PV Shim domU" section below for the required minor adjustment. -As of July 2024, there are no efforts to package 4.19 (not yet +As of March 2025, there are no efforts to package 4.19 (not yet released), and there are hints that 4.20 (not even listed on the support matrix page yet) might be packaged. Note that 4.18 is the current stable release of Xen; pkgsrc is not behind. @@ -386,8 +386,6 @@ menu=Xen:load /netbsd-XEN3_DOM0.gz rndseed=/var/db/entropy-file bootdev=sd0; multiboot /xen.gz dom0_mem=1024M console=com1 com1=115200,8n1 """]] -is 115200, it is - ### Selecting the console for NetBSD dom0 Note that com0 is never available to a NetBSD dom0; it is instead @@ -1188,6 +1186,14 @@ https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#pv-linear-pt-x86 +N.B. with XenServer 8.4 or XCP-ng 8.3, the kernel is NOT compiled with +CONFIG_PV_LINEAR_PT and thus NetBSD domUs cannot be run in PV mode. +With Citrix Hypervisor 8.2 (XenServer was renamed for that release) and +earlier, it is compiled in, but not enabled. It must be enabled with the +following command in the dom0 (which must be rebooted to take effect): + +/opt/xensource/libexec/xen-cmdline --set-xen pv-linear-pt=true + ## Nesting under Linux KVM It is possible to run Xen and a NetBSD dom0 under Linux KVM. One @@ -1237,6 +1243,23 @@ multiple vcpus, and it is typical for VPS providers to enable multiple CPUs for NetBSD domUs. +## Toolstacks + +There are two different open-source toolstacks for Xen: xl and xapi. The +documentation above describes the xl toolstack (known in pkgsrc as +xentools). This is the only toolstack supported by a NetBSD dom0. + +[Citrix XenServer](https://xenserver.com/) and [XCP-ng](https://xcp-ng.org/) +both use the xapi toolstack which is tightly tied to Linux as a dom0. +VPS providers using XenServer or XCP-ng are likely to be more consistent +as they will not be building the Xen kernel or toolstack themselves. +However, this means some options may be compiled out and cannot be easily +re-enabled. From XenServer 8.4 and XCP-ng onwards, PV32, PV_LINEAR_PT and +SHADOW_PAGING are compiled out from the Xen kernel. This means that +running a NetBSD domU in PV mode is not possible. The xapi toolstack does +not support PVH mode, but it does support pvshim (known as pv-in-pvh). +Unfortunately, a NetBSD domU will still not run. + ## Complexities due to Xen changes Xen has many security advisories and people running Xen systems make @@ -1281,7 +1304,7 @@ ### pygrub -As of 2014, pygrub seems to be of mostly historical interest. As of +With the xl toolstack as of 2014, pygrub seems to be of mostly historical interest. As of 2021, the section should perhaps be outright deleted. pygrub runs in the dom0 and looks into the domU file system. This @@ -1293,6 +1316,10 @@ dom0. For both these reasons, pygrub should not be used, and is only still present so that historical DomU images using it still work. +With the xapi toolstack, pygrub is still used to load the domU kernel +in pv or pvshim mode. Unfortunately, as noted above, recent releases of +xapi-based products will not boot a NetBSD kernel in pv or pvshim mode. + ### Kernel in dom0 If you run your own dom0, putting the domU kernel there might be ok. @@ -1330,7 +1357,8 @@ Xen-based NetBSD hosting. See their [dedicated hosting page](https://www.precedence.co.uk/internet/dedicated/) for some -details. +details. Both xl (NetBSD dom0) and xapi (XenServer/XCP-ng on Linux dom0) +toolstacks are supported. ### providers that do not document support for NetBSD
Sort summits by meta title.
Index: wikisrc/summits.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits.mdwn,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- wikisrc/summits.mdwn 23 Feb 2018 17:29:48 -0000 1.11 +++ wikisrc/summits.mdwn 24 Mar 2025 18:48:03 -0000 1.12 @@ -4,21 +4,21 @@ ## Contents -[[!map pages="summits/*" show=title]] - -# Add a summit - -[[!edittemplate -template="summit" -match="summits/*" -silent=yes -]] - +<ul> [[!inline -pages="empty and pagespec" -feeds=no rootpage="summits" +pages="summits/*" +feeds=no +archive=yes +template="bulletedtitlepage" +sort="meta(title)" postform=yes postformtext="Add a new summit page:" ]] +</ul> +[[!edittemplate +template="summit" +match="summits/*" +silent=yes +]]
Add titlepage.tmpl variant with <li> (expecting to be inside <ul>).
--- /dev/null 2025-04-05 15:34:48.056143474 +0000 +++ wikisrc/templates/bulletedtitlepage.tmpl 2025-04-05 15:34:49.278131281 +0000 @@ -0,0 +1,5 @@ +<TMPL_IF PERMALINK> +<li><a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a></li> +<TMPL_ELSE> +<li><a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a></li> +</TMPL_IF>
Fix typos and grammar.
Be more explicity about serial consoles and speeds.
Fix some links.
Be more explicity about serial consoles and speeds.
Fix some links.
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.268 retrieving revision 1.269 diff -u -r1.268 -r1.269 --- wikisrc/ports/xen/howto.mdwn 20 Sep 2024 17:07:43 -0000 1.268 +++ wikisrc/ports/xen/howto.mdwn 24 Mar 2025 15:16:36 -0000 1.269 @@ -4,7 +4,7 @@ systems on a single physical machine. One uses the Xen kernel to control the CPU, memory and console, a dom0 operating system which mediates access to other hardware (e.g., disks, network, USB), and one or more domU operating -systems which operate in an unprivileged virtualized environment. IO requests +systems which operate in an unprivileged virtualized environment. I/O requests from the domU systems are forwarded by the Xen hypervisor to the dom0 to be fulfilled. @@ -21,8 +21,7 @@ not, it is best to ask on port-xen and if you are correct to file a PR. -See also an [earlier Xen tutorial] -(http://wiki.netbsd.org/tutorials/how_to_set_up_a_guest_os_using_xen3/) +See also an [earlier Xen tutorial](http://wiki.netbsd.org/tutorials/how_to_set_up_a_guest_os_using_xen3/) which should perhaps be folded into this HOWTO. [[!toc]] @@ -177,7 +176,7 @@ NetBSD 8 and later as a dom0 supports running HVM domUs. NetBSD 10 and later as a domU can be run in PVH and PVHVM modes, and -s a dom0 can (experimentally) be run in PVH mode.etBSD up to and including NetBSD 9 as a dom0 cannot safely run SMP +a dom0 can (experimentally) be run in PVH mode. NetBSD up to and including NetBSD 9 as a dom0 cannot safely run SMP (due to inadequate locking). NetBSD 10 supports SMP in dom0, and XEN3_DOM0 includes "options MULTIPROCESSOR". @@ -240,10 +239,11 @@ documentation. Read boot.cfg(8) carefully. Add lines to /boot.cfg to boot Xen, -adjusting for your root filesystem: +adjusting for your root filesystem (if you installed with GPT partitioning, +your root filesystem is likely to be /dev/dk0): [[!template id=filecontent name="/boot.cfg" text=""" -menu=Xen:load /netbsd-XEN3_DOM0.gz bootdev=wd0a rndseed=/var/db/entropy-file console=pc;multiboot /xen.gz dom0_mem=1024M +menu=Xen:load /netbsd-XEN3_DOM0.gz rndseed=/var/db/entropy-file bootdev=wd0a console=pc;multiboot /xen.gz dom0_mem=1024M menu=Xen single user:load /netbsd-XEN3_DOM0.gz rndseed=/var/db/entropy-file bootdev=wd0a console=pc -s;multiboot /xen.gz dom0_mem=1024M """]] @@ -318,7 +318,7 @@ modified GENERIC. GENERIC with DOM0OPS and the extra dom0-side PV drivers should work -fine on bare metal and if not it's a bug -- but so far we have no +fine on bare metal and, if not, it's a bug -- but so far we have no reports either way. In the glorious future, it will be normal to run a dom0 as PVH (because it's faster), and to run a domU as PVH or PVHVM (because it's faster), and thus: - DOM00PS and xenevt, xvif, and @@ -347,7 +347,7 @@ loading Xen and the dom0, before Xen starts, and for GENERIC), one must also configure it for Xen (if non-default behavior is desired). -See the console= xen command line option in xen-command-line(7), which +See the console= xen command line option in [xen-command-line(7)](https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#console), which says it defaults to "com1,vga". This means that Xen will use both the VGA device and the first serial port (which it calls "com1"; NetBSD calls it "com0") as the console, sending output to both @@ -360,7 +360,7 @@ default) three times in quick succession, it will take over serial I/O until three more presses. Xen console interactions can be used for various debugging features which are not usually present in the -default /xen kernel. +default /xen kernel (the xenkernel package also includes a xen-debug kernel). When Xen uses vga as a console, the vga console is relinquished at the conclusion of hypervisor boot, before the dom0 is started. See also @@ -377,6 +377,17 @@ get into DDB, which differs from non-Xen amd64.) \todo Xen's vga console is probably output only, but this needs clarifying. +The default serial console speed may depend on whether the whether the +bootloader or earlier firmware has already set it up. To be certain, +the desired speed can be specified with the com1= boot command. For example, +the following configures use of serial console with the speed explicitly +set to 115200 +[[!template id=filecontent name="/boot.cfg" text=""" +menu=Xen:load /netbsd-XEN3_DOM0.gz rndseed=/var/db/entropy-file bootdev=sd0; multiboot /xen.gz dom0_mem=1024M console=com1 com1=115200,8n1 +"""]] + +is 115200, it is + ### Selecting the console for NetBSD dom0 Note that com0 is never available to a NetBSD dom0; it is instead @@ -391,7 +402,9 @@ because Xen will have relinquished the vga console. NetBSD will connect its console(4) device to xencons(4) and console I/O will happen there, and thus on the console Xen is using. To use the -default xencons(4) for NetBSD and force Xen to serial only: +default xencons(4) for NetBSD and force Xen to serial only use the following. +To be explicit, console=pc has been removed from the NetBSD part of the boot +command compared to the examples in the Configuring booting section above. [[!template id=filecontent name="/boot.cfg" text=""" menu=Xen:load /netbsd-XEN3_DOM0.gz rndseed=/var/db/entropy-file bootdev=sd0; multiboot /xen.gz dom0_mem=1024M console=com1 @@ -418,7 +431,8 @@ ### Xen Options Related to NetBSD Versions -See xen-command-line.html(7), but other than dom0 memory and +See [xen-command-line.html(7)](https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html), +but other than dom0 memory and max_vcpus, tuning options are not generally necessary. When the dom0 kernel is NetBSD 9 before 2021-04-17 (9.3 is ok), Xen @@ -508,7 +522,8 @@ Domain-0 0 64 0 r---- 58.1 """]] -Xen logs will be in /var/log/xen. +Xen logs will be in /var/log/xen. If the xl commands hang, you have +probably forgotten to run the xencommons rc.d script. ### Issues with xencommons @@ -532,7 +547,12 @@ of the #defines change, so there are separate sets of modules in /stand. (Further, zfs in Xen is troubled because of differing MAXPHYS; see the zfs howto for more.) In NetBSD 10 and later, there -is only one set of modules. +is only one set of modules. However, it is still important that the +kernel build options match between the modules and XEN3_DOMU/XEN3_DOM0 kernels. +For example, until March 2025, the XEN3_DOMU kernel in NetBSD 10 was +built without KDTRACE_HOOKS, but the modules were built with it. +This meant that a XEN3_DOMU kernel could not load the solaris module +and hence could not load zfs. The other difference is that XEN3_DOM0 does not have exactly the same options as GENERIC. While this is roughly agreed to be in large part
Add warning about difficult to aquire hardware
Index: wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn 23 Mar 2025 10:49:51 -0000 1.4 +++ wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn 23 Mar 2025 10:56:12 -0000 1.5 @@ -21,8 +21,9 @@ Successful completion of this project requires you to have access to hardware that is already supported by NetBSD but not yet converted. See the -[[/wifi_driver_state_matrix]] for a list of devices to convert. Many older devices -can be found cheap on sites like eBay. +[[wifi_driver_state_matrix]] for a list of devices to convert. + +It is increasingly difficult to find the relevant hardware on sites like ebay, if you do not have one of the affected devices, this project is probably not for you. When applying for this project, please note which driver(s) you want to convert.
Fix wiki link to driver state matrix
Index: wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack.mdwn 23 Mar 2025 10:49:51 -0000 1.4 @@ -21,7 +21,7 @@ Successful completion of this project requires you to have access to hardware that is already supported by NetBSD but not yet converted. See the -[[Driver state matrix]] for a list of devices to convert. Many older devices +[[/wifi_driver_state_matrix]] for a list of devices to convert. Many older devices can be found cheap on sites like eBay. When applying for this project, please note which driver(s) you want to
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 21 Mar 2025 01:14:56 -0000 1.7 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 22 Mar 2025 02:05:23 -0000 1.8 @@ -3,6 +3,8 @@ ## AsiaBSDCon-Lite in Tokyo +## [[https://hackmd.io/@AsiaBSDCon/2025lite]] + ä»å¹´ã¯è«¸è¬ã®äºæ ã§ AsiaBSDCon ã®éå¬ãã§ããªãã£ãã®ã§ãããéå¬ãããã¨æã£ã¦æµ·å¤ããæ¥æ¬ã«æ¥ã¦ãã¾ã£ã人ãä½äººããã¾ãã®ã§ãææ¥ 3/22ï¼åï¼ã«ã¤ãã³ããéå¬ãããã¨ã«ãã¾ãããã¨ã¦ãã®ãªã®ãªã®ãé£çµ¡ã§ããã人æ°ãå°ãªãã¨å¯ããã®ã§ããåå ããã ããã¨å©ããã¾ãã
Remove from the GSoC list.
Index: wikisrc/projects/project/project__47__efficient-package-distribution.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/project__47__efficient-package-distribution.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/project__47__efficient-package-distribution.mdwn 15 Jan 2025 19:20:22 -0000 1.1 +++ wikisrc/projects/project/project__47__efficient-package-distribution.mdwn 21 Mar 2025 07:16:07 -0000 1.2 @@ -29,7 +29,5 @@ ]] [[!tag status:active]] -[[!tag gsoc]] -[[!tag gsoc350h]]
nit format
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 21 Mar 2025 01:05:23 -0000 1.6 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 21 Mar 2025 01:14:56 -0000 1.7 @@ -11,10 +11,11 @@ æéï¼3æ22æ¥ 10:00-17:00ï¼ãã®å¾æè¦ªä¼ï¼ åå è²»ã¯ç¡æã§ãããæ¼é£ã»æè¦ªä¼ã«åå ã®å ´åã¯10,000åãç¾å°å¾´åãã¾ã -ä¼å ´ï¼æ±äº¬ç§å¦å¤§å¦ 大岡山ãã£ã³ãã¹ - https://www.isct.ac.jp/ja/001/about/campuses-and-offices/ookayama - 大岡山西å°åº 西9å·é¤¨ï¼çªå·22ï¼ - æå¯ãé§ ï¼æ±æ¥å¤§äºçºç·å¤§å²¡å±±é§ +ä¼å ´ï¼"æ±äº¬ç§å¦å¤§å¦ 大岡山ãã£ã³ãã¹" + +- https://www.isct.ac.jp/ja/001/about/campuses-and-offices/ookayama +- "大岡山西å°åº 西9å·é¤¨ï¼çªå·22ï¼" +- "æå¯ãé§ ï¼æ±æ¥å¤§äºçºç·å¤§å²¡å±±é§ " ä¸è©±äººï¼ä½è¤åºçï¼æ±äº¬ç§å¦å¤§å¦ï¼
AsiaBSDCon-Lite in Tokyo
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 12 Mar 2025 01:18:54 -0000 1.5 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 21 Mar 2025 01:05:23 -0000 1.6 @@ -1,13 +1,31 @@ <!-- we are supposed to use all lowercase letters in the link, so set a proper title for the page: --> [[!meta title="AsiaBSDCon 2025 NetBSD BoF"]] +## AsiaBSDCon-Lite in Tokyo + +ä»å¹´ã¯è«¸è¬ã®äºæ ã§ AsiaBSDCon ã®éå¬ãã§ããªãã£ãã®ã§ãããéå¬ãããã¨æã£ã¦æµ·å¤ããæ¥æ¬ã«æ¥ã¦ãã¾ã£ã人ãä½äººããã¾ãã®ã§ãææ¥ +3/22ï¼åï¼ã«ã¤ãã³ããéå¬ãããã¨ã«ãã¾ãããã¨ã¦ãã®ãªã®ãªã®ãé£çµ¡ã§ããã人æ°ãå°ãªãã¨å¯ããã®ã§ããåå ããã ããã¨å©ããã¾ãã + +å ´æã ã確ä¿ãã¦ãããä¸èº«ã¯æ±ºã¾ã£ã¦ãã¾ããããã*BSDé¢é£ã®çºè¡¨ãã§ãã人ãããã°ã彿¥é£ã³è¾¼ã¿ã»æ¥æ¬èªã»è±èªåããæè¿ã§ããè±è¦ã«ã¯ã¡ãã£ã¨æ©ãã§ãããçµãã£ãå¾ã¯è¿ãã®å± é å±ã§æè¦ªä¼ãè¡ãäºå®ã§ãã + +æéï¼3æ22æ¥ 10:00-17:00ï¼ãã®å¾æè¦ªä¼ï¼ + åå è²»ã¯ç¡æã§ãããæ¼é£ã»æè¦ªä¼ã«åå ã®å ´åã¯10,000åãç¾å°å¾´åãã¾ã + +ä¼å ´ï¼æ±äº¬ç§å¦å¤§å¦ 大岡山ãã£ã³ãã¹ + https://www.isct.ac.jp/ja/001/about/campuses-and-offices/ookayama + 大岡山西å°åº 西9å·é¤¨ï¼çªå·22ï¼ + æå¯ãé§ ï¼æ±æ¥å¤§äºçºç·å¤§å²¡å±±é§ + +ä¸è©±äººï¼ä½è¤åºçï¼æ±äº¬ç§å¦å¤§å¦ï¼ + +åãåããï¼hrs@ict.eng.isct.ac.jp + ## Details * Make meetup instead of AsiaBSDCon 2025 canceled. * [announce on netbsd-advocacy][[]] * All BSD speakers are welcome * Day & time: - * 2025/3/21ï¼Friï¼13:00-17:00ï¼ï¼Dinnerï¼ * 2025/3/22ï¼Satï¼10:00-17:00ï¼ï¼Dinnerï¼ * Venue @@ -25,7 +43,7 @@ Jun Ebihara | `jun@` | | | Tamotsu Kanoh | | | | Christian Horn | | | | -Makoto Fujiwara | `mef@`| | | +Makoto Fujiwara | `mef@`|? |? | """]] ## Planning to NetBSD related present something?
update the lints for the RPi 1 and 2-3 standard images to netbsd-10
Index: wikisrc/ports/evbarm/raspberry_pi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/evbarm/raspberry_pi.mdwn,v retrieving revision 1.156 retrieving revision 1.157 diff -u -r1.156 -r1.157 --- wikisrc/ports/evbarm/raspberry_pi.mdwn 10 Oct 2024 11:06:18 -0000 1.156 +++ wikisrc/ports/evbarm/raspberry_pi.mdwn 16 Mar 2025 10:48:15 -0000 1.157 @@ -96,8 +96,8 @@ The simplest way is to download the appropriate SD card image from the NetBSD mirrors: -- The Raspberry Pi 1 requires the ARMv6 [rpi.img.gz](http://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/evbarm-earmv6hf/binary/gzimg/rpi.img.gz). -- The Raspberry Pi 2-3 can use the standard ARMv7 [armv7.img.gz](https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/evbarm-earmv7hf/binary/gzimg/armv7.img.gz) image. +- The Raspberry Pi 1 requires the ARMv6 [rpi.img.gz](http://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-10/latest/evbarm-earmv6hf/binary/gzimg/rpi.img.gz). +- The Raspberry Pi 2-3 can use the standard ARMv7 [armv7.img.gz](https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-10/latest/evbarm-earmv7hf/binary/gzimg/armv7.img.gz) image. - The Raspberry Pi 2-1.2 and 3 can also use [arm64.img.gz](https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-10/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz). - The Raspberry Pi 4 uses [arm64.img.gz](https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-10/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz).
acutally clean the work dirs of the dependencies too
Index: wikisrc/wiki/previewing_with_template.mdwn =================================================================== RCS file: /cvsroot/wikisrc/wiki/previewing_with_template.mdwn,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- wikisrc/wiki/previewing_with_template.mdwn 4 May 2019 10:44:10 -0000 1.7 +++ wikisrc/wiki/previewing_with_template.mdwn 14 Mar 2025 09:24:00 -0000 1.8 @@ -14,7 +14,7 @@ # Installing ikiwiki engine $ cd /usr/pkgsrc/www/ikiwiki - $ make install clean + $ make install clean-depends # Setting up ikiwiki with cgi mode
Update my page.
Index: wikisrc/users/schmonz.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/schmonz.mdwn,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- wikisrc/users/schmonz.mdwn 23 Mar 2024 17:38:18 -0000 1.46 +++ wikisrc/users/schmonz.mdwn 14 Mar 2025 00:32:24 -0000 1.47 @@ -13,7 +13,9 @@ Start with my [overview of qmail patches and packages](https://schmonz.com/software/), particularly -[qmail-run](https://schmonz.com/software/pkgsrc-qmail-run/). +[qmail-run](https://schmonz.com/software/pkgsrc-qmail-run/), +which is now built atop +[notqmail](https://notqmail.org). ## schmonz.com blog posts
use a title meta tag
Index: wikisrc/users/bad.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/bad.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/users/bad.mdwn 13 Mar 2025 23:33:46 -0000 1.1 +++ wikisrc/users/bad.mdwn 13 Mar 2025 23:53:47 -0000 1.2 @@ -1 +1 @@ -# Christoph Badura (bad) +[[!meta title="Christoph Badura (bad)"]]
add a users page for me
--- /dev/null 2025-04-05 15:34:52.160139284 +0000 +++ wikisrc/users/bad.mdwn 2025-04-05 15:34:53.544082331 +0000 @@ -0,0 +1 @@ +# Christoph Badura (bad)
mark as no longer eligible for gsoc
Index: wikisrc/projects/project/kernel_setroot_tests.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/kernel_setroot_tests.mdwn,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- wikisrc/projects/project/kernel_setroot_tests.mdwn 13 Mar 2025 11:15:20 -0000 1.5 +++ wikisrc/projects/project/kernel_setroot_tests.mdwn 13 Mar 2025 11:20:27 -0000 1.6 @@ -73,5 +73,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]]
update project description and status
Index: wikisrc/projects/project/kernel_setroot_tests.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/kernel_setroot_tests.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/projects/project/kernel_setroot_tests.mdwn 11 Mar 2025 20:57:29 -0000 1.4 +++ wikisrc/projects/project/kernel_setroot_tests.mdwn 13 Mar 2025 11:15:20 -0000 1.5 @@ -15,6 +15,8 @@ duration="350h" description=""" +# Description + NetBSD has an extensive test suite that tests native kernel and userland code. @@ -51,6 +53,23 @@ documented use cases. The project would initially be focussed on x86 (amd64 and i386). + +To a certain extent this is a research project. +The existing rump-based kernel tests use rump components and factions that +are encapsulte kernel functionality with clear boundaries. +This project deals with code in the kernel that can't easily be separated +into an independent module. + +# Project Status + +This project was worked on Diviyam Pathak for Google Summer of Code 2024. +We ran into bugs in other areas, particularly in using vnd(4) in a +rumpkernel that we couldn't resolve in time for the project to make use of +it. +Therefore Diviyam had to resort to stubbing and mocking of functions. +Diviyam's work can be found in his [Github +repository](https://github.com/DiviyamPathak/Gsoc-2024-NetBSD) documenting +his project. """ ]]
Remove GSOC tag.
Index: wikisrc/projects/project/build-system-rework.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/build-system-rework.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/build-system-rework.mdwn 20 Jan 2025 16:49:34 -0000 1.1 +++ wikisrc/projects/project/build-system-rework.mdwn 12 Mar 2025 16:33:59 -0000 1.2 @@ -27,5 +27,3 @@ - Manual conversion of Makefiles to Starlark syntax (perhaps out of scope for GSoc). """ ]] - -[[!tag gsoc]]
Index: wikisrc/projects/project/userspace-emulation-for-fun-and-profit.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/userspace-emulation-for-fun-and-profit.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/userspace-emulation-for-fun-and-profit.mdwn 15 Jan 2025 19:20:22 -0000 1.1 +++ wikisrc/projects/project/userspace-emulation-for-fun-and-profit.mdwn 12 Mar 2025 16:31:25 -0000 1.2 @@ -35,5 +35,3 @@ """ ]] -[[!tag gsoc]] -
delete JNUG financial report
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 11 Mar 2025 12:44:37 -0000 1.4 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 12 Mar 2025 01:18:54 -0000 1.5 @@ -33,7 +33,6 @@ [[!table data=""" Speaker |Title `login@` |_Very Interesting Thing_ -Tamotsu Kanoh | The financial report of Japan NetBSD Users' Group Christian Horn | Tales (regarding performance and efficiency) from emulating various virtual guests with QEMU and running NetBSD inside Jun Ebihara | Open Source Conference 2025 NetBSD Booth """]]
add descriptions for the gsoc project size tags
Index: wikisrc/templates/project.mdwn =================================================================== RCS file: /cvsroot/wikisrc/templates/project.mdwn,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- wikisrc/templates/project.mdwn 23 Mar 2024 18:42:05 -0000 1.8 +++ wikisrc/templates/project.mdwn 11 Mar 2025 21:54:22 -0000 1.9 @@ -57,3 +57,9 @@ - *gsoc*: Use this tag to denote a project suitable for the Google Summer of Code program. If you set this tag, the project must provide a set of mentors and its duration has to be 3 months. +- *gsoc90h*: Use this tag in addition to the *gsoc* tag to mark this as a + small size project that should take about 90 hours complete. +- *gsoc175h*: Use this tag in addition to the *gsoc* tag to mark this as a + medium size project that should take about 175 hours complete. +- *gsoc350h*: Use this tag in addition to the *gsoc* tag to mark this as a + large project that should take about 350 hours complete.
whitespace police
Index: wikisrc/projects/project/kernel_setroot_tests.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/kernel_setroot_tests.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/kernel_setroot_tests.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/kernel_setroot_tests.mdwn 11 Mar 2025 20:57:29 -0000 1.4 @@ -15,7 +15,6 @@ duration="350h" description=""" - NetBSD has an extensive test suite that tests native kernel and userland code. @@ -27,8 +26,8 @@ How to find the root file system is specfied in the kernel configuration file. E.g.: - config netbsd root on ? type ? - config netbsd root on sd0a type ? + config netbsd root on ? type ? + config netbsd root on sd0a type ? The first is a wildcard specification which causes the kernel to look for the root file system on the device that the kernel was booted from.
(AsiaBSDCon_2025_NetBSD_BoF) + mef@ for attend
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 10 Mar 2025 23:55:41 -0000 1.3 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 11 Mar 2025 12:44:37 -0000 1.4 @@ -25,6 +25,7 @@ Jun Ebihara | `jun@` | | | Tamotsu Kanoh | | | | Christian Horn | | | | +Makoto Fujiwara | `mef@`| | | """]] ## Planning to NetBSD related present something?
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 10 Mar 2025 22:51:09 -0000 1.2 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 10 Mar 2025 23:55:41 -0000 1.3 @@ -3,21 +3,22 @@ ## Details -* Make NetBSD BoF instead of AsiaBSDCon 2025 canceled, +* Make meetup instead of AsiaBSDCon 2025 canceled. * [announce on netbsd-advocacy][[]] * All BSD speakers are welcome -* Day & time: 2025/3/22 (Saturday) Not Fixed,Request welcome. - * 11:00-18:00(JST) - * 02:00-09:00(UTC) -* Venue Not Fixed,Request welcome. - * Morito Hall - * u-tokyo? +* Day & time: + * 2025/3/21ï¼Friï¼13:00-17:00ï¼ï¼Dinnerï¼ + * 2025/3/22ï¼Satï¼10:00-17:00ï¼ï¼Dinnerï¼ + +* Venue + * Institute of Science Tokyo, West Bldg.9 COLLABORATION ROOM + * OOkayama campus [[https://www.isct.ac.jp/en/001/access]] -### NetBSD Dinner +### Dinner more description -## Planning to attend? +## Planning to NetBSD related attend? [[!table data=""" First Last | `login@` | join dinner? | comment(s) @@ -26,7 +27,7 @@ Christian Horn | | | | """]] -## Planning to present something? +## Planning to NetBSD related present something? [[!table data=""" Speaker |Title
add Tamotsu Kanoh and Christian Horn
Index: wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn =================================================================== RCS file: /cvsroot/wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 10 Mar 2025 18:05:43 -0000 1.1 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 10 Mar 2025 22:51:09 -0000 1.2 @@ -22,6 +22,8 @@ [[!table data=""" First Last | `login@` | join dinner? | comment(s) Jun Ebihara | `jun@` | | | +Tamotsu Kanoh | | | | +Christian Horn | | | | """]] ## Planning to present something? @@ -29,7 +31,9 @@ [[!table data=""" Speaker |Title `login@` |_Very Interesting Thing_ -Jun Ebihara | Open Source Conference 2025 NetBSD Booth. +Tamotsu Kanoh | The financial report of Japan NetBSD Users' Group +Christian Horn | Tales (regarding performance and efficiency) from emulating various virtual guests with QEMU and running NetBSD inside +Jun Ebihara | Open Source Conference 2025 NetBSD Booth """]] ## Discussions
--- /dev/null 2025-04-05 15:34:56.289014871 +0000 +++ wikisrc/summits/AsiaBSDCon_2025_NetBSD_BoF.mdwn 2025-04-05 15:34:57.460494596 +0000 @@ -0,0 +1,37 @@ +<!-- we are supposed to use all lowercase letters in the link, so set a proper title for the page: --> +[[!meta title="AsiaBSDCon 2025 NetBSD BoF"]] + +## Details + +* Make NetBSD BoF instead of AsiaBSDCon 2025 canceled, +* [announce on netbsd-advocacy][[]] +* All BSD speakers are welcome +* Day & time: 2025/3/22 (Saturday) Not Fixed,Request welcome. + * 11:00-18:00(JST) + * 02:00-09:00(UTC) +* Venue Not Fixed,Request welcome. + * Morito Hall + * u-tokyo? + +### NetBSD Dinner + +more description + +## Planning to attend? + +[[!table data=""" +First Last | `login@` | join dinner? | comment(s) +Jun Ebihara | `jun@` | | | +"""]] + +## Planning to present something? + +[[!table data=""" +Speaker |Title +`login@` |_Very Interesting Thing_ +Jun Ebihara | Open Source Conference 2025 NetBSD Booth. +"""]] + +## Discussions + +## Varia
add Nagoya-Shimae-Hokkaido-Osaka
Index: wikisrc/users/jun.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/jun.mdwn,v retrieving revision 1.147 retrieving revision 1.148 diff -u -r1.147 -r1.148 --- wikisrc/users/jun.mdwn 20 Feb 2025 05:39:30 -0000 1.147 +++ wikisrc/users/jun.mdwn 4 Mar 2025 01:47:34 -0000 1.148 @@ -8,6 +8,38 @@ #2025 +## Open Source Conference 2025 Nagoya NetBSD Booth & NBUG BoF +- 2025 May.31 Sat 10:00-18:00 JST (UTC+9) +- Nagoya Trade & Industry Center [[https://www.nipc.or.jp/fukiage/sub/visitor-access.html#around]] +- with [[http://nagoya.bug.gr.jp/]] +- [[https://event.ospn.jp/osc2025-nagoya/]] +- Tour Guide [[]] +- togetter [[]] + +## Open Source Conference 2025 Shimane NetBSD Booth +- Booth: 2025 Jun.21 Sat 10:00-17:00 JST (UTC+9) +- [[https://event.ospn.jp/osc2025-shimane/]] +- Tour Guide [[]] +- togetter [[]] + +## Open Source Conference 2025 Hokkaido NetBSD Booth and NetBSD BoF +- 2025 Jul.5 Sat 10:00-18:00 JST (UTC+9) +- Sapporo Business Innovation Center [[https://www.sapporosansin.jp/access/]] +- with [[https://www.no.bug.gr.jp/]] +- [[https://event.ospn.jp/osc2025-do/]] +- Tour Guide [[]] +- togetter [[]] + +## Kansai Open Forum 2025 +- 2025 Nov.7-8 Sat 10:00-18:00 JST (UTC+9) +- [[https://www.k-of.jp/]] +- ATC (Asia and Pacific Trade Center) +- Nankou-kita 2-1-10, Suminoe Area, Osaka Japan. +- Tour Guide [[]] +- togetter [[]] + +# Past in 2025 + ## Open Source Conference 2025 Tokyo/Spring NetBSD Booth & BoF - Booth: 2025 Feb.21-22 Fri-Sat 10:00-16:00 JST (UTC+9) - BoF: 2025 Feb.21 16:15-17:00 JST (UTC+9) [[https://event.ospn.jp/osc2025-spring/session/1962010]] @@ -16,8 +48,6 @@ - Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025tokyospring.pdf]] - togetter [[https://posfie.com/@ebijun/p/AeMxGBR]] -# Past in 2025 - ## Open Source Conference 2025 Osaka NetBSD Booth & BoF - Booth: 2024 Jan.25 Sat 10:00-16:00 JST (UTC+9) - BoF: 2024 Jan.25 Sat 10:00-10:45 JST (UTC+9) @@ -26,7 +56,6 @@ - Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025osaka.pdf]] - togetter [[https://togetter.com/li/2496475]] - # Monthly ## Nagoya *BSD Users' Group monthly meeting
Index: wikisrc/reproducable_builds.mdwn =================================================================== RCS file: /cvsroot/wikisrc/reproducable_builds.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/reproducable_builds.mdwn 22 Nov 2019 14:34:04 -0000 1.2 +++ wikisrc/reproducable_builds.mdwn 20 Feb 2025 19:25:56 -0000 1.3 @@ -1,16 +1,16 @@ -[[!meta title="Reproducable Builds"]] +[[!meta title="Reproducible Builds"]] -# What is a Reproducable Build? +# What is a Reproducible Build? There are various definitions, but we will use common sense here: if I install a NetBSD release on a machine and come back to it in a year (or 10), it should be possible to create all of the installation again, 100% bitwise identical. -# Why are Reproducable Builds a good thing? +# Why are Reproducible Builds a good thing? There are various advantages, one of them is the possibility to create binary patches later (after changing small things in the source, e.g. for security fixes). They are also useful if you do not trust the official builds, or are doing local builds and want to compare parts supposed to be identical. # The Source -First prerequisite for reproducing a build is to get the same source. With cvs (as we use it now) this either happens via using a relase tag or a date for a checkout. Assuming you do a clean new checkout, examples would be: +First prerequisite for reproducing a build is to get the same source. With cvs (as we use it now) this either happens via using a release tag or a date for a checkout. Assuming you do a clean new checkout, examples would be: cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot co -r netbsd-8-1-RELEASE src xsrc
Unlist GSoC projects with inactive mentor
Delete the gsoc tag to all the projects that has a mentor but the mentor is
currently an inactive NetBSD developer.
We can readd the GSoC tag once they will be active again and/or if
anyone is interested in mentoring these projects please assign yourself
too and re-add the gsoc tag!
XXX: No idea if the gsoc*h tag should be removed too, I have currently
XXX: preserved it.
Delete the gsoc tag to all the projects that has a mentor but the mentor is
currently an inactive NetBSD developer.
We can readd the GSoC tag once they will be active again and/or if
anyone is interested in mentoring these projects please assign yourself
too and re-add the gsoc tag!
XXX: No idea if the gsoc*h tag should be removed too, I have currently
XXX: preserved it.
We can readd the GSoC tag once they will be active again and/or if anyone is interested in mentoring these projects please assign yourself too and re-add the gsoc tag! XXX: No idea if the gsoc*h tag should be removed too, I have currently XXX: preserved it. Members: projects/project/libfuzzer.mdwn:1.3->1.4 projects/project/pkgsrc-sanitizers.mdwn:1.5->1.6 projects/project/scudo.mdwn:1.3->1.4 projects/project/sso.mdwn:1.3->1.4 projects/project/syzkaller.mdwn:1.4->1.5 Index: wikisrc/projects/project/libfuzzer.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/libfuzzer.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/libfuzzer.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/libfuzzer.mdwn 20 Feb 2025 11:28:36 -0000 1.4 @@ -28,5 +28,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]] Index: wikisrc/projects/project/pkgsrc-sanitizers.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/pkgsrc-sanitizers.mdwn,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- wikisrc/projects/project/pkgsrc-sanitizers.mdwn 1 Mar 2022 10:38:49 -0000 1.5 +++ wikisrc/projects/project/pkgsrc-sanitizers.mdwn 20 Feb 2025 11:28:36 -0000 1.6 @@ -37,5 +37,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]] Index: wikisrc/projects/project/scudo.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/scudo.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/scudo.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/scudo.mdwn 20 Feb 2025 11:28:36 -0000 1.4 @@ -29,5 +29,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]] Index: wikisrc/projects/project/sso.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/sso.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/sso.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/sso.mdwn 20 Feb 2025 11:28:36 -0000 1.4 @@ -45,5 +45,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]] Index: wikisrc/projects/project/syzkaller.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/syzkaller.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/projects/project/syzkaller.mdwn 1 Mar 2022 10:38:49 -0000 1.4 +++ wikisrc/projects/project/syzkaller.mdwn 20 Feb 2025 11:28:36 -0000 1.5 @@ -28,5 +28,4 @@ """ ]] -[[!tag gsoc]] [[!tag gsoc350h]]
2025 Feb.21-22 Open Source Conference 2025 Tokyo/Spring NetBSD Booth & BoF
Index: wikisrc/users/jun.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/jun.mdwn,v retrieving revision 1.146 retrieving revision 1.147 diff -u -r1.146 -r1.147 --- wikisrc/users/jun.mdwn 23 Jan 2025 21:06:01 -0000 1.146 +++ wikisrc/users/jun.mdwn 20 Feb 2025 05:39:30 -0000 1.147 @@ -7,17 +7,25 @@ 2001-2002-2003-2004-2005-2006-2007-2008-2009 #2025 + +## Open Source Conference 2025 Tokyo/Spring NetBSD Booth & BoF +- Booth: 2025 Feb.21-22 Fri-Sat 10:00-16:00 JST (UTC+9) +- BoF: 2025 Feb.21 16:15-17:00 JST (UTC+9) [[https://event.ospn.jp/osc2025-spring/session/1962010]] +- KOMAZAWA UNIVERSITY SHUGETSUKAN [[https://www.komazawa-u.ac.jp/english/access/]] +- [[https://event.ospn.jp/osc2025-spring/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025tokyospring.pdf]] +- togetter [[https://posfie.com/@ebijun/p/AeMxGBR]] + +# Past in 2025 + ## Open Source Conference 2025 Osaka NetBSD Booth & BoF - Booth: 2024 Jan.25 Sat 10:00-16:00 JST (UTC+9) - BoF: 2024 Jan.25 Sat 10:00-10:45 JST (UTC+9) - Osaka Sangyo Sozoukan [[https://www.sansokan.jp/map/]] - [[https://event.ospn.jp/osc2025-osaka/]] -- Tour Guide [https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025osaka.pdf[]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025osaka.pdf]] - togetter [[https://togetter.com/li/2496475]] -## Open Source Conference 2024 Tokyo/Spring NetBSD Booth & BoF -- Booth: 2024 Feb.21-22 Fri-Sat 10:00-16:00 JST (UTC+9) -- [[https://event.ospn.jp/osc2025-spring/]] # Monthly
Open Source Conference 2025 Osaka NetBSD Booth setting start at 9:00 am
Index: wikisrc/users/jun.mdwn =================================================================== RCS file: /cvsroot/wikisrc/users/jun.mdwn,v retrieving revision 1.145 retrieving revision 1.146 diff -u -r1.145 -r1.146 --- wikisrc/users/jun.mdwn 15 Jan 2025 19:42:20 -0000 1.145 +++ wikisrc/users/jun.mdwn 23 Jan 2025 21:06:01 -0000 1.146 @@ -12,8 +12,8 @@ - BoF: 2024 Jan.25 Sat 10:00-10:45 JST (UTC+9) - Osaka Sangyo Sozoukan [[https://www.sansokan.jp/map/]] - [[https://event.ospn.jp/osc2025-osaka/]] -- Tour Guide [[]] -- togetter [[]] +- Tour Guide [https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2025osaka.pdf[]] +- togetter [[https://togetter.com/li/2496475]] ## Open Source Conference 2024 Tokyo/Spring NetBSD Booth & BoF - Booth: 2024 Feb.21-22 Fri-Sat 10:00-16:00 JST (UTC+9)
Mark project as done
Requested by <rjs> and this was done in GSoC 2022.
Requested by <rjs> and this was done in GSoC 2022.
Members: projects/project/vc4.mdwn:1.4->1.5 Index: wikisrc/projects/project/vc4.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/vc4.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/projects/project/vc4.mdwn 1 Mar 2022 10:38:50 -0000 1.4 +++ wikisrc/projects/project/vc4.mdwn 22 Jan 2025 16:07:32 -0000 1.5 @@ -13,6 +13,7 @@ category="kernel" difficulty="medium" duration="350h" +done_by="bschnepp, Robert Swindells" description=""" [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi) is a very popular ARM board.
make it a gsoc project
Index: wikisrc/projects/project/npf_user_group_filtering.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/npf_user_group_filtering.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/npf_user_group_filtering.mdwn 22 Jan 2025 14:35:50 -0000 1.1 +++ wikisrc/projects/project/npf_user_group_filtering.mdwn 22 Jan 2025 14:46:54 -0000 1.2 @@ -3,13 +3,16 @@ title="NPF user/group filtering" contact=""" -[tech-kern](mailto:tech-kern@NetBSD.org) [tech-net](mailto:tech-net@NetBSD.org) -[christos](mailto:christos@NetBSD.org) """ -category="networking" +mentors=""" +[Christos Zoulas](mailto:christos@NetBSD.org) +""" + +category="kernel" difficulty="hard" +duration="350h" description=""" Add the ability to filter packets by user or group that owns the socket sending @@ -20,3 +23,6 @@ options and allow/drop packets. """ ]] + +[[!tag gsoc]] +[[!tag gsoc350h]]
new project
--- /dev/null 2025-04-05 15:34:58.851437105 +0000 +++ wikisrc/projects/project/npf_user_group_filtering.mdwn 2025-04-05 15:35:00.624982335 +0000 @@ -0,0 +1,22 @@ +[[!template id=project + +title="NPF user/group filtering" + +contact=""" +[tech-kern](mailto:tech-kern@NetBSD.org) +[tech-net](mailto:tech-net@NetBSD.org) +[christos](mailto:christos@NetBSD.org) +""" + +category="networking" +difficulty="hard" + +description=""" +Add the ability to filter packets by user or group that owns the socket sending +or receiving packets. This ability is available in other packet filters for +example [pf](https://man.openbsd.org/pf.conf). The project involves modifying +the parser to accept the syntax, passing the information to the kernel, and +modifying the kernel packet filter code to process the user/group filtering +options and allow/drop packets. +""" +]]
Add a project for the 'build system rework' GSoC project.
--- /dev/null 2025-04-05 15:34:58.851437105 +0000 +++ wikisrc/projects/project/build-system-rework.mdwn 2025-04-05 15:35:01.056463760 +0000 @@ -0,0 +1,31 @@ +[[!template id=project + +title="Hermetic builds for the base system" + +contact=""" +[jkoshy@NetBSD.org](mailto:jkoshy@NetBSD.org) +""" + +mentors=""" +[Joseph Koshy](mailto:jkoshy@NetBSD.org) +""" + +category="userland" +difficulty="hard" +duration="3 months" + +description=""" +Evolve the NetBSD build system to support minimal, hermetic, globally correct builds. + +For more information, please see: [Reworking the NetBSD⢠build system](https://jkoshy.net/projects/reworking-the-netbsd-build-system.html). + +Milestones: + +- [gsoc-1] The build dependency graph for Makefiles under `/usr/src` can be extracted to a suitable graph database. +- [gsoc-2] An executor that 'executes' the build graph is ready. +- A translator from [Starlark](https://bazel.build/rules/language) to the build graph is ready. +- Manual conversion of Makefiles to Starlark syntax (perhaps out of scope for GSoc). +""" +]] + +[[!tag gsoc]]
Remove extra whitespace, terminate a sentence with a full-stop.
Index: wikisrc/projects/gsoc.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/gsoc.mdwn,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- wikisrc/projects/gsoc.mdwn 15 Jan 2025 17:33:39 -0000 1.31 +++ wikisrc/projects/gsoc.mdwn 20 Jan 2025 16:33:08 -0000 1.32 @@ -19,8 +19,7 @@ 2021, 2022, 2023, -2024 -) +2024). This page contains a list of concrete suggestions for projects we would like to see applications for in the next Summer of Code. Note that they
Bump cur_rel from 10.0 to 10.1
Mechanically done via:
sed -i -e 's/cur_rel="10\.0"/cur_rel="10.1"/g' $(ag -l 'template id=port')
Mechanically done via:
sed -i -e 's/cur_rel="10\.0"/cur_rel="10.1"/g' $(ag -l 'template id=port')
sed -i -e 's/cur_rel="10\.0"/cur_rel="10.1"/g' $(ag -l 'template id=port') Members: ports/aarch64.mdwn:1.19->1.20 ports/acorn32.mdwn:1.22->1.23 ports/algor.mdwn:1.27->1.28 ports/alpha.mdwn:1.27->1.28 ports/amd64.mdwn:1.42->1.43 ports/amiga.mdwn:1.40->1.41 ports/amigappc.mdwn:1.26->1.27 ports/arc.mdwn:1.27->1.28 ports/atari.mdwn:1.26->1.27 ports/bebox.mdwn:1.25->1.26 ports/cesfic.mdwn:1.25->1.26 ports/cobalt.mdwn:1.27->1.28 ports/dreamcast.mdwn:1.27->1.28 ports/emips.mdwn:1.26->1.27 ports/evbarm.mdwn:1.113->1.114 ports/evbsh3.mdwn:1.27->1.28 ports/ews4800mips.mdwn:1.26->1.27 ports/hp300.mdwn:1.31->1.32 ports/hpcmips.mdwn:1.32->1.33 ports/hpcsh.mdwn:1.29->1.30 ports/i386.mdwn:1.30->1.31 ports/ibmnws.mdwn:1.25->1.26 ports/iyonix.mdwn:1.25->1.26 ports/landisk.mdwn:1.26->1.27 ports/luna68k.mdwn:1.27->1.28 ports/mac68k.mdwn:1.30->1.31 ports/macppc.mdwn:1.28->1.29 ports/mvme68k.mdwn:1.28->1.29 ports/mvmeppc.mdwn:1.28->1.29 ports/netwinder.mdwn:1.24->1.25 ports/news68k.mdwn:1.27->1.28 ports/next68k.mdwn:1.26->1.27 ports/ofppc.mdwn:1.26->1.27 ports/pmax.mdwn:1.30->1.31 ports/sandpoint.mdwn:1.33->1.34 ports/sbmips.mdwn:1.29->1.30 ports/sgimips.mdwn:1.29->1.30 ports/shark.mdwn:1.26->1.27 ports/sparc.mdwn:1.29->1.30 ports/sparc64.mdwn:1.40->1.41 ports/sun3.mdwn:1.29->1.30 ports/vax.mdwn:1.28->1.29 ports/x68k.mdwn:1.26->1.27 ports/zaurus.mdwn:1.31->1.32 Index: wikisrc/ports/aarch64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/aarch64.mdwn,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- wikisrc/ports/aarch64.mdwn 15 Jan 2025 19:42:20 -0000 1.19 +++ wikisrc/ports/aarch64.mdwn 15 Jan 2025 23:25:30 -0000 1.20 @@ -10,7 +10,7 @@ iso_image="true" future_rel="11.0" changes_future="11.0" -cur_rel="10.0" +cur_rel="10.1" changes_cur="10.0" pkg_rel="10.0" about=""" Index: wikisrc/ports/acorn32.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/acorn32.mdwn,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- wikisrc/ports/acorn32.mdwn 15 Jan 2025 19:42:20 -0000 1.22 +++ wikisrc/ports/acorn32.mdwn 15 Jan 2025 23:25:30 -0000 1.23 @@ -1,7 +1,7 @@ [[!template id=port port="acorn32" iso_image="true" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" changes_cur="10.0" changes_future="11.0" Index: wikisrc/ports/algor.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/algor.mdwn,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- wikisrc/ports/algor.mdwn 15 Jan 2025 19:42:20 -0000 1.27 +++ wikisrc/ports/algor.mdwn 15 Jan 2025 23:25:30 -0000 1.28 @@ -1,6 +1,6 @@ [[!template id=port port="algor" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" pkg_rel="9.4" changes_cur="10.0" Index: wikisrc/ports/alpha.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/alpha.mdwn,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- wikisrc/ports/alpha.mdwn 15 Jan 2025 19:42:20 -0000 1.27 +++ wikisrc/ports/alpha.mdwn 15 Jan 2025 23:25:30 -0000 1.28 @@ -1,7 +1,7 @@ [[!template id=port port="alpha" iso_image="true" -cur_rel="10.0" +cur_rel="10.1" pkg_rel="10.0" future_rel="11.0" changes_cur="10.0" Index: wikisrc/ports/amd64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amd64.mdwn,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- wikisrc/ports/amd64.mdwn 15 Jan 2025 19:42:20 -0000 1.42 +++ wikisrc/ports/amd64.mdwn 15 Jan 2025 23:25:30 -0000 1.43 @@ -2,7 +2,7 @@ port="amd64" iso_image="true" install_image="install" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" pkg_rel="10.0" changes_cur="10.0" Index: wikisrc/ports/amiga.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amiga.mdwn,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- wikisrc/ports/amiga.mdwn 15 Jan 2025 19:42:20 -0000 1.40 +++ wikisrc/ports/amiga.mdwn 15 Jan 2025 23:25:30 -0000 1.41 @@ -1,7 +1,7 @@ [[!template id=port port="amiga" iso_image="true" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" pkg_rel="10.0" changes_cur="10.0" Index: wikisrc/ports/amigappc.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amigappc.mdwn,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- wikisrc/ports/amigappc.mdwn 15 Jan 2025 19:42:20 -0000 1.26 +++ wikisrc/ports/amigappc.mdwn 15 Jan 2025 23:25:30 -0000 1.27 @@ -1,7 +1,7 @@ [[!template id=port port="amigappc" port_alt="powerpc" -cur_rel="10.0" +cur_rel="10.1" pkg_rel="10.0" future_rel="11.0" changes_cur="10.0" Index: wikisrc/ports/arc.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/arc.mdwn,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- wikisrc/ports/arc.mdwn 15 Jan 2025 19:42:20 -0000 1.27 +++ wikisrc/ports/arc.mdwn 15 Jan 2025 23:25:30 -0000 1.28 @@ -1,7 +1,7 @@ [[!template id=port port="arc" iso_image="true" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" pkg_rel="9.4" changes_cur="10.0" Index: wikisrc/ports/atari.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/atari.mdwn,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- wikisrc/ports/atari.mdwn 15 Jan 2025 19:42:20 -0000 1.26 +++ wikisrc/ports/atari.mdwn 15 Jan 2025 23:25:30 -0000 1.27 @@ -1,7 +1,7 @@ [[!template id=port port="atari" iso_image="true" -cur_rel="10.0" +cur_rel="10.1" future_rel="11.0" pkg_rel="10.0" changes_cur="10.0" (Diff truncated)
Belatedly commit "in the way" changes.
Index: wikisrc/pkgsrc/how_to_use_pkgsrc_on_linux.mdwn =================================================================== RCS file: /cvsroot/wikisrc/pkgsrc/how_to_use_pkgsrc_on_linux.mdwn,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- wikisrc/pkgsrc/how_to_use_pkgsrc_on_linux.mdwn 6 Mar 2017 22:05:53 -0000 1.8 +++ wikisrc/pkgsrc/how_to_use_pkgsrc_on_linux.mdwn 15 Jan 2025 19:42:20 -0000 1.9 @@ -19,6 +19,7 @@ * zlib and zlib-devel * openssl-devel (optional but required for some packages) * libudev-dev (optional but required for some packages) +* gawk The names may vary, depending on what Linux distribution you are using. Also be mindful of the platform you are using (eg. i686 vs. x86_64 - some have different pre-required packages). Also note that some very basic tools such as file, patch, sed, and others are required, as well. Index: wikisrc/ports/aarch64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/aarch64.mdwn,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- wikisrc/ports/aarch64.mdwn 18 Dec 2024 19:51:02 -0000 1.18 +++ wikisrc/ports/aarch64.mdwn 15 Jan 2025 19:42:20 -0000 1.19 @@ -1,13 +1,18 @@ [[!template id=port -port="evbarm-aarch64" +port="evbarm" +port_suffix="-aarch64" +port_var1="aarch64" +port_var2="aarch64eb" +port_var="aarch64eb" +port_var_install_notes="evbarm-aarch64" changes_port="evbarm64" port_alt="arm" iso_image="true" future_rel="11.0" changes_future="11.0" -cur_rel="10.1" -changes_cur="10.1" -pkg_rel="9.0" +cur_rel="10.0" +changes_cur="10.0" +pkg_rel="10.0" about=""" NetBSD/aarch64 is a port to Arm's 64-bit CPUs and other compatible machines. Index: wikisrc/ports/acorn32.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/acorn32.mdwn,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- wikisrc/ports/acorn32.mdwn 8 Nov 2022 22:35:55 -0000 1.21 +++ wikisrc/ports/acorn32.mdwn 15 Jan 2025 19:42:20 -0000 1.22 @@ -1,11 +1,10 @@ [[!template id=port port="acorn32" iso_image="true" -cur_rel="8.1" -future_rel="9.0" -pkg_rel="6.1" -changes_cur="8.1" -changes_future="9.0" +cur_rel="10.0" +future_rel="11.0" +changes_cur="10.0" +changes_future="11.0" thumbnail="//www.netbsd.org/images/ports/acorn32/riscpc.gif" about=""" NetBSD/acorn32 is a port to ARM- and StrongARM-powered Acorn RiscPC compatible Index: wikisrc/ports/algor.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/algor.mdwn,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- wikisrc/ports/algor.mdwn 18 Dec 2024 19:51:02 -0000 1.26 +++ wikisrc/ports/algor.mdwn 15 Jan 2025 19:42:20 -0000 1.27 @@ -1,9 +1,9 @@ [[!template id=port port="algor" -cur_rel="10.1" +cur_rel="10.0" future_rel="11.0" -pkg_rel="6.0" -changes_cur="10.1" +pkg_rel="9.4" +changes_cur="10.0" changes_future="11.0" thumbnail="//www.netbsd.org/images/ports/algor/alogo2.gif" no_install_notes="defined" Index: wikisrc/ports/alpha.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/alpha.mdwn,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- wikisrc/ports/alpha.mdwn 18 Dec 2024 19:51:02 -0000 1.26 +++ wikisrc/ports/alpha.mdwn 15 Jan 2025 19:42:20 -0000 1.27 @@ -1,12 +1,12 @@ [[!template id=port port="alpha" iso_image="true" -cur_rel="10.1" -pkg_rel="8.0" +cur_rel="10.0" +pkg_rel="10.0" future_rel="11.0" -changes_cur="10.1" +changes_cur="10.0" changes_future="11.0" -thumbnail="//www.netbsd.org/images/ports/alpha/au-10.1.gif" +thumbnail="//www.netbsd.org/images/ports/alpha/au-1000.gif" about=""" NetBSD/alpha is a true 64-bit system that fully implements the LP64 architecture, using 64-bit pointers and 64-bit long integers (standard integers are still 32 @@ -22,11 +22,11 @@ supported_hardware=""" ###Supported System Models -* 264DP, [XP10.1](http://h18002.www1.hp.com/alphaserver/workstations/retired/xpseries/xp10.1/index.html), +* 264DP, [XP1000](http://h18002.www1.hp.com/alphaserver/workstations/retired/xpseries/xp1000/index.html), [DS10](http://h18002.www1.hp.com/alphaserver/workstations/retired/ds10/index.html), [DS20](http://h18002.www1.hp.com/alphaserver/archive/ds20/), API UP2000, UP2000+ and other Tsunami-based EV6 systems -* API UP10.1 and UP1100 (AMD 751-based) EV6 systems +* API UP1000 and UP1100 (AMD 751-based) EV6 systems * DECpc AXP 150 (Jensen) * [DEC 3000/500-family systems](http://h18002.www1.hp.com/alphaserver/archive/axp/dec3000.html) (includes DEC 3000/400,600,700,800,900) @@ -46,8 +46,8 @@ systems) * [Digital AlphaServer 8200 and 8400 systems](http://h18002.www1.hp.com/alphaserver/archive/8400/) * [Digital AlphaServer 4100 systems](http://h18002.www1.hp.com/alphaserver/archive/4100/) -* [Digital AlphaServer 10.1 systems](http://h18002.www1.hp.com/alphaserver/archive/10.1/) -* [Digital AlphaServer 10.1A systems](http://h18002.www1.hp.com/alphaserver/archive/10.1a/) +* [Digital AlphaServer 1000 systems](http://h18002.www1.hp.com/alphaserver/archive/1000/) +* [Digital AlphaServer 1000A systems](http://h18002.www1.hp.com/alphaserver/archive/1000a/) * [Digital AlphaServer 800 systems](http://h18002.www1.hp.com/alphaserver/archive/800/) * [Digital Personal Workstation (``au'' series)](http://h18002.www1.hp.com/alphaserver/workstations/retired/auseries/index.html) * [Digital Server 330x systems](http://h18002.www1.hp.com/alphaserver/archive/3300/) Index: wikisrc/ports/amd64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amd64.mdwn,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- wikisrc/ports/amd64.mdwn 18 Dec 2024 19:51:02 -0000 1.41 +++ wikisrc/ports/amd64.mdwn 15 Jan 2025 19:42:20 -0000 1.42 @@ -2,10 +2,10 @@ port="amd64" iso_image="true" install_image="install" -cur_rel="10.1" +cur_rel="10.0" future_rel="11.0" -pkg_rel="9.0" -changes_cur="10.1" +pkg_rel="10.0" +changes_cur="10.0" changes_future="11.0" thumbnail="//www.netbsd.org/images/ports/amd64/AMD_Opteron.gif" about=""" @@ -30,15 +30,7 @@ The port is fully functional. It has been tested on single-CPU and multiprocessor (SMP) Opteron configurations. Since the <a class="ulink" href="http://www.NetBSD.org/releases/formal-2.0/NetBSD-2.0.html" target="_top">release of NetBSD 2.0</a>, it is a completely supported platform. - -### Running NetBSD/amd64 on Cloud Services - -Links to pages about running NetBSD on cloud services: - * https://www.netmeister.org/blog/netbsd-on-linode.html - * https://cloudbsd.xyz/main/ - -See also the [xen HOWTO](../xen/howto.mdwn) which discusses several -xen-based VPS providers. """ + ]] [[!tag tier1port]] Index: wikisrc/ports/amiga.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amiga.mdwn,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- wikisrc/ports/amiga.mdwn 18 Dec 2024 19:51:02 -0000 1.39 +++ wikisrc/ports/amiga.mdwn 15 Jan 2025 19:42:20 -0000 1.40 @@ -1,10 +1,10 @@ [[!template id=port port="amiga" iso_image="true" -cur_rel="10.1" +cur_rel="10.0" future_rel="11.0" -pkg_rel="8.0" -changes_cur="10.1" +pkg_rel="10.0" +changes_cur="10.0" (Diff truncated)
Belatedly remove removed files, too.
--- wikisrc/projects/project/xen4/comment_1_eace1929e77be2911e22dccfdd91dbee._comment 2025-04-05 15:35:05.970111554 +0000 +++ /dev/null 2025-04-05 15:35:03.429509540 +0000 @@ -1,8 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawmgqKnAf_1tKBJrWPW7Wt3k_aOfi3A3YbQ" - nickname="Roger" - subject="missing gntdev" - date="2012-02-27T09:42:46Z" - content=""" -NetBSD is also missing an important Xen interface, the Grant table device for allowing user-space tools to interact with memory. I think it's quite important to get this into future NetBSD releases, since some features depend on that (like qemu), maybe it will we worth adding a GSoC project for that task (although I don't know how hard it is). -"""]]
Belatedly commit changed files, too.
Index: wikisrc/ports/cats/gxemul_cats.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/cats/gxemul_cats.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/ports/cats/gxemul_cats.mdwn 22 Oct 2024 21:18:21 -0000 1.3 +++ wikisrc/ports/cats/gxemul_cats.mdwn 15 Jan 2025 19:24:58 -0000 1.4 @@ -3,7 +3,7 @@ As of October 2024, GXemul runs all versions of NetBSD/cats, including all releases and -current. Note that at the time of this writing, the latest GXemul release (0.7.0) has a bug that prevents builds compiled with GCC 10 (NetBSD 10.0 and later releases and -current after June 2021 and) from booting. To run such a release either install GXemul from pkgsrc or apply the patch linked below. # Requirements -* GXemul from pkgsrc (otherwise make sure it contains [this patch](https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/emulators/gxemul/patches/patch-src_cpus_cpu__arm__instr__dpi.c?rev=1.1;content-type=text%2Fplain) +* GXemul from pkgsrc (otherwise make sure it contains [this patch](https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/emulators/gxemul/patches/patch-src_cpus_cpu__arm__instr__dpi.c?rev=1.1;content-type=text%2Fplain)) * an installation .iso, e.g., [NetBSD-10.0-cats.iso](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/iso/NetBSD-10.0-cats.iso) and corresponding [kernel](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/cats/binary/kernel/netbsd-GENERIC.gz) # Creating a disk image Index: wikisrc/ports/hpcmips/howto-use.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/hpcmips/howto-use.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/ports/hpcmips/howto-use.mdwn 14 Jan 2014 13:22:18 -0000 1.2 +++ wikisrc/ports/hpcmips/howto-use.mdwn 15 Jan 2025 19:24:58 -0000 1.3 @@ -114,7 +114,7 @@ ## Getting the NetBSD/hpcmips distribution -check <ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-5.0/hpcmips/> +check <https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/hpcmips/> binary/sets:NetBSD/hpcmips binary such as base.tgz, comp.tgz. installation:pbsdboot.exe.gz and netbsd.gz @@ -126,7 +126,7 @@ ## Getting the NetBSD/hpcmips boot loader (pbsdboot.exe) Download from [pbsdboot download -directory](ftp://ftp.NetBSD.org/pub/NetBSD/arch/hpcmips/pocketbsd/pbsdboot/). +directory](https://cdn.netbsd.org/pub/NetBSD/arch/hpcmips/pocketbsd/pbsdboot/). Pbsdboot.exe is compiled for WindowsCE 2.00. Use Pbsdboot1.exe for Windows CE 1.01. Pbsdboot.exe is updated to use color maps for 8 bit frame buffer machines. Now we can use 256 colors, though we don't know @@ -142,9 +142,9 @@ pbsdboot hook up NetBSD/hpcmips kernel file. -* [netbsd-GENERIC.gz](ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-5.0/hpcmips/binary/kernel/): +* [netbsd-GENERIC.gz](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/hpcmips/binary/kernel/): this kernel runs on Vr41xx and TX3922 CPUs only. -* [netbsd-TX3912.gz](ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-5.0/hpcmips/binary/kernel/): +* [netbsd-TX3912.gz](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/hpcmips/binary/kernel/): a kernel for TX3912 machines. ## Accessing Microsoft partitions @@ -198,7 +198,7 @@ <dd> Boot loader from Windows CE environment called "pbsdboot.exe" is available from -[ftp.NetBSD.org](ftp://ftp.NetBSD.org/pub/NetBSD/arch/hpcmips/pocketbsd/pbsdboot/). +[cdn.NetBSD.org](https://cdn.NetBSD.org/pub/NetBSD/arch/hpcmips/pocketbsd/pbsdboot/). </dd> <dt>Boot loader Options</dt> <dl> Index: wikisrc/projects/project/mpsafe_net_driver.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/mpsafe_net_driver.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/projects/project/mpsafe_net_driver.mdwn 12 Mar 2022 18:27:25 -0000 1.4 +++ wikisrc/projects/project/mpsafe_net_driver.mdwn 15 Jan 2025 19:24:58 -0000 1.5 @@ -24,7 +24,6 @@ * Novell NE1000 [[!template id=man name="ne" section="4"]] (supported by QEMU) * Atheros/Killer Gigabit Ethernet [[!template id=man name="alc" section="4"]] * Attansic Gigabit Ethernet [[!template id=man name="ale" section="4"]] -* Broadcom Gigabit Ethernet [[!template id=man name="bge" section="4"]] * Broadcom NetXtreme [[!template id=man name="bnx" section="4"]] You may find others listed in [[!template id=man name="pci" section="4"]]. Index: wikisrc/projects/project/x86-iommu.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/x86-iommu.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/x86-iommu.mdwn 6 Nov 2011 19:58:46 -0000 1.1 +++ wikisrc/projects/project/x86-iommu.mdwn 15 Jan 2025 19:24:58 -0000 1.2 @@ -1,11 +1,10 @@ [[!template id=project -title="Add IOMMU support in x86/xen ports" +title="Add IOMMU support in x86 native ports" contact=""" [port-amd64](mailto:port-amd64@NetBSD.org), -[port-i386](mailto:port-i386@NetBSD.org), -[port-xen](mailto:port-xen@NetBSD.org) +[port-i386](mailto:port-i386@NetBSD.org) """ mentors=""" @@ -14,14 +13,15 @@ category="ports" difficulty="hard" -duration="3 months" +duration="6 months" description=""" -With the push of virtualization, the x86 world started recently to gain a more -widespread attention towards supporting IOMMUs; similar to MMUs that translate -virtual addresses into physical ones, an IOMMU translates device/bus addresses -into physical addresses. The purpose of this project is to add AMD and Intel -IOMMU support in NetBSD's machine-independent bus abstraction layers -bus.space(9) and bus.dma(9). +This project is about implementing the needed support for Intel's VT-d and AMD-IOV functionality in the native x86 ports, with a focus on amd64 first (i386 being a nice-to-have, but not strictly required). + +NetBSD already has machine-independent bus abstraction layers (namely, [bus_space(9)](https://man.netbsd.org/bus_space.9) for bus-related memory operations, and [bus_dma(9)](https://man.netbsd.org/bus_dma.9) for DMA related transactions) that are successfully used on other arches like SPARC for IOMMU. + +The present project is to implement the machine-dependent functions to support IOMMU on x86. + +Please note that it requires specific hardware for testing, as not all motherboards/chipsets have IOMMU supported let alone working correctly. In case of doubt, ask on the mailing list or point of contact. """ ]] Index: wikisrc/projects/project/xen4.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/xen4.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/xen4.mdwn 6 Nov 2011 19:58:46 -0000 1.1 +++ wikisrc/projects/project/xen4.mdwn 15 Jan 2025 19:24:58 -0000 1.2 @@ -12,16 +12,19 @@ category="ports" difficulty="hard" -duration="3-6 months" +duration="3-6 months, depending on subsystem considered" description=""" -Latest Xen versions come with a number of features that are currently not -supported by NetBSD: USB/VGA passthrough, RAS (Reliability, Availability and -Serviceability) options - CPU and memory hotpluging - , Fault tolerancy with -Remus, and debugging with gdbx (lightweight debugger included with Xen). +This project's work is composed of smaller components that can be worked on independently from others, all related to the Xen port. -The purpose of this project is to add the missing parts inside NetBSD. Most of -the work is composed of smaller components that can be worked on independently -from others. +Xen has support of a number of machine-dependent features that NetBSD currently does not implement for the x86's port of the Xen architecture. Notably: + +- PCI passthrough, where PCI devices can be exposed to a guest via Xen protected mem/regs mappings; +- IOMMU (Intel's VT-d, or AMD's IOV) that protects memory access from devices for I/O, needed for safe operation of PCI/device passthrough; +- ACPI, and more specifically, ACPI states. Most commonly used on native systems to suspend/resume/shutdown a host; +- CPU and memory hotplugging; +- more elaborate VM debugging through gdbx, a lightweight debugger included with Xen. + +The purpose of this project is to either add the missing parts inside NetBSD (some requiring native implementation first like [IOMMU](https://wiki.netbsd.org/projects/project/x86-iommu/)), or implement the needed interface to plug current native x86 systems (like [pmf(9](https://man.netbsd.org/pmf.9)) for ACPI hypercalls). """ ]] Index: wikisrc/security/cgdroot.mdwn =================================================================== RCS file: /cvsroot/wikisrc/security/cgdroot.mdwn,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- wikisrc/security/cgdroot.mdwn 23 Mar 2024 18:40:14 -0000 1.22 +++ wikisrc/security/cgdroot.mdwn 15 Jan 2025 19:24:58 -0000 1.23 @@ -83,11 +83,20 @@ It should really be possible to install NetBSD this way with [[!template id=man name="sysinst" section="8"]]. Unfortunately this is not supported yet. +Customized Boot and unlocking via pkgsrc tools +---------------------------------------------- + +It is relatively straight forward to [customize the memory root disk contents][3] +and set up a different process to unlock the cgd root via for example tools +form pkgsrc and a fido key. + References ---------- * [Full Disk Encryption with cgd (well, almost)][1] * [The cryptographic device driver (CGD)][2] +* [Creating a custom CGD ramdisk][3] [1]: https://mail-index.netbsd.org/current-users/2013/03/21/msg022311.html "Full Disk Encryption with cgd (well, almost)" [2]: http://www.netbsd.org/docs/guide/en/chap-cgd.html "The cryptographic device driver (CGD)" +[3]: ../custom_cgdroot Index: wikisrc/security/custom_cgdroot.mdwn =================================================================== RCS file: /cvsroot/wikisrc/security/custom_cgdroot.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/security/custom_cgdroot.mdwn 13 Dec 2024 13:13:57 -0000 1.1 +++ wikisrc/security/custom_cgdroot.mdwn 15 Jan 2025 19:24:58 -0000 1.2 @@ -4,6 +4,273 @@ via a USB stick to unlock a CGD root via a fido2 key and (Diff truncated)
Commit somehow uncommitted changes.
--- /dev/null 2025-04-05 15:35:06.350632364 +0000 +++ wikisrc/projects/project/project__47__efficient-package-distribution.mdwn 2025-04-05 15:35:07.048420575 +0000 @@ -0,0 +1,35 @@ +[[!template id=project + +title="Efficient Package Distribution" + +contact="[jkoshy](mailto:jkoshy@NetBSD.org)" + +mentors=""" +[Joseph Koshy](mailto:jkoshy@NetBSD.org) +""" + +category="userland" +difficulty="medium" +duration="350h" + +description=""" +Implement efficient binary package updates by patching prior releases instead of downloading large packages afresh - please see: [(jkoshy.net) Efficient Package Distribution](https://jkoshy.net/projects/efficient-package-distribution.html) + +Primary milestones: + +- Define the patching protocol between the package manager client (i.e., **pkgin**) and the Patch server. +- Implement the 'Patch Server', defaulting to current behavior when binary patches are missing. +- Add patch protocol support to the **pkgin** package management client. +- On the 'Patch Server', implement a pipeline to generate binary patches whenever new package releases are added to it. + +Nice to have: + +- Add file-format-specific (i.e., ELF-, JPEG-, PNG- specific) binary patch generation. +""" +]] + +[[!tag status:active]] +[[!tag gsoc]] +[[!tag gsoc350h]] + + --- /dev/null 2025-04-05 15:35:06.350632364 +0000 +++ wikisrc/projects/project/userspace-emulation-for-fun-and-profit.mdwn 2025-04-05 15:35:07.086708673 +0000 @@ -0,0 +1,39 @@ +[[!template id=project + +title="Userspace Emulation For Fun And Profit" + +contact=""" +[jkoshy@NetBSD.org](mailto:jkoshy@NetBSD.org) +""" + +mentors=""" +[Joseph Koshy](mailto:jkoshy@NetBSD.org) +""" + +category="userland" +difficulty="hard" +duration="3 months" + +description=""" +Execute non-native executables directly by passing them to an instruction set emulator at `execve()` time. + +For more information, please see: [NetBSD â (NetBSD â Toaster) / jkoshy.net](https://jkoshy.net/projects/netbsd-on-netbsd-on-a-toaster.html). + +This is not an easy project. It touches upon: + +- Linking and loading, +- Instruction set architectures, +- Binary emulation, +- POSIX compatibility, +- and others. + +It also has a small kernel component involving changes to the `execve()` path. + +Primary milestones: + +- (Proof of concept) Invoke **qemu** in its 'User-Mode Emulation' mode on a non-native binary. +""" +]] + +[[!tag gsoc]] + --- /dev/null 2025-04-05 15:35:06.350632364 +0000 +++ wikisrc/users/jun/2024.mdwn 2025-04-05 15:35:07.135397844 +0000 @@ -0,0 +1,126 @@ +# Past Events in 2024 + +## Open Source Conference 2024 Fukuoka NetBSD Booth +- Booth: 2024 Dec.7 Sat 10:00-16:00 JST (UTC+9) +- NetBSD BoF Dec.7 Sat 10:00-10:45 JST (UTC+9) +- Kyushu Sangyo University Bulding No.12, Fukuoka Japan [[https://www.kyusan-u.ac.jp/guide/summary/access.html]] +- [[https://event.ospn.jp/osc2024-fukuoka]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024ehime.pdf]] +- togetter [[https://togetter.com/li/2474850]] + +## Open Source Conference 2024 Ehime NetBSD Booth +- Booth: 2024 Nov.16 Sat 10:00-16:00 JST (UTC+9) +- NetBSD BoF: Nov.16 Sat 14:00-14:45 JST (UTC+9) +- Ehime University (Johoku Campus) KyouTsuKougiTou-C 1F/2F +- [[https://www.ehime-u.ac.jp/en/about/access/]] Seki-jyuji-Byouin-Mae/IYOTETSU +- [[https://event.ospn.jp/osc2024-ehime/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024ehime.pdf]] +- togetter [[https://togetter.com/li/2456931]] + +## Kansai Open Forum 2024 +- [[https://www.k-of.jp/]] +- ATC (Asia and Pacific Trade Center) +- Nankou-kita 2-1-10, Suminoe Area, Osaka Japan. +- Booth 2024 Nov.9 Sat.11:00-18:00 JST (UTC+9) +- BSD BoF 2024 Nov.9 Sat 16:00-16:50 JST [[https://www.k-of.jp/2024/session/bsd]] +- [[https://speakerdeck.com/tsutsui/kof2024]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/KOF2024.pdf]] +- togetter [[https://togetter.com/li/2456931]] + +## Open Source Conference 2024 Shimane NetBSD Booth +- Booth: 2024 Nov.2 Sat 10:00-16:00 JST (UTC+9) +- BoF: 2024 Nov.2 Sat 11:10-11:40 +- [[https://event.ospn.jp/osc2024-shimane/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024shimane.pdf]] +- togetter [[https://togetter.com/li/2456931]] + +## Open Source Conference 2024 Tokyo/Fall NetBSD Booth +- Booth: 2024 Oct.26 Sat 10:00-16:00 JST (UTC+9) +- Toritsu Sangyo Boueki Center Taito-kan [[https://www.sanbo.metro.tokyo.lg.jp/taito/access/]] Asakusa,Tokyo +- [[https://event.ospn.jp/osc2024-fall/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024tokyofall.pdf]] +- togetter [[https://togetter.com/li/2446541]] + +## Open Source Conference 2024 Online/Fall BSD BoF +- Booth: 2024 Oct.19 Sat 10:00-16:00 JST (UTC+9) +- Zoom/YoutubeLive: [[https://youtu.be/4OfjWRmDh2U]] FUZIX 0.5 on OpenBSD/Luna88k +- [[https://event.ospn.jp/osc2024-online-fall/]] +- BSD BoF [[https://event.ospn.jp/osc2024-online-fall/session/1722313]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024tokyofall.pdf]] +- togetter [[https://togetter.com/li/2446541]] + +## Open Source Conference 2024 Nagaoka NetBSD Booth&BoF +- 2024 Oct.12 Sun 10:30-17:00 JST (UTC+9) +- Nagaoka University of Technology https://www.nagaokaut.ac.jp/e/ +- https://ospn.connpass.com/event/325425/ +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024nagaoka.pdf]] +- togetter [[https://togetter.com/li/2446541]] + +## Open Source Conference 2024 Hiroshima NetBSD Booth&BoF +- 2024 Sep.29 Sun 10:00-18:00 JST (UTC+9) +- Satellite Campus Hiroshima https://www.pu-hiroshima.ac.jp/site/satellite/accessmap.html +- [[https://event.ospn.jp/osc2024-hiroshima/]] +- 11:00-11:45 [[https://event.ospn.jp/osc2024-hiroshima/session/1617639]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024hiroshima.pdf]] +- togetter [[https://togetter.com/li/2437595]] + +## Open Developers Conference 2024 NetBSD BoF +- 2024 Sep.7 Sat 12:00-12:45 JST (UTC+9) +- docomo R&D OPEN LAB ODAIBA ROOM C [[https://docomo-openlab.jp/about/#access]] +- [[https://event.ospn.jp/odc2024/session/1614141]] +- Youtube Video [[https://youtu.be/ssajW9_pSm8]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/ODC2024.pdf]] +- togetter [[https://togetter.com/li/2423438]] + +## Open Source Conference 2024 Kyoto NetBSD Booth & NetBSD BoF +- 2024 Jul.27 Sat 10:00-16:00 JST (UTC+9) +- 2024 Jul.27 Sat 10:00-10:45 JST (UTC+9) NetBSD BoF +- Kyoto Research Park [[https://www.krp.co.jp/access/map.html]] +- [[https://event.ospn.jp/osc2024-kyoto/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024kyoto.pdf]] +- togetter [[https://togetter.com/li/2403819]] +- OSC Booth and LUNA and NetBSD [[https://speakerdeck.com/tsutsui/osc2024kyoto]] + +## Open Source Conference 2024 Hokkaido NetBSD Booth and NetBSD BoF +- 2024 Jun.29 Sat 10:00-18:00 JST (UTC+9) +- 2024 Jun.29 Sat 12:00-12:45 JST (UTC+9) NetBSD BoF +- https://register.ospn.jp/osc2024-do/modules/eventrsv/1.html +- Sapporo Business Innovation Center [[https://www.sapporosansin.jp/access/]] +- with [[https://www.no.bug.gr.jp/]] +- [[https://event.ospn.jp/osc2024-do/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024hokkaido.pdf]] +- togetter [[https://togetter.com/li/2377329]] + +## Open Source Conference 2024 Nagoya NetBSD Booth & NBUG BoF +- 2024 May.25 Sun 10:00-16:00 JST (UTC+9) +- Nagoya Trade & Industry Center [[https://www.nipc.or.jp/fukiage/sub/visitor-access.html#around]] +- with [[http://nagoya.bug.gr.jp/]] +- [[https://event.ospn.jp/osc2024-nagoya/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024nagoya.pdf]] +- togetter [[https://togetter.com/li/2359557]] + +## Open Source Conference 2024 Tokyo/Spring NetBSD Booth +- Booth: 2024 Mar.10 Sun 10:00-16:00 JST (UTC+9) +- Toritsu Sangyo Boueki Center Taito-kan [[https://www.sanbo.metro.tokyo.lg.jp/taito/access/]] Asakusa,Tokyo +- [[https://event.ospn.jp/osc2024-spring/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024tokyospring.pdf]] +- togetter [[https://togetter.com/li/2314715]] + +## Open Source Conference 2024 Online/Spring NetBSD BoF +- Zoom/YoutubeLive BoF: 2024 Mar.2 Sat 14:00-14:45 JST (UTC+9) +- [[https://event.ospn.jp/osc2024-online-spring/]] +- Tour Guide [[https://cdn.netbsd.org/pub/NetBSD/misc/jun/OSC/OSC2024tokyospring.pdf]] +- togetter [[https://togetter.com/li/2314715]] +- Youtube [[https://youtu.be/qiQ_op6ro00]] + +## Open Source Conference 2024 Osaka NetBSD Booth&BoF +- Booth: 2024 Jan.27 Sat 10:00-16:00 JST (UTC+9) (Diff truncated)
Improve wording / fix spellos
This is both an UI and UX problem, point out that.
Fix a spell-o.
This is both an UI and UX problem, point out that.
Fix a spell-o.
Members: projects/project/pkgsrc-ui-message.mdwn:1.3->1.4 Index: wikisrc/projects/project/pkgsrc-ui-message.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/pkgsrc-ui-message.mdwn,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- wikisrc/projects/project/pkgsrc-ui-message.mdwn 1 Mar 2022 10:38:49 -0000 1.3 +++ wikisrc/projects/project/pkgsrc-ui-message.mdwn 15 Jan 2025 18:12:22 -0000 1.4 @@ -1,6 +1,6 @@ [[!template id=project -title="Improve UI of pkgsrc MESSAGE (175h)" +title="Improve UI/UX of pkgsrc MESSAGE (175h)" contact=""" [Leonardo Taccari](mailto:leot@NetBSD.org), @@ -12,7 +12,7 @@ duration="175h" description=""" -The current UI of pkgsrc MESSAGE as a couple of drawbacks: +The current UI/UX of pkgsrc MESSAGE has a couple of drawbacks: - When installing a lot of packages via `pkg_add` or `pkgin` it is often get lost
Add 2024
We have participated in GSoC 2024.
We have participated in GSoC 2024.
Members: projects/gsoc.mdwn:1.30->1.31 Index: wikisrc/projects/gsoc.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/gsoc.mdwn,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- wikisrc/projects/gsoc.mdwn 7 Feb 2024 19:59:28 -0000 1.30 +++ wikisrc/projects/gsoc.mdwn 15 Jan 2025 17:33:39 -0000 1.31 @@ -18,7 +18,8 @@ [2020](https://blog.netbsd.org/tnf/entry/google_summer_of_code_2020), 2021, 2022, -2023 +2023, +2024 ) This page contains a list of concrete suggestions for projects we would
Minor adjustments from comments received
Index: wikisrc/projects/project/deadlock-detector.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/deadlock-detector.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/deadlock-detector.mdwn 5 Jan 2025 02:11:40 -0000 1.1 +++ wikisrc/projects/project/deadlock-detector.mdwn 6 Jan 2025 04:38:18 -0000 1.2 @@ -53,6 +53,7 @@ detector for NetBSD as a kernel compile-time option. You are welcome to (should) crib from the OS/161 implementation, which is called "hangman" and can easily be found in the OS/161 code. +(See https://www.os161.org.) The primary difficulty lies in understanding and modifying NetBSD's locking primitives, which are considerably more complicated than OS/161's. @@ -76,9 +77,9 @@ Also note that the OS/161 deadlock detector uses a single global lock to protect itself, and you should do the same. -(While given enough CPUs it will eventually become a problem, and it -should be possible to switch to atomic ops in at least some places, -get it running first. +(Given enough CPUs scaling will still eventually become a problem. +It should be possible to switch to atomic ops in at least some places. +However, get it running first. Note that the performance overhead only has to beat LOCKDEBUG to look reasonable, and that's a very low bar.)
The referred URL seems to be gone.
--- wikisrc/users/mbalmer/blog.mdwn 2025-04-05 15:35:08.568725419 +0000 +++ /dev/null 2025-04-05 15:35:06.350632364 +0000 @@ -1,18 +0,0 @@ -This page is a mirror of my blog at www.vnode.ch. It pulls in articles from -blog's feed and publishes them here (with a feed, too). - -<!-- -[[!aggregate -name="Marc Balmer's Blog" -dir="blog" -url="http://www.vnode.ch/" -feedurl="http://www.vnode.ch/rss.xml" -tag="blog" -]] ---> - -[[!inline -pages="internal(./blog/*)" -description="Marc Balmer's Blog" -]] -
Add a deadlock detector project.
--- /dev/null 2025-04-05 15:35:06.350632364 +0000 +++ wikisrc/projects/project/deadlock-detector.mdwn 2025-04-05 15:35:08.922183586 +0000 @@ -0,0 +1,86 @@ +[[!template id=project + +title="Deadlock detector" + +contact=""" +[tech-kern](mailto:tech-kern@NetBSD.org) +[dholland](mailto:dholland@NetBSD.org) +""" + +category="kernel" +difficulty="medium" + +description=""" + +A deadlock occurs when a cycle appears in the waits-for graph. +That is, if you make a graph with an edge from every process to every +lock it's waiting for, and an edge from every lock to the process holding +it (so the lock is conceptually waiting for the process to release it) +that graph must remain acyclic. + +A deadlock detector monitors this graph at runtime and takes some kind +of remedial/recovery action if a cycle appears. + +Deadlock detectors are common in the database world, where they're +used to trigger transaction aborts to cope with sets of queries that +inherently need to acquire locks in conflicting order. + +We tend not to use deadlock detectors in kernels; instead we tend to +favor writing kernels with carefully structured locking hierarchies so +deadlocks don't occur. + +However, because it's easy to get those locking hierarchies wrong, a +deadlock detector can still be a useful diagnostic/debugging tool for +a kernel. +There's no need to get into transaction rollbacks or anything; one can +just print the lock cycle and panic. + +There's a perception that deadlock detectors are inherently +complicated and making one safely concurrent is hard. +This turns out not to be true. +For ordinary mutexes in a kernel, you only ever wait for one lock at a +time, and a lock is only ever held by one process at a time. +This makes the graph quite degenerate: not only are there no cycles, +but the graph doesn't even branch. +Checking for a deadlock just means, when acquiring a lock, searching +forward through a single chain of edges to see if you find yourself. + +dholland@ deployed such a deadlock detector in the OS/161 teaching OS +some years back and it was quite successful, and under 300 lines of +code. + +The first step of this project is to implement such a deadlock +detector for NetBSD as a kernel compile-time option. +You are welcome to (should) crib from the OS/161 implementation, which +is called "hangman" and can easily be found in the OS/161 code. +The primary difficulty lies in understanding and modifying NetBSD's +locking primitives, which are considerably more complicated than +OS/161's. +This much on its own will be quite useful. + +The second step is to then extend the deadlock detector to handle +reader/writer locks. +This makes things more complicated because multiple readers can hold +such a lock at once, which means that the graph can now branch at +reader-writer locks, which requires extending the per-lock data +structure and a more complex search to avoid repeating work. +However, neither of these points is especially difficult; again, +the primary difficulty is dealing with the low-level concurrent +innards of the system. + +Note that deadlocks involving condition variables are not handled and +not expected to be handled; that is a substantially harder problem, +beginning with identifying exactly what a process blocked on a +condition variable is actually waiting for. + +Also note that the OS/161 deadlock detector uses a single global lock +to protect itself, and you should do the same. + +(While given enough CPUs it will eventually become a problem, and it +should be possible to switch to atomic ops in at least some places, +get it running first. +Note that the performance overhead only has to beat LOCKDEBUG to look +reasonable, and that's a very low bar.) + +""" +]]
rust: mention X11 libraries, from pin@
Index: wikisrc/rust.mdwn =================================================================== RCS file: /cvsroot/wikisrc/rust.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/rust.mdwn 31 Dec 2024 17:28:57 -0000 1.1 +++ wikisrc/rust.mdwn 1 Jan 2025 11:26:00 -0000 1.2 @@ -18,3 +18,7 @@ [build] rustflags = ["-C", "link-arg=-Wl,-R/usr/pkg/lib"] +or if you need X11 libraries, even better + + [build] + rustflags = ["-C", "link-args=-Wl,-R/usr/pkg/lib,-R/usr/X11R7/lib"]
Welcome to 2025!
Index: wikisrc/templates/page.tmpl =================================================================== RCS file: /cvsroot/wikisrc/templates/page.tmpl,v retrieving revision 1.75 retrieving revision 1.76 diff -u -r1.75 -r1.76 --- wikisrc/templates/page.tmpl 2 Jan 2024 08:02:22 -0000 1.75 +++ wikisrc/templates/page.tmpl 1 Jan 2025 02:54:59 -0000 1.76 @@ -262,7 +262,7 @@ <span class="footcopy"><a href="//www.NetBSD.org/about/disclaimer.html"> Disclaimer</a> | <span class="copyright"> - Copyright © 1994-2024 The NetBSD Foundation, Inc. + Copyright © 1994-2025 The NetBSD Foundation, Inc. </span> ALL RIGHTS RESERVED. <br /> NetBSD<sup>®</sup> is a registered
Add a rust trick I learned about today.
--- /dev/null 2025-04-05 15:35:09.093989487 +0000 +++ wikisrc/rust.mdwn 2025-04-05 15:35:10.011567904 +0000 @@ -0,0 +1,20 @@ +# Tips for using Rust on NetBSD + +## Finding C libraries from pkgsrc (RPATH) + +Many rust programs use C libraries. The pkgsrc versions are usually +found and linked against, but in general, the RPATH is not set up +correctly and running the binaries will fail with errors like + + foo: Shared object "libintl.so.8" not found + +You can set the rpath at build time using + + # RUSTFLAGS="-C link-arg=-Wl,-R/usr/pkg/lib" cargo ... + +but it's easier to let cargo(1) know about the default rpath you want +to use by creating `~/.cargo/config.toml` with the following contents: + + [build] + rustflags = ["-C", "link-arg=-Wl,-R/usr/pkg/lib"] +
ports: We can count!
(Count was not incremented from 8 to 9 when aarch64 was added.)
(Count was not incremented from 8 to 9 when aarch64 was added.)
Members: ports.mdwn:1.33->1.34 Index: wikisrc/ports.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports.mdwn,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- wikisrc/ports.mdwn 18 Dec 2024 19:51:01 -0000 1.33 +++ wikisrc/ports.mdwn 21 Dec 2024 21:16:40 -0000 1.34 @@ -16,7 +16,7 @@ * Even within a port, common sense should be used (cf. the i386 port which still supports 486). * Regressions in the automated NetBSD test suite (/usr/tests) are not allowed. -Currently there are 8 ports with Tier I status. They are: +Currently there are 9 ports with Tier I status. They are: [[!table data=""" Port |CPU |Machines |Latest Release
Update for the 10.1 release
Index: wikisrc/ports.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports.mdwn,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- wikisrc/ports.mdwn 23 Jun 2024 22:41:14 -0000 1.32 +++ wikisrc/ports.mdwn 18 Dec 2024 19:51:01 -0000 1.33 @@ -20,15 +20,15 @@ [[!table data=""" Port |CPU |Machines |Latest Release -[[aarch64]] |aarch64 |64-bit ARM CPUs |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[amd64]] |x86_64 |64-bit x86-family machines with AMD and Intel CPUs |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[evbarm]] |arm |ARM evaluation boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[evbmips]] |mips |MIPS-based evaluation boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[evbppc]] |powerpc |PowerPC-based evaluation boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[hpcarm]] |arm |StrongARM based Windows CE PDA machines |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[i386]] |i386 |32-bit x86-family generic machines ("PC clones") |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sparc64]] |sparc |Sun UltraSPARC (64-bit) |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[xen]] |i386, x86_64 |Xen Virtual Machine Monitor |[10.0](http://www.NetBSD.org/releases/formal-10/) +[[aarch64]] |aarch64 |64-bit ARM CPUs |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[amd64]] |x86_64 |64-bit x86-family machines with AMD and Intel CPUs |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[evbarm]] |arm |ARM evaluation boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[evbmips]] |mips |MIPS-based evaluation boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[evbppc]] |powerpc |PowerPC-based evaluation boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[hpcarm]] |arm |StrongARM based Windows CE PDA machines |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[i386]] |i386 |32-bit x86-family generic machines ("PC clones") |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sparc64]] |sparc |Sun UltraSPARC (64-bit) |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[xen]] |i386, x86_64 |Xen Virtual Machine Monitor |[10.1](http://www.NetBSD.org/releases/formal-10/) """]] @@ -45,56 +45,56 @@ [[!table data=""" Port |CPU |Machines |Latest Release -[[acorn32]] |arm |Acorn RiscPC/A7000/NC and compatibles |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[algor]] |mips |Algorithmics MIPS evaluation boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[alpha]] |alpha |Digital Alpha (64-bit) |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[amiga]] |m68k |Commodore Amiga, MacroSystem DraCo |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[amigappc]] |powerpc |PowerPC-based Amiga boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[arc]] |mips |Machines following the Advanced RISC Computing spec |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[atari]] |m68k |Atari TT030, Falcon, Hades |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[bebox]] |powerpc |Be Inc's BeBox |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[cats]] |arm |Chalice Technology's Strong Arm evaluation board |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[cesfic]] |m68k |CES's FIC8234 VME processor board |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[cobalt]] |mips |Cobalt Networks' Microservers |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[dreamcast]] |[[sh3]] |Sega Dreamcast game console |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[epoc32]] |arm |32bit PSION EPOC PDA |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[emips]] |mips |Machines based on "Extensible MIPS" |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[evbsh3]] |[[sh3]] |Evaluation boards with Renesas (Hitachi) Super-H SH3 and SH4 CPUs |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[ews4800mips]] |mips |NEC's MIPS based EWS4800 workstations |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[hp300]] |m68k |Hewlett-Packard 9000/300 and 400 series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[hppa]] |hppa |Hewlett-Packard 9000/700 series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[hpcmips]] |mips |MIPS based Windows CE PDA machines |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[hpcsh]] |[[sh3]] |Renesas (Hitachi) SH3 and SH4 based Windows CE PDA machines |[10.0](http://www.NetBSD.org/releases/formal-10/) +[[acorn32]] |arm |Acorn RiscPC/A7000/NC and compatibles |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[algor]] |mips |Algorithmics MIPS evaluation boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[alpha]] |alpha |Digital Alpha (64-bit) |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[amiga]] |m68k |Commodore Amiga, MacroSystem DraCo |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[amigappc]] |powerpc |PowerPC-based Amiga boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[arc]] |mips |Machines following the Advanced RISC Computing spec |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[atari]] |m68k |Atari TT030, Falcon, Hades |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[bebox]] |powerpc |Be Inc's BeBox |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[cats]] |arm |Chalice Technology's Strong Arm evaluation board |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[cesfic]] |m68k |CES's FIC8234 VME processor board |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[cobalt]] |mips |Cobalt Networks' Microservers |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[dreamcast]] |[[sh3]] |Sega Dreamcast game console |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[epoc32]] |arm |32bit PSION EPOC PDA |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[emips]] |mips |Machines based on "Extensible MIPS" |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[evbsh3]] |[[sh3]] |Evaluation boards with Renesas (Hitachi) Super-H SH3 and SH4 CPUs |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[ews4800mips]] |mips |NEC's MIPS based EWS4800 workstations |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[hp300]] |m68k |Hewlett-Packard 9000/300 and 400 series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[hppa]] |hppa |Hewlett-Packard 9000/700 series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[hpcmips]] |mips |MIPS based Windows CE PDA machines |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[hpcsh]] |[[sh3]] |Renesas (Hitachi) SH3 and SH4 based Windows CE PDA machines |[10.1](http://www.NetBSD.org/releases/formal-10/) [[ia64]] |itanium |Itanium family of processors |none -[[ibmnws]] |powerpc |IBM Network Station Series 1000 |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[iyonix]] |arm |Iyonix ARM pc |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[landisk]] |[[sh3]] |SH4 based NAS appliances by I-O DATA |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[luna68k]] |m68k |OMRON Tateisi Electronics' LUNA series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[mac68k]] |m68k |Apple Macintosh |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[macppc]] |powerpc |Apple Power Macintosh and clones |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[mipsco]] |mips |Mips family of workstations and servers |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[mmeye]] |[[sh3]] |Brains' mmEye Multi Media Server |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[mvme68k]] |m68k |Motorola MVME 68k SBCs |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[mvmeppc]] |powerpc |Motorola MVME PowerPC SBCs |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[netwinder]] |arm |StrongARM based NetWinder machines |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[news68k]] |m68k |Sony's m68k based "NET WORK STATION" series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[newsmips]] |mips |Sony's MIPS based "NET WORK STATION" series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[next68k]] |m68k |NeXT 68k 'black' hardware |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[ofppc]] |powerpc |Generic OpenFirmware compliant PowerPC machines |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[pmax]] |mips |Digital MIPS-based DECstations and DECsystems |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[prep]] |powerpc |PReP (PowerPC Reference Platform) and CHRP machines |[10.0](http://www.NetBSD.org/releases/formal-10/) +[[ibmnws]] |powerpc |IBM Network Station Series 1000 |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[iyonix]] |arm |Iyonix ARM pc |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[landisk]] |[[sh3]] |SH4 based NAS appliances by I-O DATA |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[luna68k]] |m68k |OMRON Tateisi Electronics' LUNA series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[mac68k]] |m68k |Apple Macintosh |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[macppc]] |powerpc |Apple Power Macintosh and clones |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[mipsco]] |mips |Mips family of workstations and servers |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[mmeye]] |[[sh3]] |Brains' mmEye Multi Media Server |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[mvme68k]] |m68k |Motorola MVME 68k SBCs |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[mvmeppc]] |powerpc |Motorola MVME PowerPC SBCs |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[netwinder]] |arm |StrongARM based NetWinder machines |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[news68k]] |m68k |Sony's m68k based "NET WORK STATION" series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[newsmips]] |mips |Sony's MIPS based "NET WORK STATION" series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[next68k]] |m68k |NeXT 68k 'black' hardware |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[ofppc]] |powerpc |Generic OpenFirmware compliant PowerPC machines |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[pmax]] |mips |Digital MIPS-based DECstations and DECsystems |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[prep]] |powerpc |PReP (PowerPC Reference Platform) and CHRP machines |[10.1](http://www.NetBSD.org/releases/formal-10/) [[riscv]] |riscv |RISC-V |none -[[rs6000]] |powerpc |MCA-based IBM RS/6000 workstations |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sandpoint]] |powerpc |Motorola Sandpoint reference platform |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sbmips]] |mips |Broadcom SiByte evaluation boards |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sgimips]] |mips |Silicon Graphics' MIPS-based workstations |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[shark]] |arm |Digital DNARD ("shark") |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sparc]] |sparc |Sun SPARC (32-bit) |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sun2]] |m68k |Sun 2 |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[sun3]] |m68k |Sun 3 and 3x |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[vax]] |vax |Digital VAX |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[x68k]] |m68k |Sharp X680x0 series |[10.0](http://www.NetBSD.org/releases/formal-10/) -[[zaurus]] |arm |Sharp C7x0/C860/C1000/C3x00 series PDA |[10.0](http://www.NetBSD.org/releases/formal-10/) +[[rs6000]] |powerpc |MCA-based IBM RS/6000 workstations |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sandpoint]] |powerpc |Motorola Sandpoint reference platform |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sbmips]] |mips |Broadcom SiByte evaluation boards |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sgimips]] |mips |Silicon Graphics' MIPS-based workstations |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[shark]] |arm |Digital DNARD ("shark") |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sparc]] |sparc |Sun SPARC (32-bit) |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sun2]] |m68k |Sun 2 |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[sun3]] |m68k |Sun 3 and 3x |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[vax]] |vax |Digital VAX |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[x68k]] |m68k |Sharp X680x0 series |[10.1](http://www.NetBSD.org/releases/formal-10/) +[[zaurus]] |arm |Sharp C7x0/C860/C1000/C3x00 series PDA |[10.1](http://www.NetBSD.org/releases/formal-10/) """]] Index: wikisrc/releng.mdwn =================================================================== RCS file: /cvsroot/wikisrc/releng.mdwn,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- wikisrc/releng.mdwn 30 Mar 2024 19:26:59 -0000 1.53 +++ wikisrc/releng.mdwn 18 Dec 2024 19:51:02 -0000 1.54 @@ -12,21 +12,16 @@ ### NetBSD 10.x -* Next minor release: NetBSD 10.1 (no schedule) +* Next minor release: NetBSD 10.2 (no schedule) + CVS branch tag: <code>netbsd-10</code> * [Current pull-up queue for the netbsd-10 branch](http://releng.netbsd.org/cgi-bin/req-10.cgi) ### NetBSD 9.x -* Next minor release: NetBSD 9.4 (scheduled for mid Apil 2024) +* Next minor release: NetBSD 9.5 (no schedule) + CVS branch tag: <code>netbsd-9</code> * [Current pull-up queue for the netbsd-9 branch](http://releng.netbsd.org/cgi-bin/req-9.cgi) -### NetBSD 8.x - -* Next minor release: NetBSD 8.3 (scheduled for end of April 2024, which also is end of support for this branch) - + CVS branch tag: <code>netbsd-8</code> -* [Current pull-up queue for the netbsd-8 branch](http://releng.netbsd.org/cgi-bin/req-8.cgi) ## Automated Status Information Index: wikisrc/ports/aarch64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/aarch64.mdwn,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- wikisrc/ports/aarch64.mdwn 30 Mar 2024 19:27:00 -0000 1.17 +++ wikisrc/ports/aarch64.mdwn 18 Dec 2024 19:51:02 -0000 1.18 @@ -5,8 +5,8 @@ iso_image="true" future_rel="11.0" changes_future="11.0" -cur_rel="10.0" -changes_cur="10.0" +cur_rel="10.1" +changes_cur="10.1" pkg_rel="9.0" about=""" NetBSD/aarch64 is a port to Arm's 64-bit CPUs and other compatible Index: wikisrc/ports/algor.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/algor.mdwn,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- wikisrc/ports/algor.mdwn 30 Mar 2024 19:27:00 -0000 1.25 +++ wikisrc/ports/algor.mdwn 18 Dec 2024 19:51:02 -0000 1.26 @@ -1,9 +1,9 @@ [[!template id=port port="algor" (Diff truncated)
zig on aarch64
Index: wikisrc/languages.mdwn =================================================================== RCS file: /cvsroot/wikisrc/languages.mdwn,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- wikisrc/languages.mdwn 6 Apr 2022 17:18:23 -0000 1.9 +++ wikisrc/languages.mdwn 15 Dec 2024 21:39:09 -0000 1.10 @@ -19,7 +19,7 @@ Python | yes | yes | yes | yes | yes | yes | yes | yes | no Ruby | yes | yes | yes | yes | yes | yes | yes | yes | yes Rust | yes | yes | yes | yes | yes | yes | no | no | no -Zig | yes | no | no | no | no | no | no | no | no +Zig | yes | yes | no | no | no | no | no | no | no """]] Footnotes
add initial template for custom cgd root page
--- /dev/null 2025-04-05 15:35:13.455927227 +0000 +++ wikisrc/security/custom_cgdroot.mdwn 2025-04-05 15:35:13.578552612 +0000 @@ -0,0 +1,9 @@ +[[!meta title="Creating a custom CGD ramdisk"]] + +This page describes how to setup a special root disk loaded +via a USB stick to unlock a CGD root via a fido2 key and +a secret bound to that key via fidocrypt(1) from pkgsrc. + +The boot process +---------------- +
zfs: rototill known problems, add lockup caution
Index: wikisrc/zfs.mdwn =================================================================== RCS file: /cvsroot/wikisrc/zfs.mdwn,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- wikisrc/zfs.mdwn 21 Aug 2023 10:58:31 -0000 1.47 +++ wikisrc/zfs.mdwn 30 Nov 2024 15:33:25 -0000 1.48 @@ -16,23 +16,22 @@ This HOWTO errs on the side of saying things if they seem 90-95% true. Feel free to complain if you think something is wrong! -# Status of ZFS in NetBSD +As of 2024-11, multiple people report full-system lockups when using +zfs and pushing it hard. There are no reports of systems that are +pushed hard and stay up for months. -## NetBSD-8 +# Status of ZFS in NetBSD -NetBSD-8 has an old version of ZFS, and it is not recommended for use -at all. There is no evidence that anyone is interested in helping -with ZFS on 8. Those wishing to use ZFS on NetBSD 8 should therefore -update to NetBSD-9. This page therefore contains no useful status or -hints about 8. +NetBSD-8 and older are no longer supported, and hence not addressed. ## NetBSD-9 -NetBSD-9 has ZFS that is considered to work well. There have been -fixes since 9.0_RELEASE. As always, people running NetBSD-9 are -likely best served by the most recent version of the netbsd-9 stable -branch. This page assumes anyone using 9 is using 9.3 or netbsd-9 -after 9.3; issues fixed in earlier versions have been removed. +NetBSD-9 has ZFS that is considered to work well, except for lockups. +There have been fixes since 9.0_RELEASE. As always, people running +NetBSD-9 are likely best served by the most recent version of the +netbsd-9 stable branch. This page assumes anyone using 9 is using 9.3 +or netbsd-9 after 9.3; issues fixed in earlier versions have been +removed. Extended attributes are not supported. \todo Link to PR. @@ -63,8 +62,9 @@ In NetBSD-9, MAXPHYS is 64KB in most places, but because of xbd(4) it is set to 32KB for XEN kernels. Thus the standard zfs kernel modules do not work under xen. In NetBSD-10 and newer, xbd(4) supports 64 KB -MAXPHYS and this is no longer an issue. Xen and zfs on 10/current are -reported to work well together, as of 2021-02. +MAXPHYS and this is no longer an issue. Xen and zfs on 10 (and +post-10 current) work well (except for lockups, which happen without +Xen). ## Architectures @@ -75,35 +75,60 @@ sparc64. More or less, it is acceptable to commit enabling zfs on an -architecture when it is known to build and run reliably. (Of course, -anyone is welcome to build it and use it, and reports of success or -unexpected failure are welcome.) +architecture when it is known to build and run as reliably as it does +on amd64. (Of course, anyone is welcome to build it and use it, and +reports of success or unexpected failure are welcome.) ## Known Problems +See https://codeberg.org/gdt/netbsd-zfs/ for a patch to reduce ARC +usage and add debug output, scripts to monitor memory usage, and +scripts to stress zfs and memory. + +### Lockups + +zfs is prone to full-system lockups. They seem to be related to heavy +zfs activity, especially writing data or deleting files, while at the +same time there is memory pressure. It seems that the odds of a +lockup go up over time, suggesting a leak. Probably, the bug is in an +error or exception path. zfs works well, when it has not locked up. + +The /etc/daily script seems to provoke lockups. + +### Not enough sysctls + +Many things should be sysctls and aren't. + ### Excessive ARC usage The upstream code sets the max ARC size (and hence the initial target) to all but 1 GB. This results in consuming excessive amounts of memory on systems with less than about 8 GB, and systems of 4 GB and -lower have been observed to lock up. It seems likely that even -high-memory systems would have trouble if enough data were paged in. -Patches to change this behavior have been sent to `netbsd-users@`. +lower have been observed to lock up. It is far from clear that using +all spare RAM for ARC is the real cause. See the section "Memory Usage", below. -### Difficulty freeing metadata +### Difficulty freeing metadata, vnodes FreeBSD has a function `arc_dnlc_evicts_thread`. This has something to do with freeing objects not in ZFS that refer to metadata entries in the ARC, which keeps them from being evictable. A work item is to understand this and adapt it to NetBSD. -### Draining under memory pressure +In NetBSD, zfs vnodes have a 'dnode' associated with them. This +memory is from a pool, and is counted as being in the ARC, but it is +not actually a DVA/data tuple in the ARC. Reducing kern.maxvnodes seems to help keep this from causing problems. + +### Prefetching + +Prefetching is perhaps related to lockups. + +### Allocating memory in routines called under memory pressure -There should be a mechanism to shrink the ARC under memory pressure. -FreeBSD hooks in a drain procedure to do this. A work item is to -understand this and adapt it. +The NetBSD glue code allocates memory when asked to free memory. This +could be related to the lockup problem, but there is no clear evidence +so far. # Quick Start
root_on_zfs: Nix needs-update re boot.cfg fs command.
Apparently this text already uses the boot.cfg fs command, not sure
why I put the needs-update tag before.
Apparently this text already uses the boot.cfg fs command, not sure
why I put the needs-update tag before.
Members: root_on_zfs.mdwn:1.4->1.5 Index: wikisrc/root_on_zfs.mdwn =================================================================== RCS file: /cvsroot/wikisrc/root_on_zfs.mdwn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- wikisrc/root_on_zfs.mdwn 23 Mar 2024 18:40:14 -0000 1.4 +++ wikisrc/root_on_zfs.mdwn 27 Nov 2024 02:04:56 -0000 1.5 @@ -1,9 +1,5 @@ [[!meta title="Root On ZFS"]] -[[!template id=needs-update reason=""" -the `fs ramdisk-zfsroot.fs` in [[!template id=man name="boot.cfg" section="5"]] obviates the need for a custom kernel module with the ramdisk embedded -"""]] - NetBSD-9 gained much improved ZFS support. However, one feature it's still missing is the ability to have your system root on ZFS.
push
Index: wikisrc/ports/cats.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/cats.mdwn,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- wikisrc/ports/cats.mdwn 22 Oct 2024 21:24:02 -0000 1.25 +++ wikisrc/ports/cats.mdwn 26 Oct 2024 09:05:08 -0000 1.26 @@ -27,7 +27,7 @@ ###Running NetBSD/cats in GXemul -See the [[NetBSD/cats in GXemul|cats/gxemul_cats]] page for instructions on how to run NetBSD/cats in GXemul. +See the [[NetBSD/cats in GXemul|gxemul_cats]] page for instructions on how to run NetBSD/cats in GXemul. """ ]]
push
Index: wikisrc/sandbox.mdwn =================================================================== RCS file: /cvsroot/wikisrc/sandbox.mdwn,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- wikisrc/sandbox.mdwn 26 Oct 2024 08:52:37 -0000 1.27 +++ wikisrc/sandbox.mdwn 26 Oct 2024 08:54:36 -0000 1.28 @@ -44,13 +44,3 @@ fnord again -really foo bar baz - -See the [[NetBSD/cats in GXemul|cats/gxemul_cats]] page for instructions on how -to run NetBSD/cats in GXemul. - -See the [NetBSD/cats in GXemul](cats/gxemul_cats) page for instructions on how -to run NetBSD/cats in GXemul. - -See the [NetBSD/cats in GXemul][cats/gxemul_cats] page for instructions on how -to run NetBSD/cats in GXemul.
push
Index: wikisrc/sandbox.mdwn =================================================================== RCS file: /cvsroot/wikisrc/sandbox.mdwn,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- wikisrc/sandbox.mdwn 26 Oct 2024 08:32:28 -0000 1.26 +++ wikisrc/sandbox.mdwn 26 Oct 2024 08:52:37 -0000 1.27 @@ -45,7 +45,12 @@ fnord again really foo bar baz -See the [[NetBSD/cats in GXemul|/cats/gxemul_cats]] page for instructions on how + +See the [[NetBSD/cats in GXemul|cats/gxemul_cats]] page for instructions on how to run NetBSD/cats in GXemul. -See the [NetBSD/cats in GXemul](/cats/gxemul_cats) page for instructions on how + +See the [NetBSD/cats in GXemul](cats/gxemul_cats) page for instructions on how +to run NetBSD/cats in GXemul. + +See the [NetBSD/cats in GXemul][cats/gxemul_cats] page for instructions on how to run NetBSD/cats in GXemul.
push
Index: wikisrc/sandbox.mdwn =================================================================== RCS file: /cvsroot/wikisrc/sandbox.mdwn,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- wikisrc/sandbox.mdwn 26 Oct 2024 08:29:21 -0000 1.25 +++ wikisrc/sandbox.mdwn 26 Oct 2024 08:32:28 -0000 1.26 @@ -47,3 +47,5 @@ really foo bar baz See the [[NetBSD/cats in GXemul|/cats/gxemul_cats]] page for instructions on how to run NetBSD/cats in GXemul. +See the [NetBSD/cats in GXemul](/cats/gxemul_cats) page for instructions on how +to run NetBSD/cats in GXemul.
push
Index: wikisrc/sandbox.mdwn =================================================================== RCS file: /cvsroot/wikisrc/sandbox.mdwn,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- wikisrc/sandbox.mdwn 26 Oct 2024 08:20:49 -0000 1.24 +++ wikisrc/sandbox.mdwn 26 Oct 2024 08:29:21 -0000 1.25 @@ -45,3 +45,5 @@ fnord again really foo bar baz +See the [[NetBSD/cats in GXemul|/cats/gxemul_cats]] page for instructions on how +to run NetBSD/cats in GXemul.
push
Index: wikisrc/sandbox.mdwn =================================================================== RCS file: /cvsroot/wikisrc/sandbox.mdwn,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- wikisrc/sandbox.mdwn 29 Jul 2016 07:32:25 -0000 1.23 +++ wikisrc/sandbox.mdwn 26 Oct 2024 08:20:49 -0000 1.24 @@ -43,3 +43,5 @@ Remember Cyrix: <img src="http://www.netbsd.org/images/ports/i386/header.gif" /> fnord again + +really foo bar baz
Link to GXemul docs from cats page.
Index: wikisrc/ports/cats.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/cats.mdwn,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- wikisrc/ports/cats.mdwn 30 Mar 2024 19:27:00 -0000 1.24 +++ wikisrc/ports/cats.mdwn 22 Oct 2024 21:24:02 -0000 1.25 @@ -24,6 +24,11 @@ Additionally, GXemul is a machine emulator which also can run the NetBSD/cats port. + +###Running NetBSD/cats in GXemul + +See the [[NetBSD/cats in GXemul|cats/gxemul_cats]] page for instructions on how to run NetBSD/cats in GXemul. + """ ]] [[!tag tier2port]]
Markdown fix.
Index: wikisrc/ports/cats/gxemul_cats.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/cats/gxemul_cats.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/ports/cats/gxemul_cats.mdwn 22 Oct 2024 21:14:40 -0000 1.2 +++ wikisrc/ports/cats/gxemul_cats.mdwn 22 Oct 2024 21:18:21 -0000 1.3 @@ -15,6 +15,7 @@ $ gxemul -E cats -q -d c:NetBSD-10.0-cats.iso -d d:disk.img -j 'NETBSD.;1' Go through a standard NetBSD installation. At the end, when configuring the NetBSD, use the following settings: + * media type: autoselect * autoconfiguration: no * host name: up to you
Markdown fix
Index: wikisrc/ports/cats/gxemul_cats.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/cats/gxemul_cats.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/ports/cats/gxemul_cats.mdwn 22 Oct 2024 21:11:05 -0000 1.1 +++ wikisrc/ports/cats/gxemul_cats.mdwn 22 Oct 2024 21:14:40 -0000 1.2 @@ -23,6 +23,7 @@ * IPv4 netmask: 0xff000000 * IPv4 gateway: 10.0.0.254 * name server: 10.0.0.254 + After you set a root password, reboot and GXemul will exit. # Running your NetBSD/cats installation
Add notes on running NetBSD/cats in GXemul
--- /dev/null 2025-04-05 15:35:13.455927227 +0000 +++ wikisrc/ports/cats/gxemul_cats.mdwn 2025-04-05 15:35:18.027659530 +0000 @@ -0,0 +1,33 @@ +[[!meta title="NetBSD/cats in GXemul"]] + +As of October 2024, GXemul runs all versions of NetBSD/cats, including all releases and -current. Note that at the time of this writing, the latest GXemul release (0.7.0) has a bug that prevents builds compiled with GCC 10 (NetBSD 10.0 and later releases and -current after June 2021 and) from booting. To run such a release either install GXemul from pkgsrc or apply the patch linked below. + +# Requirements +* GXemul from pkgsrc (otherwise make sure it contains [this patch](https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/emulators/gxemul/patches/patch-src_cpus_cpu__arm__instr__dpi.c?rev=1.1;content-type=text%2Fplain) +* an installation .iso, e.g., [NetBSD-10.0-cats.iso](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/iso/NetBSD-10.0-cats.iso) and corresponding [kernel](https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/cats/binary/kernel/netbsd-GENERIC.gz) + +# Creating a disk image + + $ dd if=/dev/zero of=hdd.img bs=1M count=1 seek=1023 + +# Installing NetBSD/cats in GXemul + + $ gxemul -E cats -q -d c:NetBSD-10.0-cats.iso -d d:disk.img -j 'NETBSD.;1' + +Go through a standard NetBSD installation. At the end, when configuring the NetBSD, use the following settings: +* media type: autoselect +* autoconfiguration: no +* host name: up to you +* DNS domain: up to you +* IPv4 address: 10.0.0.1 +* IPv4 netmask: 0xff000000 +* IPv4 gateway: 10.0.0.254 +* name server: 10.0.0.254 +After you set a root password, reboot and GXemul will exit. + +# Running your NetBSD/cats installation +Unlike when booting from CD, GXemul cannot load the kernel from inside the disk image, that is why we downloaded that earlier. + + $ gxemul -E cats -d d:disk.img netbsd-GENERIC.gz + +Note that the default networking is somewhat rudimentary. You can establish TCP connections to the outside world and ping destinations there (GXemul has NAT built in) and you can ping 10.0.0.254 (the "gateway"), but you cannot establish TCP connections to 10.0.0.254. In order to connect to the host via ssh, you need to connect to a "real" IP address on the host (not necessarily a public one - just not 10.0.0.254 or anything in 127/8).
update my stuff
--- wikisrc/users/cjep.mdwn 2025-04-05 15:35:18.407492132 +0000 +++ /dev/null 2025-04-05 15:35:18.274872584 +0000 @@ -1,10 +0,0 @@ -# Wiki page for Chris Pinnock (cjep) - -## Things of potential interest - -* Draft [Using Git with the NetBSD Packages Collection](http://wiki.netbsd.org/users/cjep/git4pkgsrc/) -* [Getting Tezos to work on NetBSD](http://wiki.netbsd.org/users/cjep/tezos-on-netbsd/) (WIP) - -* [Transitioning from a.out to ELF on NetBSD](https://chrispinnock.com/2022/08/20/netbsdaout/) -* [NetBSD/i386 from 1.0 to present](https://chrispinnock.com/2022/09/30/netbsdhist/) -* [Forking NetBSD](https://chrispinnock.com/2022/10/07/forkingnetbsd/) --- wikisrc/users/cjep/tezos-on-netbsd.mdwn 2025-04-05 15:35:18.445288125 +0000 +++ /dev/null 2025-04-05 15:35:18.274872584 +0000 @@ -1,135 +0,0 @@ -# Tezos on NetBSD - -Some notes on getting Octez to compile on NetBSD. Work in progress. - -## Problems with possible solutions - -1. Opam package doesn't include solver properly. - -Three ways: - -- Add lib-ext to targets and run before all (which isn't working for me) -- Is there another way to include the solver at runtime? -- Builds natively - accept that we have to do this outside of pkgsrc - -2. Once Opam is installed, it cannot compile OCaml on arm64 platforms (and -probably others). Amd64 is fine. - -OCaml builds in pkgsrc. Submit our pkgsrc patches back to OCaml team? - -``` -# [...] -# In file included from /usr/include/ctype.h:100, -# from sak.c:29: -# sak.c: In function 'add_stdlib_prefix': -# sak.c:126:26: warning: array subscript has type 'char' [-Wchar-subscripts] -# 126 | *name = toupper_os(*name); -# | ^ -# sak.c:126:15: note: in expansion of macro 'toupper_os' -# 126 | *name = toupper_os(*name); -# | ^~~~~~~~~~ -# gcc -O2 -fno-strict-aliasing -fwrapv -pthread -Wall -Wdeclaration-after-statement -fno-common -fexcess-precision=standard -g -Wl,-E -o sak sak.o -# gmake[1]: Leaving directory '/disc/tezos/_opam/.opam-switch/build/ocaml-base-compiler.4.14.1/runtime' -# Makefile:988: *** The native-code compiler is not supported on this platform. Stop. -``` - -3. HACL Star library explicitly excludes NetBSD -Patch done. FreeBSD settings work. Sent to vdum. - -4. GMP fix - -Cannot find GMP where it expects. - -``` -zen: {343} setenv CFLAGS -I/usr/pkg/include -zen: {344} opam install conf-gmp --verbose -zen: {345} eval `opam env` -``` - -5. Zarith 1.12 - -Zarith hackery 1.13 works out of the box. We seem to require 1.12? - -``` -cd ../ -mkdir zarith-1.12 -ftp -a https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz -cd zarith-1.12/ -tar zxvf ../release-1.13.tar.gz -zen: {363} cd ../../tezos/ -zen: {364} pwd -/home/cjep/src/tezos -zen: {365} opam install ../zarith-1.12/Zarith-release-1.13 -``` - -mirage-crypto-rng - __FreeBSD__ definition line in sources - needs __NetBSD__ too! - Add -D__FreeBSD__ as a workaround - -pringo.1.3 - popcount function conflicts with native one - I worked around by renaming it - what is the best way normally? - -pyml - pyml_arch.ml.c checks for unix. We have __unix__ - Pull request submitted to pyml - https://github.com/thierry-martinez/pyml/pull/99 - -parsexp - SEG FAULT - -tezos-rust-libs.1.6 - -1. disc space error in /tmp. - /tmp needs at least 906M free - drwxrwxrwt 6 root wheel 384 Jan 27 15:32 tmp - -2. error[E0412]: cannot find type `QueryIter` in module `os` - --> /home/cjep/src/tezos/_opam/.opam-switch/build/tezos-rust-libs.1.6/vendor/region/src/qu -ery.rs:7:24 - | -7 | iterator: Option<os::QueryIter>, - | ^^^^^^^^^ not found in `os` - | -help: consider importing this struct - -Repeatedly wanting to install autoconf. Has to be a path issue - -## Process - -I will update this as I go. - -0. Make sure /tmp has at least 1G available otherwise tezos-rust-libs -cannot start to compile. On older machines /tmp is often in RAM to speed up. - -1. Install prerequisites -pkgin install gmake ocaml-opam jq git libev libhidapi autoconf - -2. Get Rust - -3. Get the Tezos sources - -setenv C_INCLUDE_PATH /usr/pkg/include:/usr/pkg/include/ev -setenv LIBRARY_PATH /usr/pkg/lib:/usr/pkg/lib/ev -#setenv CFLAGS "-I/usr/pkg/include -D__FreeBSD__ -fPIC" -setenv CFLAGS -I/usr/pkg/include - -4. init --bare -gmake build-deps - -Fix ups: -opam install ../fixed up -- hacl-star-raw needs the patch -- pringo function fix -- pyml -- mirage-crypto-rng -D__FreeBSD__ -- zarith (install 13 instead of 12) - -gmake build-deps - -- class_group_vdf ** Cannot find gmpxx.h library ** -- p -- tezos-rust-lib - - -
remove some TODO
Index: wikisrc/ports/evbarm/raspberry_pi.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/evbarm/raspberry_pi.mdwn,v retrieving revision 1.155 retrieving revision 1.156 diff -u -r1.155 -r1.156 --- wikisrc/ports/evbarm/raspberry_pi.mdwn 18 Feb 2024 18:32:33 -0000 1.155 +++ wikisrc/ports/evbarm/raspberry_pi.mdwn 10 Oct 2024 11:06:18 -0000 1.156 @@ -25,7 +25,7 @@ While NetBSD 8 is of historic interest only, we document what was working in 8. - RPI1, RPI2, RPI2-1.2, RPI3, RPI3+ (except RPI3 builtin WiFi and bluetooth) - - RPI0 and RPI0W are expected to work (without WiFi, and one needs fdt files \todo where from?) + - RPI0 and RPI0W are expected to work - multiple processors on RPI2/RPI3 - boots normally to multiuser, with FAT32 boot partition on uSD - root filesystem can be uSD or USB-attached mass storage @@ -50,7 +50,7 @@ ## NetBSD 10 - - RPI4 general support (but there are issues) + - RPI4 general support (UEFI firmware required) - RPI4 ethernet (Broadcom GENETv5) (but the man page for genet(4) is missing) - RPI3/RPI4 audio with aarch64 kernels (Previously the driver was only included with 32-bit (ARMv7/ARMv6) kernels, and now works [due to dma-ranges](//mail-index.NetBSD.org/source-changes-d/2021/01/22/msg013133.html). - builtin bluetooth on RPI3 (RPI0W? RPI4?) @@ -59,7 +59,7 @@ ## NetBSD current - - \todo Is anything supported in current that doesn't work in 10? +- RPI5 general support (UEFI firmware required) ## What needs documenting if it works
Fix link for wifi driver state matrix
Index: wikisrc/tutorials.mdwn =================================================================== RCS file: /cvsroot/wikisrc/tutorials.mdwn,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- wikisrc/tutorials.mdwn 23 Mar 2024 18:09:10 -0000 1.50 +++ wikisrc/tutorials.mdwn 8 Oct 2024 11:43:26 -0000 1.51 @@ -44,7 +44,7 @@ * [[Testing new wifi]] * [[Converting drivers to the new wifi stack]] * [[Converting USB drivers to usbwifi(9)]] -* (Current state of wifi drivers)[../wifi driver state matrix] +* [Current state of wifi drivers](../wifi_driver_state_matrix) ### Testing * [[atf]]
note stability
Index: wikisrc/ports/riscv.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/riscv.mdwn,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- wikisrc/ports/riscv.mdwn 29 Sep 2024 07:26:52 -0000 1.8 +++ wikisrc/ports/riscv.mdwn 29 Sep 2024 13:18:16 -0000 1.9 @@ -6,7 +6,8 @@ NetBSD/riscv is a nascent port of NetBSD to RISC-V. Interested individuals can subscribe to the port-riscv mailing list. -NetBSD/riscv64 now works under qemu. +RISC-V support is only available as part of NetBSD-CURRENT and has not +yet been published in a stable release. [[!toc levels=3]] """ @@ -32,6 +33,9 @@ * StarFive VisionFive 2 ### QEMU + +NetBSD/riscv64 now works under qemu. + See the [[NetBSD/riscv under QEMU|qemu_riscv]] page for instructions on how to get started with QEMU. """
some boards that boot
Index: wikisrc/ports/riscv.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/riscv.mdwn,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- wikisrc/ports/riscv.mdwn 30 Mar 2024 19:27:00 -0000 1.7 +++ wikisrc/ports/riscv.mdwn 29 Sep 2024 07:26:52 -0000 1.8 @@ -22,6 +22,15 @@ Most RISC-V boards require a board-specific U-Boot image. A list of supported boards will appear here. +#### Allwinner D1-based devices + +* MangoPi MQ Pro + +#### StarFive JH71XX-based devices + +* BeagleBoard BeagleV +* StarFive VisionFive 2 + ### QEMU See the [[NetBSD/riscv under QEMU|qemu_riscv]] page for instructions on how to get started with QEMU. """
xen-drmkms: Update for PVH heading for normal
Index: wikisrc/projects/project/xen-drmkms.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/xen-drmkms.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/projects/project/xen-drmkms.mdwn 11 Aug 2019 13:35:19 -0000 1.2 +++ wikisrc/projects/project/xen-drmkms.mdwn 20 Sep 2024 17:35:43 -0000 1.3 @@ -16,12 +16,16 @@ description=""" Abstract: -Make the dom0 kernel use and provide drm(4) support. This enable -gui use of dom0. +Make the dom0 kernel use and provide drm(4) support. +This will enable 3d acceleration within of dom0, making it more +reasonable to run a dom0 instead of GENERIC for a workstation that +also supports domUs. + Deliverables: -Functioning X server using native kernel style drmkms support. +Functioning X server using native kernel-style drmkms support. +This must function at least in a PVH style dom0 kernel. Implementation:
xen-domU-pv-on-hvm done
Index: wikisrc/projects/project/xen-domU-pv-on-hvm.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/xen-domU-pv-on-hvm.mdwn,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wikisrc/projects/project/xen-domU-pv-on-hvm.mdwn 19 Aug 2015 00:12:08 -0000 1.1 +++ wikisrc/projects/project/xen-domU-pv-on-hvm.mdwn 20 Sep 2024 17:24:06 -0000 1.2 @@ -9,6 +9,8 @@ mentors=""" """ +done_by="" + category="kernel" difficulty="hard" duration="48 hours"
xen-dom0-smp: Mark done
Index: wikisrc/projects/project/xen-dom0-smp.mdwn =================================================================== RCS file: /cvsroot/wikisrc/projects/project/xen-dom0-smp.mdwn,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- wikisrc/projects/project/xen-dom0-smp.mdwn 15 Feb 2018 00:40:11 -0000 1.2 +++ wikisrc/projects/project/xen-dom0-smp.mdwn 20 Sep 2024 17:21:38 -0000 1.3 @@ -9,6 +9,8 @@ mentors=""" """ +done_by="" + category="kernel" difficulty="medium" duration="64 hours"
xen: improve pvh dom0
Thanks to jnemeth@ and bouyer@ for on-list comments.
Thanks to jnemeth@ and bouyer@ for on-list comments.
Members: ports/xen/howto.mdwn:1.267->1.268 Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.267 retrieving revision 1.268 diff -u -r1.267 -r1.268 --- wikisrc/ports/xen/howto.mdwn 19 Sep 2024 23:32:28 -0000 1.267 +++ wikisrc/ports/xen/howto.mdwn 20 Sep 2024 17:07:43 -0000 1.268 @@ -71,9 +71,9 @@ [[!table data=""" Style of guest |dom0 can be? |dom0 can support? |domU can be? |needs Hardware Virtualization Support PV |yes |yes |yes |no -PVH |not yet |10/current |10/current |yes +PVH |10+(exp) |10+ |10+ |yes HVM |N/A |yes |yes |yes -PVHVM |N/A |yes |10/current |yes +PVHVM |N/A |yes |10+ |yes """]] In PV (paravirtualized) mode, the guest OS does not attempt to access @@ -176,9 +176,8 @@ NetBSD 8 and later as a dom0 supports running HVM domUs. -NetBSD 10 and later as a domU can be run in PVH and PVHVM modes. - -NetBSD up to and including NetBSD 9 as a dom0 cannot safely run SMP +NetBSD 10 and later as a domU can be run in PVH and PVHVM modes, and +s a dom0 can (experimentally) be run in PVH mode.etBSD up to and including NetBSD 9 as a dom0 cannot safely run SMP (due to inadequate locking). NetBSD 10 supports SMP in dom0, and XEN3_DOM0 includes "options MULTIPROCESSOR". @@ -286,23 +285,45 @@ First, get a PV dom0 working following the instructions above. -Then, create a copy of the boot line, adding `dom0=pvh` near -`dom0_mem`, and instead of loading a `XEN3_DOM0` kernel, load a -generic kernel with modifications: - - disable i915drmkms, radeon and nouveau (probably, not necessarily?) - - probably include [[!template id=programlisting text=""" +While GENERIC works as a PV guest, it does not have DOM0 support +(which is present in XEN3_DOM0, but that's reduced to be PV only). +Prepare a GENERIC kernel with the additions necessary to be a DOM0, +which consists of code to deal with DOM0 requests, and PV drivers for +the dom0 part of events, network interfaces, and disks. +[[!template id=programlisting text=""" options DOM0OPS pseudo-device xenevt pseudo-device xvif pseudo-device xbdback +# Likely only necessary if you have these devices and booting with them crashes. +no i915drmkms* at pci? +no radeon* at pci? +no nouveau* at pci? +no options DRM_LEGACY + no options DDB_COMMANDONENTER #options DDB_COMMANDONENTER="trace" """]] -\todo Explain whether the DOM0OPS and xen pseudodevices are necessary, -and if so why they aren't in GENERIC (or why there isn't a -XEN3_DOM0PVH). +As an alternative to disabling graphic devices in the kernel, add to /boot.cfg: +[[!template id=programlisting text=""" +userconf=disable i915drmkms* +userconf=disable nouveau* +userconf=disable radeon* +"""]] + +Then, create a copy of the boot line, adding `dom0=pvh` near +`dom0_mem`, and instead of loading a `XEN3_DOM0` kernel, load the +modified GENERIC. + +GENERIC with DOM0OPS and the extra dom0-side PV drivers should work +fine on bare metal and if not it's a bug -- but so far we have no +reports either way. In the glorious future, it will be normal to run +a dom0 as PVH (because it's faster), and to run a domU as PVH or PVHVM +(because it's faster), and thus: - DOM00PS and xenevt, xvif, and +xbdback will be in GENERIC - XEN3_DOM* kernels will be non-preferred +and perhaps not used much \todo Validate that these instructions are correct, and that they work.
xen howto: minor improvements
- add to netbsd dom0 pvh
- explain "ROOT." feature of fstab(5)
- add to netbsd dom0 pvh
- explain "ROOT." feature of fstab(5)
Members: ports/xen/howto.mdwn:1.266->1.267 Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.266 retrieving revision 1.267 diff -u -r1.266 -r1.267 --- wikisrc/ports/xen/howto.mdwn 14 Sep 2024 23:08:44 -0000 1.266 +++ wikisrc/ports/xen/howto.mdwn 19 Sep 2024 23:32:28 -0000 1.267 @@ -819,7 +819,14 @@ is to keep "type" lines near "kernel" lines, as they tend to require being changed aat the same time. +## Varying drivers in the domU +For a NetBSD domU using PV drivers (PV, PVH, PVHVM), the disks will +appear as xbdN. For one using emulated drivers (HVM), the disks will +appear as wdN. See fstab(5) which explains how to use "ROOT." instead +of xbd0/wd0. enabling switching modes without changing /etc/fstab. + +\todo Explain if there is a similar approach for network interfaces. ## Creating a NetBSD PV domU @@ -922,8 +929,10 @@ ## Creating a NetBSD PVH dom0 -\todo This might or might not work in current. -\todo The following instructions are likely wrong. +\todo Expand to say NetBSD 10 and later. + +\todo Include needing to add DOM0 OPS and the dom0-flavored +psuedodevices to GENERIC. In boot.cfg, add dom0=pvh (dom0=pv is the default). Configure GENERIC instead of XEN3_DOM0.
projects: rm two projects as completed
Per a discussion today on port-xen, remove two projects as no longer
having work to do. PVH on domU basically works, and works enough on
dom0 that a project would be "test it and fix problems", not
"implement it".
Per a discussion today on port-xen, remove two projects as no longer
having work to do. PVH on domU basically works, and works enough on
dom0 that a project would be "test it and fix problems", not
"implement it".
Members: projects/project/xen-dom0-pvh.mdwn:1.1->1.2(DEAD) projects/project/xen-domU-pvops-pvh.mdwn:1.1->1.2(DEAD) --- wikisrc/projects/project/xen-dom0-pvh.mdwn 2025-04-05 15:35:22.181019285 +0000 +++ /dev/null 2025-04-05 15:35:20.318409585 +0000 @@ -1,48 +0,0 @@ -[[!template id=project - -title="Dom0 hvm container support (PVH)" - -contact=""" -[port-xen](mailto:port-xen@NetBSD.org) -""" - -mentors=""" -""" - -category="kernel" -difficulty="hard" -duration="32 hours" - -description=""" -Abstract: - -NetBSD Dom0 kernels currently operate in fully PV mode. -On amd64, this has the same performance drawbacks as for PV -mode in domU. -Instead, PVH mode provides a HVM container over pagetable -management, while virtualising everything else. This mode is -available on dom0, we attempt to support it. - -Note: Xen/Linux is moving to this dom0 pvh support model. - -Deliverables: PVH mode dom0 operation. - -Implementation: - -This project depends on the domU pvops/pvh -project. The main work is in configuration and -testing related (bringing in native device drivers as -well as backend ones). - -The bootstrap path may need to be tweaked for dom0 -specific things. - -Dependencies: This project depends on completion of the domU -pvops/pvh project. -This project can enable the NetBSD/Xen/ARM dom0 port. - -See <http://wiki.xenproject.org/wiki/Xen_Project_Hypervisor_Roadmap/4.6> -""" - -]] - --- wikisrc/projects/project/xen-domU-pvops-pvh.mdwn 2025-04-05 15:35:22.222998216 +0000 +++ /dev/null 2025-04-05 15:35:20.318409585 +0000 @@ -1,46 +0,0 @@ -[[!template id=project - -title="pvops/pvh - Runtime Paravirtualised/Native Boot with PV drivers in an HVM container in PVH mode" - -contact=""" -[port-xen](mailto:port-xen@NetBSD.org) -""" - -mentors=""" -""" - -category="kernel" -difficulty="hard" -duration="48 hours" - -description=""" -Abstract: This is the final step towards PVH mode. This is relevant -only for DomU. -Xen is moving to this eventual dom0 pvh support model. -This project depends on completion of pv-on-hvm. - -Deliverables: - -* operational interrupt (event) handling -* PV only drivers. - -Implementation: - -Following on from the pv-on-hvm project, this project removes all -remaining dependencies on native drivers. All drivers are PV -only. Interrupt setup and handling is via the "event" mechanism. - -Scope (Timelines): - -This project has some uncertainty based on the change in the interrupt -mechanism. Since the interrupt mechanism moves from apic + IDT based, -to event based, there's room for debug/testing spillover. - -Further, private APIs may need to be developed to parition the pv and -native setup and management code for both mechanisms. - -See: <http://wiki.xenproject.org/wiki/Virtualization_Spectrum#Almost_fully_PV:_PVH_mode> -""" - -]] -
xen: add pvh dom0 caution harder
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.265 retrieving revision 1.266 diff -u -r1.265 -r1.266 --- wikisrc/ports/xen/howto.mdwn 14 Sep 2024 23:01:55 -0000 1.265 +++ wikisrc/ports/xen/howto.mdwn 14 Sep 2024 23:08:44 -0000 1.266 @@ -280,6 +280,9 @@ [caveats](https://xenbits.xen.org/docs/4.19-testing/SUPPORT.html#x86pvh), notably that SR-IOV is missing and PCI passthrough does not work. +Note that while Xen upstream calls it experimental, the NetBSD/xen +community seems to have one person who has gotten it to work and one +who is trying but so far not succeeded. This is a clue! First, get a PV dom0 working following the instructions above.
xen: refine pvh instructions based on bouyer@ email
Index: wikisrc/ports/xen/howto.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/xen/howto.mdwn,v retrieving revision 1.264 retrieving revision 1.265 diff -u -r1.264 -r1.265 --- wikisrc/ports/xen/howto.mdwn 14 Sep 2024 17:51:35 -0000 1.264 +++ wikisrc/ports/xen/howto.mdwn 14 Sep 2024 23:01:55 -0000 1.265 @@ -271,14 +271,35 @@ trouble at some point, and keeping an up-to-date GENERIC for use in fixing problems is the standard prudent approach. -### Setting up PVH +### Setting up the dom0 as PVH -A PVH dom0 is currently experimental. First, get a PV dom0 working -following the instructions above. +A PVH dom0 is currently experimental, as of Xen 4.18. For 4.19 and +later, not yet in pkgsrc, it is +[supported](https://xenbits.xen.org/docs/unstable/support-matrix.html +) with +[caveats](https://xenbits.xen.org/docs/4.19-testing/SUPPORT.html#x86pvh), +notably that SR-IOV is missing and PCI passthrough does not work. + + +First, get a PV dom0 working following the instructions above. Then, create a copy of the boot line, adding `dom0=pvh` near `dom0_mem`, and instead of loading a `XEN3_DOM0` kernel, load a -generic kernel. +generic kernel with modifications: + - disable i915drmkms, radeon and nouveau (probably, not necessarily?) + - probably include [[!template id=programlisting text=""" +options DOM0OPS +pseudo-device xenevt +pseudo-device xvif +pseudo-device xbdback + +no options DDB_COMMANDONENTER +#options DDB_COMMANDONENTER="trace" +"""]] + +\todo Explain whether the DOM0OPS and xen pseudodevices are necessary, +and if so why they aren't in GENERIC (or why there isn't a +XEN3_DOM0PVH). \todo Validate that these instructions are correct, and that they work.
amd64: adjust markup
Index: wikisrc/ports/amd64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amd64.mdwn,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- wikisrc/ports/amd64.mdwn 14 Sep 2024 22:35:21 -0000 1.39 +++ wikisrc/ports/amd64.mdwn 14 Sep 2024 22:48:08 -0000 1.40 @@ -31,9 +31,11 @@ multiprocessor (SMP) Opteron configurations. Since the <a class="ulink" href="http://www.NetBSD.org/releases/formal-2.0/NetBSD-2.0.html" target="_top">release of NetBSD 2.0</a>, it is a completely supported platform. +### Running NetBSD/amd64 on Cloud Services + Links to pages about running NetBSD on cloud services: - - https://www.netmeister.org/blog/netbsd-on-linode.html - - https://cloudbsd.xyz/main/ + * https://www.netmeister.org/blog/netbsd-on-linode.html + * https://cloudbsd.xyz/main/ See also the [xen HOWTO](../xen/howto.mdwn) which discusses several xen-based VPS providers.
amd64: Cope with confusing template
Index: wikisrc/ports/amd64.mdwn =================================================================== RCS file: /cvsroot/wikisrc/ports/amd64.mdwn,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- wikisrc/ports/amd64.mdwn 14 Sep 2024 22:31:54 -0000 1.38 +++ wikisrc/ports/amd64.mdwn 14 Sep 2024 22:35:21 -0000 1.39 @@ -30,7 +30,6 @@ The port is fully functional. It has been tested on single-CPU and multiprocessor (SMP) Opteron configurations. Since the <a class="ulink" href="http://www.NetBSD.org/releases/formal-2.0/NetBSD-2.0.html" target="_top">release of NetBSD 2.0</a>, it is a completely supported platform. -""" Links to pages about running NetBSD on cloud services: - https://www.netmeister.org/blog/netbsd-on-linode.html @@ -38,5 +37,6 @@ See also the [xen HOWTO](../xen/howto.mdwn) which discusses several xen-based VPS providers. +""" ]] [[!tag tier1port]]
Add a comment