Detailed revision history can be found in the Git repository; for code,

Return to index

look at lbmk.git and for documentation, look at lbwww.git.

Assimilation by Libreboot

With no additional changes to nvmutil, the project became part of lbmk, which is the Libreboot build system. Please refer to Libreboot’s imported version of the nvmutil documentation: nvmutil.html

This code and documentation import was performed on November 17th, 2022.

The notes below are for historical purposes, as they show versioned Change Logs from when nvmutil was part of osboot, but in its own repository. Post-osboot-libreboot-merge, it was decided that nvmutil shall now be part of the Libreboot build system proper.

Future changes to nvmutil (in lbmk.git) shall be included in regular Libreboot release announcements, under news/, so please be sure to check that from now on.

For historical and reference purposes, the original nvmutil repository shall be preserved on notabug. See:

nvmutil 20221106

Very minor bugfix release:

nvmutil 20221103

Not much has changed, as this just fixes minor bugs and behavioural quirks seen in the previous release:

nvmutil 20220828

No new features have been added. This is a code cleanup and bugfix release.

nvmutil 20220815

No new features have been added. This is a code cleanup and bugfix release.

nvmutil 20220810

nvmutil 20220808

Released on 8 August 2022. Changes:

Regarding code size reduction

My test setup is an x86_64 machine with tcc used as the compiler; the libc doesn’t really matter, if you use dynamic linking. Command:

make CC=tcc

Observations (dynamic linking with libc files):

SLOC (source lines of code):

These numbers were obtained, using the sloccount program by David A. Wheeler, which you can find here:

This means that the actual reduction in compiled logic is about 1.89KB, or a 15% reduction, in nvmutil 20220808. By logic, I mean all code excluding the help function; this distinction is important, because the help/version commands are unavailable in nvmutil 20220808, but they were available in nvmutil 20220802.

Extra note: I also tested compressed sizes. With tar piped to xz -9e, I saw: about 3KB if compiled with tcc, and 5KB using gcc. Clang produces binaries of similar size, when compared with GCC.

Since the performance of nvmutil is largely disk-bound, I really recommend compiling it with tcc, not GCC or Clang because the binary sizes are much larger with those compilers, even with optimization flags; despite this, the Makefile in nvmutil assumes GCC/Clang and sets CFLAGS to -Os.

nvmutil 20220802

Released on 2 August 2022. Changes:

nvmutil 20220731

Released on 31 July 2022. Changes:

That’s it. Bug fixes and safety features added. Enjoy!

nvmutil 20220728

Initial release. It is functionally equivalent to the older nvmutils, developed for the osboot project. This newer version is reduced to a single source file instead of many, and builds as a single binary instead of many.

Markdown file for this page:

Site map

This HTML page was generated by the untitled static site generator.