hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
 
[20100221] More news from NetBSD land: inside and outside the kernel
My inbox is still overflowing with NetBSD related news, so here is the next chunk for you:
  • People owning a Marvell PCMCIA WiFi card can how have a look at the malo(4) driver. If you use this on a gumstix ARM board, have a look as some fiddling with drvctl(8) is needed to get the card recognized properly.

  • Speaking about Gumstix, KIYOHARA Takashi has declared the porting effort as finished. Support for the baex, connex, verdex and verdex-pro modules is available, as is support for the support modules.

  • Staying in the "embedded" corner, KIYOHARA Takashi has announced that Plathome's OpenBlockS600 (AMCC 405EX) can now boot NetBSD via NFS. See the posting for dmesg output. The OpenBlockS600 comes with a AMCC 405EX PowerPC CPU, two GigE ethernet ports and a bunch of other goodies for a price of about $600US.

  • Coming from hardware to software, pkgsrc-2009Q4 was released some time ago, and of course binary packages are available for a number of platforms: 5.0/macppc, 4.0.1/sparc and 5.0.1/sparc, 4.0.1/i386, 5.0.1/i386 and the same for 4.0.1/amd64 5.0.1/amd64. Also, binaries of pkgsrc-2009Q3 are available for 5.0/shark.

  • Google's Summer of Code was a big success for NetBSD and all of the Open Source community, and it seems there will be one again this summer.

    Preparations are in an early stage, but there are already a FAQ and a timeline as well as the Program Terms of Service. From the NetBSD side, we're always happy for project suggestions (please use our mailing lists for discussions), and in NetBSD, we are currently working on out projects page. If you plan to submit a proposal for a project with NetBSD, please see our project application/proposal form If you plan to submit a proposal for a project with NetBSD, please see our Project Application/Proposal HowTo.

  • Getting back to the NetBSD code, a number of interesting changes were made in the previous weeks. The first to mention is that David Young has continued is work on the new shutdown order for device drivers: ``cgd, dk, dm, md, raid, and vnd gracefully detach from the device tree during shutdown. I believe that ccd is the only virtual disk that does not detach.'' This allows having arbitrary stack of file systems, and still have them unconfigured properly in the right order on system shutdown.

  • Another major change that went into NetBSD recently is that terminfo was imported into NetBSD-current. Terminfo replaces termcap, but provides a backward compatible termcap interface. This move follows discussion from last summer, and docs by The Open Group (the people who make things like the POSIX standard and the Single Unix Specification), which indicates that the termcap specification will be withdrawn in the future.

  • Moving from userland inside the kernel, David Holland has proceeded with work to unhook LFS from UFS. Historically, the Log structured File System was written after the Berkeley Fast File System. With the idea of sharing the core "Unix File System" code for both file systems, this resulted in a strong relationship between LFS and FFS, which was/is not always the best for the advantage and stability of either one: ``sharing ufs between both ffs and lfs has made all three entities (but particularly lfs) gross. ffs and lfs are not similar enough structurally for this sharing to really be a good design.''

  • Another major addition to the NetBSD kernel was made recently by Darren Hunt: ``Courtesy of CoyotePoint Systems, I've been working on a port of DTrace [...] to NetBSD for i386.'' Citing Wikipedia, ``DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released under the free Common Development and Distribution License (CDDL) and has been ported to several other Unix-like systems.

    DTrace can be used to get a global overview of a running system, such as the amount of memory, CPU time, filesystem and network resources used by the active processes. It can also provide much more fine-grained information, such as a log of the arguments with which a specific function is being called, or a list of the processes accessing a specific file. ''

    The code is available in NetBSD-current. I haven't looked into this yet, but I'm looking forward of reports and blog postings if the wikipedia command line examples work.

    (I think like with ZFS, Dtrace could use a hand with documenting the NetBSD side of things. Any takers?)

  • The last kernel change to mention is related to security: mapping the address 0 from userland was disabled. This issue went through the press late last year, and it this is now addressed in NetBSD, too. Those that still beed to map address 0 can do so via the USER_VA0_DISABLED_DEFAULT kernel option or the vm.user_va0_disable sysctl.

  • So much about about the NetBSD code for now. Of course having all those fine features added screams for an immediate (*cough*) release, which brings me to the fact that NetBSD 5.0.2 has been released: `` NetBSD 5.0.2 is the second critical/security update of the NetBSD 5.0 release branch. It represents a selected subset of fixes deemed critical for security or stability reasons.

    Please note that all fixes in critical/security updates (i.e., NetBSD 5.0.1, 5.0.2, etc.) are cumulative, so the latest update contains all such fixes since the corresponding minor release. These fixes will also appear in future minor releases (i.e., NetBSD 5.1, 5.2, etc.), together with other less-critical fixes and feature enhancements. ''

I'm closing for today by pointing to three NetBSD-related events:
  • There's a hackathon going this weekend (Feb 20/21 2010)
  • Volunteers are wanted to setup & man a NetBSD booth at FrOSCamp 2010 Zurich, Switzerland, on Sep 17/18 2010
  • pkgsrcCon 2010 will be held in Basel, Switzerland, from May 28ths to 30ths 2010.
Have fun meeting the gang!

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


[20091210] Catching up on source changes
I've dug through my source-changes archive once more, and there are entries from February(?!?) to mid-October 2009 in there that I think may be of interest to casual followers of NetBSD.

Before I go into the details, let me add a hint on the "source-changes-full" mailing list, which is like source-changes, but the mails there also contain diffs of the changes (as long as they are below 1MB in size). The -full list is not archived on mail-index.netbsd.org, and I must have missed the announcement. It's definitely useful!

So, what interesting changes have there been to NetBSD-current recently? Here we go:

  • New / updated drivers:
    • sdtemp(4) reads the on-DIMM temperature sensors following the JEDEC Standard No. 21-C Section 4-7.
    • gpio(4) got support for Intel ICH southbridges as found on Intel SS4220-E (ICH7) and Acorp 6A815EPD (ICH2) motherboards
    • lom(4) supports the LOMlite "Lights Out Management" boards found on Sun hardware like the LOMlite found on the Sun Netra t1 and the LOMlite2 found on Sun Netra T1/X1 and Sun Fire V100/V120.
    • An initial version of a SD/MMC driver for the Winbond W83L518D (and probably W83L519D) Integrated Media Reader with PNP bus attachment glue was added.
    • acpiwmi(4) was added to added, to further support ACPI development. See the specs for more details.
    • piixide(4) now supports Intel 3400 SATA
  • New kernel interfaces and library functions include:
    • getdate(3) and getdate_err(3) were added according to POSIX.1 and the Open Group
    • RAIDframe was sped up massively when checking parity after a system crash with the help of a parity map. This work was done during this year's Google Summer-of-Code.
    • A "netbsd.inet.icmp.bmcastecho" sysctl was added to disable replies to the broadcast address.
    • Floating point functions f{min,max,dim}{,l,f}(3) were added
    • udl(4) adds support for DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors
  • Random other additions and changes include:
    • hdaudioctl(8) can be used to manipulate hdaudio(4) devices
    • The NetBSD/playstation2 port was removed due to a lack of developer support. It's still available in CVS.
    • The NetBSD/i386 bootloader now knows a "dev" command to list available boot devices and their size.
  • Newly imported and updated 3rd party software includes:
    • pfsync from OpenBSD 4.2, adopted in this year's Google Summer of Code.
    • PF from OpenBSD 4.2 was imported.
    • Multicast DNS ("Bonjour") support was added, based on Apple's mDNSResponder. Enable with "dns: mdns" in /etc/nsswitch.conf.
    • GNU binutils were updated to version 2.19
    • Many of the bazillion of X.org components were updated - ways too many to note in detail.
    • BIND was updated to 9.7.0b1
    • Flex 2.5.35 was imported
    • A new m4(1) was imported


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


[20090504] Article: Thread scheduling and related interfaces in NetBSD 5.0
Mindaugas Rasiukevicius has worked in the SMP corner of the NetBSD kernel in the past few months, and he has written an article that introduces the work done by him and others, see his posting for a bit more information, or his article directly.

The article introduces real-time scheduling and the scheduling classes found in NetBSD 5.0, and gives an estimate on the response timeframe that can be expected for real-time applications. Setting scheduling policy and priority from a userland application is shown next, and programming examples for thread affinity, dynamic CPU sets and processor sets are shown. Besires C APIs, there are also a number or new commands in NetBSD 5.0 that can be used to control things from the command line, e.g. to define scheduling behaviour and manipulate processor sets. My favourite gem is the CPU used in the cpuctl(8) example, which is identified as "AMD Engineering Sample". :-)

[Tags: , , , , ]


[20090116] Catching up on NetBSD source changes - Sep'08 to early Jan'09
OK, I'll try to catch up source-changes a bit more frequently in the future (new years resolutions... don't we all have some?), but here's what I've missed by now, from between September 2008 until now (early January 2009):
  • In preparation of the NetBSD 5.0 release, a lot of documentation updates were made, esp. in the release notes. Also, many manual pages were added to the system, documenting existing userland tools, library, system and internal interfaces.

  • Following some re-organization of binary packages on ftp.NetBSD.org some time ago, the official URLs are now:
    • ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/{MACHINE}/{VERSION}/All
    • ftp://ftp.NetBSD.org/pub/NetBSD/packages/current-packages/NetBSD/{MACHINE}/{VERSION}/All
    Both should have the same results, the latter is more safe on mirrors that don't carry /pub/pkgsrc. Adjust your PKG_PATHs!

  • Syntax for /etc/rc.conf's ifconfig_xxN variables and /etc/ifconfig.xxN was changed to also allow line breaks via ';'s. This allows something like ifconfig_wi0="ssid 'my network'; dhcp"

  • Martin Schuette's work on syslogNG from Google Summer of Code 2008 is now available in NetBSD's syslog

  • X.org integration is advancing in big steps. It's on by default on a number of platforms (including alpha, i386, macppc, shark, sparc and sparc64), and instead of using the (now obsolete) MKXORG build variable it can be build with "build.sh -x".

  • Old-style LKMs are dead, welcome to the new module framework! (XXX Documentation???) In the process, more and more kernel subsystems are being changed to be loadable as a module, e.g. POSIX AIO and semaphores, File System Snapshots, emulations, exec formats, coredump, NFS client and server, http and data accept filters, ppp compressors, and others.

    Hooks into UVM have been added to unload unused kernel modules if memory is scarce.

  • MAKEVERBOSE now has two new levels, 3 and 4. The complete list is now:
    • 0 Minimal output ("quiet")
    • 1 Describe what is occurring
    • 2 Describe what is occurring and echo the actual command
    • 3 Ignore the effect of the "@" prefix in make commands
    • 4 Trace shell commands using the shell's -x flag
    The default remains MAKEVERBOSE=2, you can also set this via build.sh's -N switch.

  • A POSIX conformant tabs(1) utility was added

  • The haad-dm branch was merged to NetBSD-current. This adds Logical Volumen Management (LVM) functionality to the base NetBSD system. It uses Linux LVM2 tools and our BSD licensed device-mapper driver.

  • The wrstuden-revivesa branch was merged into NetBSD-current, bringing Scheduler Activation based threading back to NetBSD, and giving NetBSD 5.0 and up both SA and 1:1 threads.

  • Support for the ARM-based Cortina Systems SL3516 eval board was added to NetBSD/evbarm

  • patch(1) got a major overhaul, based on DragonflyBSD and OpenBSD. There's better detection of double applied patches, rejected diffs remain in unified diff format, and and less limitation e.g. on line length.

  • pxeboot now understands boot.cfg

  • Boot CD ISO creation has been greatly overhauled, accomodating changes in boot.cfg, and moving away from a ramdisk-based system to using a file system on the cd-rom, which helps reduce RAM usage. Also, the GENERIC kernel can be used there.

  • makefs(8)'s ISO-9660 (cdrom) support was enhanced to write RISC OS data. This allows to make bootable CDs for acorn{26,32} directly, without copying the bootloader to a native file system.

  • The christos-time_t branch has been merged into NetBSD-current. This gives 64bit time_t and dev_t types (no more year 2038-problem!!!).

    Many related places like timeval and timespec were adjusted, kernel and userland APIs were touched, and shared library major versions (including libc) were bumped for this fairly exhaustive change.

    See src/UPDATING's entry on 20090110 for the full update path!

  • New/updated drivers:
    • jme(4) for JMicron Technologies JME250 Gigabit Ethernet and JME260 Fast Ethernet PCI Express controllers
    • u3g(4) provides better support for 3G datacards than ugensa
    • dbcool(4) for dbCool(tm) family of Thermal Monitor and Fan Controller
    • ataraid(4) now supports Intel MatrixRAID and JMicron RAID
    • bwi(4) for Broadcom BCM4302 wlan controllers, otherwise known as Airport Extreme
    • alipm(4) for the Acer Labs M7101 Power Manage- ment controller
    • admtemp(4) for the Analog Devices ADM1021, Analog Devices ADM1023, Analog Devices ADM1032, Genesys Logic GL523SM, Global Mixed-mode Technology G781, Maxim 1617, and Xeon embedded temperature sensors
    • ipw(4),iwi(4),wpi(4),iwn(4): We ship the firmware now, but users have to accept the Intel license manually by setting sysctls like hw.ipw.accept_eula=1. The latter is also offered by sysinst.
    • nsp(4) adds support for the NSP2000 cryptographic processor which does crypto, hashing and arbitrary precision arithmetics in hardware, and which hooks into the opencrypto(9) interface.
    • pseye(4) makes the Sony Playstation Eye USB webcam usable with the new video(4) framework
    • ath(4) now uses the recently-released source-based version of the Atheros HAL, no more binary blob!
Whee... I should really do this more often to cut things down.

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


[20060216] Permission to Incorporate POSIX® Material
After having this linger around for a long time (my fault), I finally managed to coordinate the press release of NetBSD getting permission to use documentation from the Single Unix Specification (SUSv3, POSIX). It was interesting working with The Open Group on this, and coordinating the press release with both The OpenGroup and the IEEE, which share the rights on the POSIX standard. (Don't ask me for details, I won't claim to fully understand the relationship ;)

As there were apparently some questions on the scope of this, I've sent a mail to netbsd-users@ to clarify things. Hope it helps. ;)

[Tags: , , , ]


Tags: , 2bsd, 34c3, 3com, 501c3, 64bit, acl, acls, acm, acorn, acpi, acpitz, adobe, adsense, Advocacy, advocacy, advogato, aes, afs, aiglx, aio, airport, alereon, alex, alix, alpha, altq, am64t, amazon, 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, 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, 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, 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, pxe, qemu, qnx, qos, qt, quality-management, quine, quote, quotes, r-project, ra5370, radio, radiotap, raid, raidframe, rants, raptor, raq, raspberrypi, rc.d, 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: 34936592
Copyright (c) Hubert Feyrer