hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
 
[20170608] g4u 2.6 released
After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!

About g4u: g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.

The past: When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything elase), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.

The present: We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private instituations plus comanies from many sectors, indicating that g4u does make a difference.

In the mean time, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.

The future: At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!

The changes: Major changes in g4u 2.6 include:

  • Make this build with NetBSD-current sources as of 2017-04-17 (shortly before netbsd-8 release branch), binaries were cross-compiled from Mac OS X 10.10
  • Many new drivers, bugfixes and improvements from NetBSD-current (see beta1 and beta2 announcements)
  • Go back to keeping the disk image inside the kernel as ramdisk, do not load it as separate module. Less error prone, and allows to boot the g4u (NetBSD) kernel from a single file e.g. via PXE (Testing and documentation updates welcome!)
  • Actually DO provide the g4u (NetBSD) kernel with the embedded g4u disk image from now on, as separate file, g4u-kernel.gz
  • In addition to MD5, add SHA512 checksums
The software: Please see the g4u homepage's download section on how to get and use g4u.

Enjoy!

[Tags: , ]



[20170608] Native Command Queuing - merging and testing
Jaromir Dolecek has worked on NCQ and is looking for testers in context of merging the development branch into NetBSD-current.

What is NCQ? According to Wikipedia, ``Native Command Queuing (NCQ) is an extension of the Serial ATA protocol allowing hard disk drives to internally optimize the order in which received read and write commands are executed. This can reduce the amount of unnecessary drive head movement, resulting in increased performance (and slightly decreased wear of the drive) for workloads where multiple simultaneous read/write requests are outstanding, most often occurring in server-type applications.''

Jaromir writes to tech-kern: ``I plan to merge the branch to HEAD very soon, likely over the weekend. Eventual further fixes will be done on HEAD already, including mvsata(4) restabilization, and potential switch of siisata(4) to support NCQ.

The plan is to get this pulled up to netbsd-8 branch soon also, so that it will be part of 8.0.

Status:

  • ahci(4) fully working with NCQ (confirmed with qemu, and real hw)
  • piixide(4) continues working (no NCQ support of course) (confirmed in qemu)
  • siisata(4) continues working (without NCQ still) (confirmed with real hw)
  • mvsata(4) not yet confirmed working after changes, mainly due the DMA not really working on Marvell 88SX6042 which I have available - I have same issue as kern/52126
  • other ide/sata drivers received mechanical changes, should continue working as before''
Testing and feedback of success or suggestions for improvemenbt are always welcome - please send your report!

[Tags: , , ]


[20170521] Support for Controller Area Networks (CAN) in NetBSD
Manuel Bouyer has worked on NetBSD CAN-support, and now he writes: ``I'd like to merge the bouyer-socketcan branch to HEAD in the next few days (hopefully early next week, or maybe sunday), unless someone objects to the idea of a socketcan implementation in NetBSD.

CAN stands for Controller Area Network, a broadcast network used in automation and automotive fields. For example, the NMEA2000 standard developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API: https://www.kernel.org/doc/Documentation/networking/can.txt you can also see can(4) in the branch.

This adds a new socket family (AF_CAN) and protocol (PF_CAN), as well as the canconfig(8) utility, used to set timing parameter of CAN hardware. The branch also includes a driver for the CAN controller found in the allwinner A20 SoC (I tested it with an Olimex lime2 board, connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented. Error frames are not implemented either. But I could get the cansend and canreceive utilities from the canutils package to build and run with minimal changes. tcpdump(8) can also be used to record frames, which can be decoded with etherreal.

A review of the code in src/sys/netcan/ is welcome, especially for possible locking issues.''

What CAN devices would you address with NetBSD? Drop me mail!

[Tags: , ]



[20170505] Announcing NetBSD and the Google Summer of Code Projects 2017
The NetBSD Project posts that we are very happy to announce that the selection process in this year's Summer of Code with its bargaining of slots and what student gets assigned to which project is over. As a result, the following students will take on their projects:

  • Leonardo Taccari will work add multi-packages support to pkgsrc.
  • Maya Rashish will work on the LFS cleanup.
  • Utkarsh Anand will make Anita support multiple virtual machine systems and more architectures within them to improve testing coverage.
What follows now is a community bonding period until May 30th, followed by a coding period over the summer (it's Summer of Code, after all :-) until August 21st, evaluations, code submission and an announcement of the results on September 6th 2017.

Good luck to all our students and their mentors - we look forward to your work results, and welcome you to The NetBSD Project!

[Tags: ]



[20170503] Adventures in Time, part 1: Interfacing an Oven Controlled Crystal Oscillator to a Computer Running NetBSD
I've stumbled across this article via the Dragonfly BSD Digest: Tobias 'tnn' Nygren wrote about his aventurs in time, with part one on Interfacing an Oven Controlled Crystal Oscillator to a Computer Running NetBSD.

This first article in a blog series starts by describing regular and oven ontrolled crystal oscillators, then goes on in describing the hardware setup and how it is connected to a computer. In this case, a Banana Pi running NetBSD/evbarm is used which (of course) also has its own clock. Oscilloscope measurements show differences in quality of signals and why an adapter is needed to adjust the system's clock frequency (including changes to the NetBSD kernel).

In the next post Tobias will describe how to calibrate the clock with NTP. Stay tuned and have an eye on his blog!

[Tags: , ]



[20170421] g4u 2.6beta2 has been released - Happy 18th Birthday, g4u!
Just right in time for its 18th birthday, I have released the 2nd beta version for g4u 2.6 (2.6beta2). It took some time to get to this point, and I want to move to 2.6 soon - please take your time to test and get back to me soon, as I want to push out g4u version 2.6 in june 2017.

g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.

For more information, see http://www.feyrer.de/g4u/.

Changes in 2.6beta2 include:

  • Make this build with NetBSD-current sources as of 2017-04-17, binaries were cross-compiled from Mac OS X 10.10
  • Go back to keeping the disk image inside the kernel as ramdisk, do not load it as separate module. Less error prone, and allows to boot the g4u (NetBSD) kernel from a single file e.g. via PXE (Testing and documentation updates welcome!)
  • Actually DO provide the g4u (NetBSD) kernel with the embedded g4u disk image from now on, as separate file, g4u-kernel.gz
  • Put all object files into one object directory. This may need more cleanup in the future. Feedback from people building g4u welcome!
  • Disable verbose device messages on Microchannel (MCA) machines
  • New drivers:
    • Toshiba Dynabook hotkeys
    • Intel S1200,C2000 (non-pch) SMBus storage controller
    • Non-Volatile Memory Express (NVMe) storage controllers and devices
    • Intel Wireless WiFi Link 7xxx PCI network
    • Intel 8259x 10 gigabit PCI network
    • Realtek 8188CE/8192CE 802.11b/g/n PCI network
    • VMware VMXNET3
    • Marvell Libertas PCMCIA network
    • ASIX AX88178a/AX88179 based USB network adapters
    • Realtek RTS5209/RTS5229 Card Reader
  • Happy 18th Birthday, g4u!
Download links:
  • The g4u 2.6beta2 floppy images (zipped/ uncompressed floppy one, floppy two, floppy three, and floppy four)
  • The g4u 2.6beta2 ISO CD image (zipped/uncompressed)
  • The g4u/NetBSD kernel for PXE boot (gzipped)
  • The g4u 2.6beta2 source code
  • Some md5 checksums:
    MD5 (g4u-2.6beta2-1.fs) = 8214c1ded55e78aed2f34d3e318dc75d
    MD5 (g4u-2.6beta2-2.fs) = 8b55f3fe6a4806c9a65a3d176463e1bc
    MD5 (g4u-2.6beta2-3.fs) = 0f9629353ddd470d17c5b4fd4ec7fd8e
    MD5 (g4u-2.6beta2-4.fs) = c25a955e5d876d64943fd03f957ed4c9
    MD5 (g4u-2.6beta2.iso) = acabb0fb73d4a2f9062fb070b4ddd825
    MD5 (g4u-2.6beta2.tgz) = f8387d5bf146f98dda040dfcc1c53e44
    MD5 (g4u-2.6beta2.fs.zip) = 8ef324c71ae7b000708e69019e55ef4e
    MD5 (g4u-2.6beta2.iso.zip) = 1f4bd37784405350ee3e8e6c75a6b6b6
    


[Tags: , ]


[20170408] Update on NetBSD and Google's Summer of Code 2017: student application period is over, ranking is in progress
Thanks to all students who have submitted project proposals! The student application period is now over, and we will have a look at the proposed projects in detail. From that, we will make a list with our top priorities (most-wanted / most-promising first), and give that list to Google. Depending on the overall amount of all proposals to all projects, Google will then assign slots of actually sponsored projects.

The announcement of this will happen on May 4th 2017 - stay tuned!

[Tags: ]



[20170408] Let's get meta: an interview with me (hubertf) about my NetBSD blog
BSD Magazine has approached me about my (this!) NetBSD blog, and in their section that introduces "Unix" blogs, they wanted an interview with me. And here we are!

The article starts out with printing a blog article of my choice, which is from the recent series on the NetBSD scheduler. This is followed by the actual interview with yours truly, asking about myself, how i started with blogging in general, why I do it and my best and worst posts. Things go to a wider focus then, musing about why Unix is the best since sliced bread, what role NetBSD plays today with its 7.1 release and in the future, and what my personal plans are in that regard. See pages 44-48 of March 2017's BSD Magazine (registration required for PDF download!) for the full text.

[Tags: , ]



[20170404] pkgsrc-2017Q1 released
NetBSD's package collection "pkgsrc" comes with quarterly stable releases, and the one for 2017Q1 has been Released. See the posting to netbsd-announce for all the defails. This includes:
``
The pkgsrc developers are proud to announce the 54th quarterly release
of pkgsrc, the cross-platform packaging system.  pkgsrc is available
with more than 17500 packages, running on 23 separate platforms; more
information on pkgsrc itself is available at https://www.pkgsrc.org/
A neutral overview can be found at https://www.openhub.net/p/pkgsrc

For the 2017Q1 release we welcome the following notable package
additions and changes to the pkgsrc collection:

  - python 3.6
  - Nextcloud 11
  - firefox 45.8.0 and 52.0.1
  - gradle 3.4
  - pkg_comp 2.0
  - qmail 1.03nb24 binary packages work, supporting common use cases
  - many additional Python, Perl and Ruby modules
  - many additional TeX packages

The default version of Apache has been changed to 2.4 (from 2.2); set
PKG_APACHE_DEFAULT=apache22 in mk.conf to stay with 2.2.

Package removals include gcc 4.5, 4.6, and 4.7 and Xen 3.1, 3.3 and 4.1;
these are old and notable only because of their stature.

The following infrastructure changes were introduced:
  - mk/curses.mk enabled packages to depend on curses without specifying
      a particular version

In total, 192 packages were added, 25 packages were removed, and 1,458
package updates were processed since the pkgsrc-2016Q4 release.

Instructions on using the binary package manager can be found at
http://pkgin.net, and pkgsrc itself can be retrieved from
https://github.com/jsonn/pkgsrc or via cvs or tar file -- see
https://www.netbsd.org/docs/pkgsrc/getting.html.  The branch name
for the 2017Q1 branch is "pkgsrc-2017Q1".''
Now off to play the update game on all the systems that I use pkgsrc on, including Mac OS X and Debian Linux.

[Tags: , ]


[20170325] NetBSD and Google's Summer of Code: Students can apply now
This year's Summer of Code has reached the phase where interested students can hand in project applications. Deadline for submissions is April 3rd 2017, so hurry up to get in line!

We have a list of project ideas available.

Please feel free to discuss project ideas beforehand on our mailing lists. When discussing project ideas, make sure you had a look at our guidelines, and answer as many questions as possible.

[Tags: ]



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

Access count: 24695396
Copyright (c) Hubert Feyrer