Introducing sysbuild and sysupgrade


August 07, 2012 posted by Julio Merino

If you are like me and do not like repeating manual tasks over and over again, you probably have written custom scripts to rebuild NetBSD from source and to upgrade your NetBSD installation to a new build. I have had such scripts for years, but they have always been very rudimentary, inflexible and unreliable. What's more: every NetBSD machine I have today has its own custom versions of these scripts, often with little incompatible tweaks to accomodate every installation.

I was now facing the time to rebuild my NetBSD development box (because its VM disk is running out of space), and the thought of having to reconfigure my environment to perform periodic NetBSD builds, and to have to continue using my deficient custom upgrade script gave me the energy to sit down and write decent versions of these two tools. The results of such efforts are sysbuild and sysupgrade, and their goal is to trivialize rebuilds and upgrades.

sysbuild, currently available in pkgsrc/sysutils/sysbuild, automates the process of fetching the NetBSD sources from a CVS repository and performing a build for one or more platforms. The process is defined by a configuration file that controls the parameters of the build, and building a new snapshot from scratch is as easy as issuing one parameter-less command. A companion sysbuild-user package configures an unprivileged system user to perform nightly builds of NetBSD from cron, which is very convenient for developers tracking NetBSD-current. My other post "Introducing sysbuild for NetBSD" and the sysbuild(1) manual page provide more details.

sysupgrade, currently available in pkgsrc/sysutils/sysupgrade, automates the process of bringing a NetBSD system up to date by using a collection of distribution sets (which can come from either sysbuild, your manual builds or a public FTP site). This tool does not have any upgrade knowledge of its own: it is "just" a script for the manual procedure of fetching the distribution sets, upgrading the kernel, unpacking the sets and upgrading /etc with the standard etcupdate and postinstall. My other post "Introducing sysupgrade for NetBSD" and the sysupgrade(8) manual page provide more details.

The tools are released under a typical permissive 3-clause BSD license. I have opted to place them in pkgsrc instead of the base system to give the tools some mileage and to make them immediately available to older releases and operating systems. However, my end goal for these tools (specially sysupgrade) is to end up being part of the NetBSD base system: I find it unfortunate that the base system does not provide a mechanism to upgrade itself to a newer release.

Enjoy the tools and please share your feedback!

... just keep in mind that these are fresh new code so obscure bugs may be lingering around. Hint: Run the included test suites to get some confidence in the implementation before running the tools.

[1 comment]

 

Start your week with meeting NetBSD


May 28, 2012 posted by Mike M. Volokhov

After weekend, on Monday, I usually warming myself up. It's always good to read an interesting article or meet eminent people to set a pitch for the week. This week such a reading was from Billy Toulas of the unixmen.com, popular Unix/Linux online magazine who just interviewed Martin Husemann.

Martin is one of those people with whom the NetBSD Project is strongly associated. He's former member of the NetBSD Board, and today is acting as sparc64 Portmaster and as part of NetBSD Security and Release Engineering teams. But don't be confused with all those loud names — Martin is very friendly man who fantastically can explain complex things.

The reading is interesting and long, and contains a number of amusing little know facts, so take a big popcorn pack, or start build.sh over NetBSD 6.0 BETA2 (just as I did) and enjoy the interview. [0 comments]

 

New NetBSD flyers available


March 18, 2012 posted by Benny Siegert

For informing our peers about NetBSD, for distributing at a conference or meet-up, or simply as a concise introduction – new NetBSD flyers are now available at http://www.NetBSD.org/gallery/advocacy/. They are made to be printed on A4 paper and folded twice. English and German versions are provided.

At the moment, there are three flyers: "What is NetBSD?" gives an overview about the project and the OS, while "Tips and Tricks for NetBSD newcomers" and "NetBSD for Newcomers – Switching from GNU/Linux" are more aimed at people who already know similar operating systems, particularly GNU/Linux, and want to know more about the differences between these systems and NetBSD.

We are very grateful to Julian Fagir, who provided these flyers to the project.

[4 comments]

 

Running NetBSD on the LG-N2R1D NAS-family


December 15, 2011 posted by Reinoud Zandijk

Article about installing NetBSD on a small nas device LG NAS-N2R1D. This requires some soldering and other black magic but otherwise pretty good example of NetBSD portability.

[Read More] [0 comments]

 

Fossil and Git mirrors of pkgsrc and src


August 03, 2011 posted by Jörg Sonnenberger

The NetBSD CVS repository has seen a lot of work over the recent months to clean up various historic artefacts. Together with the improvements in cvs2fossil and the Fossil->Git conversion, it is now possible to provide a precise, up-to-date conversion.

The Git repositories can be found on github, checkout pkgsrc and src.

The Fossil repositories can be found at src (mirror) and pkgsrc (mirror). The raw database as faster alternative to cloning can be found on ftp.NetBSD.org.

This repositories are synchronised with a normal latency of 2h. The only differences between a checkout from CVS and Fossil/Git are supposed to be related to historic checkouts of files pulled from a vendor branch. The implemented behaviour is consistent with the changes in the file. RCS IDs are all expanded using the same rules CVS follows.

[3 comments]

 

USB Keyboard Support for DDB


July 31, 2011 posted by Marc Balmer

More and more modern computers don't come with a "real" keyboard interface anymore, and that makes our lives hard when we have to enter the kernel debugger DDB. Well, not anymore if you run -current. jmcneill@ committed code which lets you use DDB with USB keyboards. See

http://mail-index.netbsd.org/source-changes/2011/07/30/msg025233.html

for the full commit message.

[1 comment]

 

NetBSD's Google Summer of Code Projects 2011


April 25, 2011 posted by S.P.Zeidler

The following projects have been chosen for Google Summer of Code™ this year (sorted by student's last name):
  • Implementing the algorithms described in RFC 6056 within the NetBSD
  • Student: Vlad Balan
  • Mentor: Christos Zoulas
  • Socket option to timestamp UDP packets in NetBSD kernel
  • Student: Dmitry Cherkassov
  • Mentor: Marc Balmer
  • pkgsrc cross-building: connecting the dots
  • Student: Efstathios Kamperis
  • Mentor: Aleksej Saushev
  • Add kqueue support to GIO
  • Student: Dmitry Matveev
  • Mentor: Julio Merino
  • Userspace file system and device driver code sharing
  • Student: Vyacheslav Matyushin
  • Mentor: Alistair Crooks
  • IPv6 support for NPF firewall
  • Student: Zoltan Arnold Nagy
  • Mentor: Martin Husemann, Mindaugas Rasiukevicius
  • Add support for FreeBSD package format, RPM and Debian packages(if time allows) to pkgsrc
  • Student: Anton Panev
  • Mentor: Jeremy C. Reed
  • Apropos replacement based on mandoc and SQLite's FTS
  • Student: Abhinav Upadhyay
  • Mentor: Jörg Sonnenberger
  • In-kernel implementation of posix_spawn
  • Student: Charles Zhang
  • Mentor: Martin Husemann
[0 comments]

 

Port tier system introduced


March 30, 2011 posted by Antti Kantee

The NetBSD core team has announced a tier system for the hardware architectures supported by NetBSD. The tier system classifies ports into three tiers. Summarizing, the tiers consist of ports that NetBSD will support, ports that NetBSD does its best to support, and ports which may be desupported soon. The purpose of this classification is to clarify the development roles between old and new architectures. By making modern architectures an official development priority, the tier system ensures that NetBSD will continue to be the top choice for a fast, secure and portable free OS on the hardware of today and tomorrow.

[2 comments]

 

Rump: Distributed Kernel Services For NetBSD


March 15, 2011 posted by Antti Kantee

Rump is a componentization of the NetBSD kernel. It lends itself to multiple uses, such as running kernel code as services in userspace and for example makes the high-quality NetBSD kernel code base available for use in multiserver microkernel operating systems.

Running unmodified NetBSD kernel code in standalone userspace applications has been possible for years. Recently, it also became possible to use unmodified userland binaries as remote clients for these lightweight and modular kernel server instances. Things work straight out of the default NetBSD installation. For example, it is possible to run an unmodified web browser against a rump TCP/IP server and restart the TCP/IP server with minimal impact to the browser. Furthermore, it is possible to run a dedicated TCP/IP server for every networking application on the system. The combined flexibility of using proven kernel drivers in lightweight virtual servers is completely unique to NetBSD.

[Read More] [0 comments]

 

NetBSD now runs under Amazon EC2


March 13, 2011 posted by Jean-Yves Migeon

It is with great pleasure that we officially announce the release of the first NetBSD Amazon Images for the Amazon Elastic Compute Cloud (better known as Amazon EC2) for all currently available regions: US East (Northern Virginia), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), and Asia Pacific (Tokyo).

[Read More] [4 comments]

 

Support for Microsoft eMIPS ("Extensible MIPS") platform committed


January 26, 2011 posted by Antti Kantee

Support for Microsoft Research's extensible MIPS architecture has been committed to the NetBSD source tree. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload. NetBSD/emips runs on FPGA-based hardware and the Giano system simulator.

[Read More] [0 comments]

 

nxr update


December 15, 2010 posted by Zafer Aydoğan

Dear Readers,

The NetBSD Cross Reference service has recently
been updated to use the latest version of OpenGrok from pkgsrc.

In addition to the main NetBSD-current sources, the
following development branches have now been indexed:

rmind-uvmplock
uebayasi-xip
ad-audiomp2

Have fun searching and grokking !

[1 comment]