NetBSD 11.0 är den nittonde stora versionen av det portabla Unix-systemet. Utgåvan introducerar stabilt stöd för 64-bitars RISC-V, förbättrad Linuxkompatibilitet, snabbare virtuella maskiner och ett stort antal nya drivrutiner.

NetBSD 11.0 är här. Den nittonde stora versionen av det klassiska Unix-liknande operativsystemet bjuder bland annat på stöd för 64-bitars RISC-V, bättre kompatibilitet med Linuxprogram, snabbare virtuella maskiner och ett stort antal nya drivrutiner.
NetBSD är framför allt känt för sin ovanligt breda hårdvarusupport. Projektets gamla slogan, ”Of course it runs NetBSD”, syftar på att systemet kan köras på allt från moderna servrar och persondatorer till äldre arbetsstationer och mer ovanliga processorarkitekturer.
Med NetBSD 11.0 fortsätter projektet på samma linje.
RISC-V blir en officiellt stödd plattform
Den största nyheten är den första stabila NetBSD-versionen för 64-bitars RISC-V-system.
RISC-V är en öppen processorarkitektur som på senare år har fått stor uppmärksamhet. Till skillnad från exempelvis x86 och Arm kan RISC-V användas utan att en tillverkare behöver licensiera själva instruktionsuppsättningen. Det gör arkitekturen intressant för allt från utbildning och forskning till servrar, inbyggda system och framtida persondatorer.
NetBSDs nya RISC-V-port kan inledningsvis köras i den virtuella maskinen QEMU samt på datorer baserade på StarFive JH7110-kretsen. Det omfattar bland annat enkortsdatorerna StarFive VisionFive 2 och PINE64 STAR64.
Systemet har stöd för exempelvis:
- PCI- och PCI Express-enheter
- VirtIO-baserade nätverkskort och lagringsenheter
- virtualiserat ljud
- hårdvarubaserade slumptalsgeneratorer
- temperatursensorer
- felsökning av kraschade kärnor
Det finns även ett mer grundläggande stöd för Allwinner D1, en enklare RISC-V-krets som används i bland annat MangoPi MQ Pro och Allwinner Nezha.
Stödet är ännu inte lika komplett som för NetBSDs mer etablerade plattformar, men markerar ändå ett viktigt steg för både NetBSD och RISC-V.
Snapdragon X Elite får tidigt stöd
Även Arm-plattformen har fått flera förbättringar.
NetBSD 11.0 innehåller ett första stöd för Qualcomms Snapdragon X Elite och företagets Oryon-processorkärnor. Snapdragon X Elite används framför allt i nyare bärbara Windowsdatorer och är en av de Arm-baserade plattformar som konkurrerar med traditionella x86-processorer från Intel och AMD.
Det nya stödet omfattar bland annat drivrutiner för batteri- och laddningsövervakning, GPIO-anslutningar och I2C-styrenheter.
Versionen innehåller också NUMA-stöd för Arm-system som använder ACPI. NUMA innebär förenklat att ett system kan hålla reda på vilket minne som ligger närmast en viss processorkärna. Det kan ge bättre prestanda i större datorer med många processorer eller processorkärnor.
Andra förbättringar omfattar stöd för Arms SCMI-protokoll för prestandastyrning, en ny USB-C PHY-drivrutin för Rockchip samt bättre stöd för NanoPi R4S.
Raspberry Pi 5 får också förbättrat stöd för kringutrustning när datorn startas genom UEFI.
Virtuella maskiner kan starta på millisekunder
NetBSD 11.0 innehåller en särskild kärna med namnet MICROVM för 32- och 64-bitars x86-system.
Den är utformad för små virtuella maskiner som ska kunna starta mycket snabbt. Kärnan använder bland annat PVH-start, VirtIO MMIO-enheter och flera optimeringar som minskar mängden arbete under uppstarten.
Enligt NetBSD-projektet kan en sådan virtuell maskin starta på omkring tio millisekunder på en x86-processor från ungefär 2020.
Det är intressant för bland annat molntjänster där små virtuella maskiner kan behöva startas och stoppas automatiskt beroende på belastningen. Ett möjligt användningsområde är så kallade mikrotjänster, där varje liten funktion körs i en separat och isolerad miljö.
NetBSD kan nu även startas med PVH utan att Xen används. Det fungerar exempelvis tillsammans med QEMUs -kernel-alternativ.
VirtIO-enheter kan dessutom beskrivas genom parametrar på kärnans kommandorad.
Nya drivrutiner för QEMU och VMware
En ny drivrutin med namnet viogpu ger stöd för virtuella grafikkort som tillhandahålls av QEMU.
Det betyder att NetBSD kan använda en mer modern virtualiserad grafiklösning i stället för att enbart förlita sig på enklare emulerade grafikkort.
Den nya pvscsi-drivrutinen ger samtidigt stöd för VMwares paravirtualiserade SCSI-styrenheter. Paravirtualisering innebär att gästsystemet vet att det körs i en virtuell maskin och kan kommunicera mer direkt med värdsystemet. Det ger ofta bättre prestanda än fullständig hårdvaruemulering.
Fler Linuxprogram kan köras utan ändringar
NetBSD har sedan länge ett kompatibilitetslager som gör det möjligt att köra program som ursprungligen har kompilerats för Linux.
NetBSD 11.0 utökar detta lager med ett stort antal Linux-kompatibla systemanrop och gränssnitt.
Bland nyheterna finns:
epollclone3statxinotifyrenameat2close_rangewaitidsyncfsreadahead- POSIX-meddelandeköer
sync_file_range
Ett systemanrop är den mekanism som ett program använder för att be operativsystemets kärna utföra en uppgift. Det kan exempelvis handla om att öppna en fil, skapa en process, använda nätverket eller läsa information om systemet.
När ett Linuxprogram använder ett systemanrop som saknas i NetBSDs kompatibilitetslager går programmet normalt inte att köra. Genom att införa fler Linux-kompatibla systemanrop kan NetBSD därför hantera fler Linuxprogram utan att programmens källkod behöver ändras.
Versionen får även stöd för memfd_create, som gör det möjligt att skapa en fil direkt i arbetsminnet utan att den behöver få ett vanligt filnamn på disken.
Det virtuella filsystemet procfs har samtidigt kompletterats med information om System V IPC samt Linux-liknande sökvägar för processgränser.
Anpassningar för C23 och nya POSIX
NetBSD 11.0 innehåller även förbättringar för nyare programmeringsstandarder.
Verktyget lint, som används för att analysera C-kod och hitta möjliga programmeringsfel, kan nu kontrollera kod skriven enligt C23-standarden. Det har även blivit bättre på att upptäcka heltalsöverskridningar.
En heltalsöverskridning uppstår när ett tal blir större eller mindre än vad den aktuella datatypen kan lagra. Resultatet kan bli felaktiga beräkningar, programkrascher eller i värsta fall säkerhetsproblem.
NetBSD får också ett nytt kommando med namnet c17. Det fungerar som ett standardiserat sätt att anropa en kompilator för ISO C17, vilket krävs av POSIX.1-2024.
Snabbare kärna och bättre stöd för flera processorer
Flera delar av operativsystemets kärna har optimerats.
Låsningen kring så kallade pipes har förbättrats. En pipe används när ett program skickar data direkt till ett annat program, exempelvis i följande kommandorad:
cat fil.txt | grep sökord
Minskad låskonkurrens innebär att flera processorer eller processorkärnor i mindre utsträckning behöver vänta på varandra.
DRM-systemet, som hanterar moderna grafikkort i kärnan, har också fått bättre skalning på datorer med flera processorkärnor.
VirtIO-drivrutinerna är nu markerade som multiprocessorsäkra. De kan därmed köras utan att hålla NetBSD-kärnans globala lås, vilket kan förbättra prestandan i virtuella maskiner.
Även ZFS har optimerats så att borttagning av filer går snabbare.
På SPARC-, PowerPC- och MIPS-processorer har byteväxling förbättrats. Byteväxling används när data behöver omvandlas mellan olika ordningsföljder för byte, exempelvis mellan little endian och big endian.
Snabbare reaktion på förlorade nätverkspaket
Den inledande väntetiden innan ett TCP-paket skickas om har sänkts från tre sekunder till en sekund.
TCP ser till att data kommer fram i rätt ordning och att förlorade paket skickas igen. Om ett paket försvinner väntar systemet en viss tid innan det försöker på nytt.
En kortare inledande väntetid kan göra att nätverksanslutningar återhämtar sig snabbare när de första paketen förloras. Ändringen är tillåten enligt internetstandarden RFC 6298.
Brandväggen kan filtrera på länklagret
NetBSD Packet Filter, NPF, kan nu filtrera trafik på lager 2 i nätverksmodellen.
Lager 2 omfattar bland annat Ethernet-ramar och MAC-adresser. Tidigare har brandväggar främst arbetat högre upp i nätverksstacken, exempelvis med IP-adresser och TCP- eller UDP-portar.
NPF-regler kan även göras beroende av användare och grupper. Det gör det möjligt att exempelvis tillåta nätverkstrafik för ett visst användarkonto men blockera samma trafik för andra användare.
Kärnan håller uppsikt över sig själv
NetBSD 11.0 introducerar också en mekanism som kallas kernel heartbeat.
Olika processorer och avbrottsnivåer kan använda mekanismen för att kontrollera att andra delar av kärnan fortfarande gör framsteg. Om någon del av systemet fastnar kan detta upptäckas snabbare.
Funktionen kan vara värdefull vid felsökning av svåra problem där datorn verkar frysa utan att skapa någon tydlig felrapport.
Stort antal nya drivrutiner
Hårdvarustödet har utökats med en omfattande samling nya och förbättrade drivrutiner.
Bland nyheterna finns stöd för:
- Realtek RTL8126-nätverkskort med 5 Gbit/s
- virtuella funktioner för NVIDIA Mellanox ConnectX-6
- ASIX AX88179A USB-nätverkskort
- USB Audio Class 2.0
- tangentbord som använder I2C HID
- nyare Androidtelefoner med USB-delning via NCM
- fler fläkt-, sensor-, serie- och lagringsstyrenheter
- fler styrenheter för industriell utrustning
USB Audio Class 2.0 är särskilt relevant för modernare externa ljudkort och DAC-enheter som arbetar med högre samplingsfrekvenser och fler ljudkanaler än vad den äldre USB-ljudstandarden klarar.
Bättre övervakning av AMD-processorer
NetBSD kan nu läsa temperaturinformation från fler moderna AMD-processorer.
Det omfattar bland annat:
- Siena
- Turin Classic
- Turin Dense
- Strix Point
- Zen 5
Verktyget cpuctl känner nu även igen Intels Meteor Lake- och Emerald Rapids-processorer.
Dessutom finns stöd för nyare varianter av Intels TCO-watchdog. En watchdog är en säkerhetsmekanism som kan starta om en dator om operativsystemet slutar fungera och inte längre skickar regelbundna livstecken.
Uppdaterade program i grundsystemet
NetBSD levereras som ett komplett grundsystem där både kärnan och ett stort antal centrala verktyg utvecklas och distribueras tillsammans.
I NetBSD 11.0 har många externa komponenter uppdaterats. Några exempel är:
- GCC 12.5
- GDB 15.1
- Binutils 2.42
- OpenSSL 3.5.7
- OpenSSH 10.3
- Postfix 3.11.2
- X.Org Server 21.1.24
- tmux 3.6b
- Unbound 1.25.1
- BIND 9.20.24
- wpa_supplicant 2.11
Viktiga förändringar inför uppgradering
Den som uppgraderar från en tidigare NetBSD-version bör vara uppmärksam på några förändringar.
Kompatibilitetsbiblioteken för 32- och 64-bitarsprogram har flyttats till separata installationsuppsättningar med namnen:
base32base64debug32debug64
HTML-versionerna av manualsidorna ligger numera i den separata uppsättningen manhtml.
OpenSSH har dessutom tagit bort stödet för DSA-nycklar. DSA är en äldre typ av SSH-nyckel som inte längre betraktas som tillräckligt säker.
System som har en specialanpassad SSH-konfiguration där DSA uttryckligen har aktiverats kan behöva ändras innan SSH-servern kan startas.
På aarch64-system anges processorfrekvensen numera i megahertz i stället för i abstrakta prestandanivåer.
Drivrutinen hdaudio har också fått ändrade namn och en annan ordning på vissa ljudmixerreglage. Det kan påverka skript och lokala inställningar som hänvisar till reglagen med deras gamla namn.
Ett brett lyft för ett ovanligt portabelt system
NetBSD 11.0 är inte en utgåva som enbart fokuserar på en viss datorplattform eller användargrupp.
Versionen förbättrar stödet för allt från moderna Arm- och RISC-V-system till äldre processorarkitekturer, virtuella servrar, nätverksutrustning och traditionella x86-datorer.
RISC-V-stödet är den mest synliga nyheten, men de utökade Linux-kompatibilitetsfunktionerna kan på sikt bli minst lika betydelsefulla. De gör det lättare att använda program som främst har utvecklats och testats för Linux.
Tillsammans med snabbare virtualisering, fler drivrutiner och förbättrad multiprocessorprestanda visar NetBSD 11.0 att projektet fortfarande utvecklas aktivt – samtidigt som det håller fast vid sitt ursprungliga mål: att skapa ett rent, stabilt och portabelt Unix-system som kan köras på så många typer av datorer som möjligt.
https://blog.netbsd.org/tnf/entry/netbsd_11_0_released
Ladda hem Netbsd
Version: NetBSD 11.0
Utgåva: Nittonde stora NetBSD-versionen
Systemtyp: Unix-liknande operativsystem
Ny processorplattform: 64-bitars RISC-V
RISC-V-enheter: QEMU, StarFive VisionFive 2 och PINE64 STAR64
Arm-stöd: Inledande stöd för Qualcomm Snapdragon X Elite och Oryon
Virtualisering: Ny MICROVM-kärna för amd64 och i386
Uppstartstid: Omkring 10 millisekunder för MICROVM på lämplig x86-hårdvara
Linuxkompatibilitet: Bland annat epoll, clone3, statx, inotify och memfd_create
Programmeringsstandarder: Förbättrat stöd för C23 och POSIX.1-2024
Brandvägg: NPF med lager 2-filtrering och regler för användare och grupper
Nätverk: TCP:s första omsändningstid sänkt från tre till en sekund
Kompilator: GCC 12.5
Kryptering: OpenSSL 3.5.7
SSH: OpenSSH 10.3
Licens: BSD-licens

