hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
 
[20260308] Testdriving NetBSD-11.0RC2 on ARM hardware (in VM!)
After some (mostly ongoing) absence from NetBSD, and with NetBSD 11.0RC2 recently announced, I wanted to give it a try. I have moved to a ARM-based Apple machine, and thus x86 / amd64 was not the way to go. Instead, I wanted to see how NetBSD works on ARM these days. Here's how I got it going!

1st try: VirtualBox

NetBSD does not come with a VirtualBox image in 2026, so my workaround was to convert the provided .img file and convert it to a disk image file in VDI format.

Download:
https://cdn.netbsd.org/pub/NetBSD/NetBSD-11.0_RC2/evbarm-aarch64/binary/gzimg/arm64.img.gz

Convert img to VDI:

qemu-img convert -f raw -O vdi arm64.img arm64.vdi

Setup VirtualBox VM with .vdi file as existing harddisk.

Result: VirtualBox (not the VM!) crashed. Oh well.

2nd try: QEMU

After VirtualBox didn't work, I wanted to see if qemu (running on MacOS) works. Spoiler: it does, and here are the steps to get things going:

First, grab the kernel:
https://cdn.netbsd.org/pub/NetBSD/NetBSD-11.0_RC2/evbarm-aarch64/binary/kernel/netbsd-GENERIC64.img.gz
...and gunzip. Make sure kernel and userland versions match!

Run in QEMU:

qemu-system-aarch64 -M virt,accel=hvf -cpu host -smp 4 \
	-m 4g -drive if=none,format=raw,file=arm64.img,id=hd0 \
	-device virtio-blk-device,drive=hd0 -netdev user,id=net0 \
	-device virtio-net-device,netdev=net0 -kernel netbsd-GENERIC64.img \
	-append root=dk1 -nographic

How to leave QEMU: Ctrl-A X

Troubleshooting: Make sure kernel and userland match - else random segfaults will happen.

Userland setup

Quite a few settings are already OK (sshd, dhcpcd, ntp), which is not the default I remember from a few years ago, but that's nice and convenient. I still wanted to see what config settings are new, and here are my additions to /etc/rc.conf:

hostname="qnetbsd"
rndctl=yes
certctl_init=yes
ip6mode=autohost
ntpdate=NO

On first login you will see an unsafe keys warning:

-- UNSAFE KEYS WARNING:

        The ssh host keys on this machine have been generated with
        not enough entropy configured, so they may be predictable.

        To fix, follow the "Adding entropy" section in the entropy(7)
        man page.  After this machine has enough entropy, re-generate
        the ssh host keys by running:

                /etc/rc.d/sshd keyregen

Fix by feeding entropy, then reboot:

echo lkajsdflkjasdflkjasdlkfjoiasjdfiojasdkf >/dev/random
shutdown -r now

Note: Use shutdown(8), not reboot(8) or poweroff(8) - only shutdown runs the hooks that save entropy.

After reboot, regenerate SSH keys:

/etc/rc.d/sshd keyregen

Success

neuland% qemu-system-aarch64 -M virt,accel=hvf -cpu host -smp 4 -m 4g \
  -drive if=none,format=raw,file=arm64.img,id=hd0 \
  -device virtio-blk-device,drive=hd0 \
  -netdev user,id=net0 -device virtio-net-device,netdev=net0 \
  -kernel netbsd-GENERIC64.img -append root=dk1 -nographic
[   1.0000000] NetBSD/evbarm (fdt) booting ...
[   1.0000000] NetBSD 11.0_RC2 (GENERIC64) #0: Wed Mar  4 21:02:00 UTC 2026
...
NetBSD/evbarm (qnetbsd) (constty)

login: root
NetBSD 11.0_RC2 (GENERIC64) #0: Wed Mar  4 21:02:00 UTC 2026
Welcome to NetBSD!

qnetbsd# uname -a
NetBSD qnetbsd 11.0_RC2 NetBSD 11.0_RC2 (GENERIC64) #0: Wed Mar  4 21:02:00 UTC 2026  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/evbarm/compile/GENERIC64 evbarm

Summary

Not providing a working VirtualBox image in 2026 is painful for new users. As Kali Linux works fine in VirtualBox on the same hardware, I'd say there is some way to go, NetBSD!

The manual setup works, but needs some tweaks beyond the expected (/etc/rc.conf), exp. manual entropy setup was surprising as network and disk were working ok. I did expect those to be used as sources of randomness before the first SSH keys are generated.

We'll see where things go from there. For now I can (at least for QEMU on my Mac) say: Of course it runs NetBSD! :-)



[Tags: , , , ]


[20150702] New binary releases for NetBSD on Raspberry Pi, including 7.0 RC1
NetBSD runs on many machnes, and the Raspberry Pi is one of them. Getting the stock distribution is not that easy, and to help in getting things going, Jun Ebihara is providing ready-made images for quite some time.

There are images available that are based on the latest development snapshot, NetBSD-curent, and with the NetBSD 7.0 release around the corner, there is also an image based on NetBSD 7.0 Release Candidat 1.

See the NetBSD wiki for many more details, and if you use your RPI for any cool hacks, be sure to let us know!

[Tags: , , , ]


[20140312] NetBSD/arm news: netwalker, SMP, DTrace
In the past few weeks, several news items regarding NetBSD's port to ARM platforms came up:
  1. The port to the NETWALKER (Cortex-A8) platform works as confirmed by Jun Ebihara, including instructions on how to set things up and dmesg output.

  2. Ryota Ozaki is working on porting DTrace to ARM

  3. Matt Thomas is making the ARM port ready to use multiple CPUs, see his posting, which shows a list of processes and their associated CPU.

    [Tags: , , , , ]


[20131209] Use of NetBSD with Marvell Kirkwood Processors and AK-Systems' IP-Plugs
There's an article by Vladimir Trubilov over at Evertiq that explains what NetBSD is and how little effort is needed to get it going on a new ARM platform, with a AK-System IP-Plug mini-server as an example (Wikipedia link; the AK-System website is only in Russian-language!).

The article outlines the history of the various BSDs and tells about NetBSD's source organization and build process. It then introduces the target hardware and how NetBSD abstracts the various busses and drivers that are already there, and the few bits that needed adjusting.

``Conclusion: High portability, sufficient ease of use, as well as the necessary software packet and an open source code packets and open source make NetBSD a very attractive operating system for use in embedded systems. As seen in the example, it takes quite superficial knowledge of the system architecture and minimum change in the code to run NetBSD on the IP-Plug. At the same time, the functionality and performance of the built operating system is not inferior to that of Linux, which is used by default.''

[Tags: , , , , ]


[20131008] Embedded NetBSD on iMX233/OLinuXino
Petri Laakso has worked to get NetBSD going on the iMX233/OLinuXino ARM board, specifically the MAXI and MICRO boards. The port is stable enough to run multiuser and build software from pkgsrc. Supported hardware include SD card, GPIO, USB host, and a boot loader.

The hardware is ways below 50 EUR, so this is a good start to get a nice and easy machine. More information on how to get things running are available in Petri's blog.

Last, the impatient souls that can't wait to start playing can find the code in NetBSD-current already, thanks to Matt Thomas.

[Tags: , , , ]


[20130723] NetBSD on BeagleBone Black HOW-TO
NetBSD runs on a number of ARM platforms, and the BeagleBone Black is one of many such platforms. It comes with Linux by default, and as such there are a few adventures to make if you want NetBSD on it.

John Klos was brave, and has collected his experiences in a "NetBSD on BeagleBone Black HOW-TO". Please note that there's an important update that's needed to not nuke your MBR.

So, anyone got some cool toys they make with a BeagleBone Black and NetBSD? Let me know!

[Tags: , , ]


[20130114] Update of NetBSD on the Raspberry Pi
Time has passed since the last status update of NetBSD on the Raspberry Pi, and things have evolved: Recent news include drivers for USB with its many possible devices and display, allowing X to be ran - check out the screenshots provided by Jun Ebihara!

There is also this posting on the port-arm mailinglist that gives details on an updates kernel image, Xorg.conf file to get X going and more news hidden in that thread. Anyone up for compiling a comprehensive NetBSD/RaspberryPi webpage, maybe on the NetBSD Wiki?

[Tags: , , ]


[20120714] NetBSD on the Raspberry Pi
The Raspberry Pi is a pretty recent, cheap ARM-based board, or as the webpage says: ``An ARM GNU/Linux box for $25''. Shipping with today's Windows-for-embedde-boards operating system (AKA Linux), there's also a port of NetBSD on its way. Nick Hudson is at it, and he has posted first dmesg output now, showing the machine going to multiuser mode.

The code's not integrated into mainline NetBSD-current yet, but rest assured that that will happen when the code is ripe. Good work, Nick!

[Tags: , , ]


[20120212] NetBSD on the FriendlyARM Mini2440
Paul Fleischer has ported NetBSD to the FrienldyARM Mini2440 board. He writes on NetBSD's current-users mailing list: ``The FriendlyARM Mini2440 is an evaluation board based on the Samsung S3C2440 ARM SoC. It comes with a DM9000 Ethernet chip and an UDA1341 audio DAC, on-board NAND and NOR flash, a SD-card slot, and optionally a 3.5" or 7" touch display.'' See the link for dmesg-pr0n.

Detailled setup instructions are available on the port-arm mailing list and Paul's homepage. Paul is also looking for feedback on the port, so if you have a Mini2440 board, give it a spin and report back to Paul!

[Tags: , , , , ]


[20100528] NetBSD ketchup - news from my mailbox
Here's another bunch of NetBSD-related news that has been lingering in my inbox for far too long:
  • Izumi Tsutsui's NetBSD/cobalt restore CD is available based on NetBSD versions 5.0.2 5.1_RC2. See the for information on what it is and how to use it.

  • A negative symbol lookup cache was added to NetBSD's loader for shared libraries and shared objects, ld.so_elf, by Roy Marples: ``I've been researching why Evolution from GNOME takes over 5 minutes to load on my quad core amd64 beast. It boils down to dlsym looking for a symbol that does not exist directly and as such examining every needed library. However, the current implementation does not remember what libraries it as already checked. Normally this isn't a problem, but with the way Evolution is built the search chain is massive. [...]

    With this patch, Evolution (without the patches to and a glib I added to pkgsrc a few days ago) loads in under 2 seconds (5 seconds with initial disk thrashing). ''

  • The NetBSD Logo is available in many variants, but a new variant was submitted via www@ these days by "Tim" - which is actually plain HTML, no image:

    NetBSD Powered!

  • SafeNet's ProtectDrive is ``a full disk encryption solution that encrypts the entire hard drive of laptops, workstations and servers, as well as USB flash drives, to protect data in the case of the theft or loss of a hardware device.''

    How do you implement such preboot authentication and harddisk encryption software, esp. if you want to provide thinks like LDAP integration for the user/key handling and two-factor authentication? Little is known, but rumors say the 32bit version of the software is based on NetBSD, as is backed by this worker bio info: ``Duties: Working on pre-boot restricted environment with loads before operation system and implemented on NetBSD. Ported and optimized the KDrive X server to NetBSD. Developed and implemented user secure authentication interface with smart card support.

    Environment and tools : NetBSD (3.0), C/C++, FLTK''

  • A german-language introduction of pkgsrc on OpenSolaris was given by Michael 'kvedulv' Moll at the Munich OpenSolaris User Group back in march. Slides and a video are available.

  • Running NetBSD on an Oracle Sun Fire X4140 Server? Check out this posting by Ignatios Souvatzis for the full dmesg pr0n of this machine with 12 CPU cores and 32GB RAM!

  • Are you still looking for a nice small ARM-based board to start hacking on NetBSD/arm? The http://www.friendlyarm.net/products/mini2440 may be a good start, esp. after Paul Fleischer is reaching completion of NetBSD support for the board. Citing from his mail to port-arm:

    ``I have now fairly good (i.e., it works for me) support for the MINI2440 on NetBSD with support for the following:
    - S3C2440 UART
    - DM9000 (MAC+PHY)
    - S3C2440 SD Controller
    - S3C2440 DMA Controller
    - S3C2440 IIS Controller
    - FriendlyArm 3,5" LCD Display
    - S3C2440 USB Host Controller (OHCI)
    - S3C2440 Touch Screen
    - UDA1341TS audio codec

    Currently, support for three things on the S3C2440 are missing:
    - S3C2440 NAND Controller
    - S3C2440 USB Device Controller
    - S3C2440 RTC

    I've also created a stage2 bootloader for use with u-boot, which ensures that the value of bootargs is passed to the NetBSD kernel. At this point I have only tested the code with the 64Mb version of the FriendlyArm MINI2440.

    All the code is available in a Git repository[1] and is based on the netbsd-5 code base. Progress can be followed on my webpage[2]. ''

  • While talking about NetBSD on cool hardware: How about NetBSD/hpcarm on WILLCOM | W-ZERO3 (WS004SH) mobile devices? Here is a screenshot of Ebihara-san's WS011SH with CCW screen, and there is also a video "booting NetBSD/hpcarm on WILLCOM | W-ZERO3(WS004SH)" posted on YouTube:

    For more details, see Izumi Tsutsui's posting on port-hpcarm.



[Tags: , , , , , , , , , , , , , , , , , , ]


Previous 10 entries

Tags: , 2bsd, 34c3, 3com, 501c3, 64bit, aarch64, acl, acls, acm, acorn, acpi, acpitz, adobe, adsense, Advocacy, advocacy, advogato, aes, afs, aiglx, aio, airport, alereon, alex, alix, alpha, altq, am64t, amazon, amd, amd64, anatomy, ansible, apache, apm, apple, arkeia, arla, arm, art, Article, Articles, ascii, asiabsdcon, aslr, asterisk, asus, atf, ath, atheros, atmel, audio, audiocodes, autoconf, avocent, avr32, aws, axigen, azure, backup, balloon, banners, basename, bash, bc, beaglebone, benchmark, bigip, binaryexploit, bind, blackmouse, bldgblog, blog, blogs, blosxom, bluetooth, board, bonjour, books, boot, boot-z, bootprops, bozohttpd, bs2000, bsd, bsdca, bsdcan, bsdcertification, bsdcg, bsdforen, bsdfreak, bsdmac, bsdmagazine, bsdnexus, bsdnow, bsdstats, bsdtalk, bsdtracker, bug, build.sh, busybox, buttons, bzip, c-jump, c99, cafepress, calendar, callweaver, camera, can, candy, capabilities, card, carp, cars, cauldron, ccc, ccd, cd, cddl, cdrom, cdrtools, cebit, centrino, cephes, cert, certification, cfs, cgd, cgf, checkpointing, china, christos, cisco, cloud, clt, cobalt, coccinelle, codian, colossus, common-criteria, community, compat, compiz, compsci, concept04, config, console, contest, copyright, core, cortina, coverity, cpu, cradlepoint, cray, crosscompile, crunchgen, cryptography, csh, ctf, cu, cuneiform, curses, curtain, cuwin, cvs, cvs-digest, cvsup, cygwin, daemon, daemonforums, daimer, danger, darwin, data, date, dd, debian, debugging, dell, desktop, devd, devfs, devotionalia, df, dfd_keeper, dhcp, dhcpcd, dhcpd, dhs, diezeit, digest, digests, dilbert, dirhash, disklabel, distcc, dmesg, Docs, Documentation, donations, draco, dracopkg, dragonflybsd, dreamcast, dri, driver, drivers, drm, dsl, dst, dtrace, dvb, ec2, eclipse, eeepc, eeepca, ehci, ehsm, eifel, elf, em64t, Embedded, embedded, emips, emulate, encoding, envsys, eol, espresso, etcupdate, etherip, euca2ools, eucalyptus, eurobsdcon, eurosys, Events, exascale, ext3, f5, facebook, falken, fan, faq, fatbinary, features, fefe, ffs, filesystem, fileysstem, firefox, firewire, fireworks, flag, flash, flashsucks, flickr, flyer, fmslabs, force10, fortunes, fosdem, fpga, freebsd, freedarwin, freescale, freex, freshbsd, friendlyAam, friendlyarm, fritzbox, froscamp, fsck, fss, fstat, ftp, ftpd, fujitsu, fun, fundraising, funds, funny, fuse, fusion, g4u, g5, galaxy, games, gcc, gdb, gentoo, geode, getty, gimstix, git, gnome, google, google-soc, googlecomputeengine, gpio, gpl, gprs, gracetech, gre, groff, groupwise, growfs, grub, gumstix, guug, gzip, hackathon, hackbench, hal, hanoi, happabsd, hardware, Hardware, haze, hdaudio, heat, heimdal, hf6to4, hfblog, hfs, history, hosting, hotplug, hp, hp700, hpcarm, hpcsh, hpux, html, httpd, hubertf, hurd, i18n, i386, i386pkg, ia64, ian, ibm, ids, ieee, ifwatchd, igd, iij, image, images, imx233, imx7, information, init, initrd, install, intel, interix, internet2, interview, interviews, io, ioccc, iostat, ipbt, ipfilter, ipmi, ipplug, ipsec, ipv6, irbsd, irc, irix, iscsi, isdn, iso, isp, itojun, jail, jails, japanese, java, javascript, jetson, jibbed, jihbed, jobs, jokes, journaling, kame, kauth, kde, kerberos, kergis, kernel, keyboardcolemak, kirkwood, kitt, kmod, kolab, kvm, kylin, l10n, landisk, laptop, laptops, law, ld.so, ldap, lehmanns, lenovo, lfs, libc, license, licensing, linkedin, links, linksys, linux, linuxtag, live-cd, lkm, localtime, locate.updatedb, logfile, logging, logo, logos, lom, lte, lvm, m68k, mac, macmini, macppc, macromedia, magicmouse, mahesha, mail, makefs, malo, mame, manpages, marvell, matlab, maus, max3232, mbr95, mbuf, mca, mdns, mediant, mediapack, meetbsd, mercedesbenz, mercurial, mesh, meshcube, mfs, mhonarc, microkernel, microsoft, midi, mini2440, miniroot, minix, mips, mirbsd, missile, mit, mixer, mobile-ip, modula3, modules, money, mouse, mp3, mpls, mprotect, mtftp, mult, multics, multilib, multimedia, music, mysql, named, nas, nasa, nat, ncode, ncq, ndis, nec, nemo, neo1973, netbook, netboot, netbsd, netbsd.se, nethack, nethence, netksb, netstat, netwalker, networking, neutrino, nforce, nfs, nis, npf, npwr, nroff, nslu2, nspluginwrapper, ntfs-3f, ntp, nullfs, numa, nvi, nvidia, nycbsdcon, office, ofppc, ohloh, olimex, olinuxino, olpc, onetbsd, openat, openbgpd, openblocks, openbsd, opencrypto, opendarwin, opengrok, openmoko, openoffice, openpam, openrisk, opensolaris, openssl, or1k, oracle, oreilly, oscon, osf1, osjb, paas, packages, pad, pae, pam, pan, panasonic, parallels, pascal, patch, patents, pax, paypal, pc532, pc98, pcc, pci, pdf, pegasos, penguin, performance, pexpect, pf, pfsync, pgx32, php, pie, pike, pinderkent, pkg_install, pkg_select, pkgin, pkglint, pkgmanager, pkgsrc, pkgsrc.se, pkgsrcCon, pkgsrccon, Platforms, plathome, pleiades, pocketsan, podcast, pofacs, politics, polls, polybsd, portability, posix, postinstall, power3, powernow, powerpc, powerpf, pppoe, precedence, preemption, prep, presentations, prezi, products, Products, proplib, protectdrive, proxy, ps, ps3, psp, psrset, pthread, ptp, ptyfs, Publications, puffs, puredarwin, pwn, pwntools, pxe, qemu, qnx, qos, qt, quality-management, quine, quote, quotes, r-project, ra5370, radio, radiotap, raid, raidframe, rants, raptor, raq, raspberrypi, rc.d, rc2, readahead, realtime, record, refuse, reiserfs, Release, releases, Releases, releng, reports, resize, restore, ricoh, rijndael, rip, riscos, rng, roadmap, robopkg, robot, robots, roff, rootserver, rotfl, rox, rs323, rs6k, rss, ruby, rump, rzip, sa, safenet, san, sata, savin, sbsd, scampi, scheduler, scheduling, schmonz, sco, screen, script, sdf, sdtemp, secmodel, security, Security, sed, segvguard, seil, sendmail, serial, serveraptor, sfu, sge, sgi, sgimips, sh, sha2, shark, sharp, shisa, shutdown, sidekick, size, slackware, slashdot, slides, slit, smbus, smp, sockstat, soekris, softdep, softlayer, software, solaris, sony, sound, source, source-changes, spanish, sparc, sparc64, spider, spreadshirt, spz, squid, ssh, sshfs, ssp, statistics, stereostream, stickers, storage, stty, studybsd, subfile, sudbury, sudo, summit, sun, sun2, sun3, sunfire, sunpci, support, sus, suse, sushi, susv3, svn, swcrypto, symlinks, sysbench, sysctl, sysinst, sysjail, syslog, syspkg, systat, systrace, sysupdate, t-shirt, tabs, talks, tanenbaum, tape, tcp, tcp/ip, tcpdrop, tcpmux, tcsh, teamasa, tegra, teredo, termcap, terminfo, testdrive, testing, tetris, tex, TeXlive, thecus, theopengroup, thin-client, thinkgeek, thorpej, threads, time, time_t, timecounters, tip, tk1, tme, tmp, tmpfs, tnf, toaster, todo, toolchain, top, torvalds, toshiba, touchpanel, training, translation, tso, tty, ttyrec, tulip, tun, tuning, uboot, ucom, udf, ufs, ukfs, ums, unetbootin, unicos, unix, updating, upnp, uptime, usb, usenix, useradd, userconf, userfriendly, usermode, usl, utc, utf8, uucp, uvc, uvm, valgrind, vax, vcfe, vcr, veriexec, vesa, video, videos, virtex, virtualization, vm, vmware, vnd, vobb, voip, voltalinux, vpn, vpnc, vulab, w-zero3, wallpaper, wapbl, wargames, wasabi, webcam, webfwlog, wedges, wgt624v3, wiki, willcom, wimax, window, windows, winmodem, wireless, wizd, wlan, wordle, wpa, wscons, wstablet, X, x.org, x11, x2apic, xbox, xcast, Xen, xen, xfree, xfs, xgalaxy, xilinx, xkcd, xlockmore, xmms, xmp, xorg, xscale, youos, youtube, zaurus, zdump, zfs, zlib

'nuff. Grab the RSS-feed, index, or go back to my regular NetBSD page

Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 38353603
Copyright (c) Hubert Feyrer