Now that we’ve had some time to become familiar with Novena, we’ve seen new and interesting bugs crop up. We’ve spent time fixing these bugs, and the result is a system that is much more stable.
When we shipped Novena, we added a Debian repository hosted at repo.novena.io. To ensure secure updates, we sign all updates pushed to this repository with a key that resides on an air-gapped system. This system will never directly connect to a network, to help ensure that the private key never leaves the signing machine. We keep a log of changes on our wiki.
With Debian, updates are not automatically installed. You must manually run the update procedure yourself. To install updates, run these commands:
sudo apt-get update sudo apt-get upgrade
Novena is an open-source laptop, and all of our packages have their source code published. To download the source for any package, use the command “apt-get source”. For example, to download the U-Boot source, run “apt-get source u-boot-novena”.
The update includes a new kernel, new bootloader, and several other packages. The bootloader now supports the LCD, which helps get the screen up much quicker. It also makes it easier for someone to come up with a “boot menu” or a “BIOS configuration screen”, should they want something like that. U-Boot also includes a feature requested by a member of the community: If the “lidbootblock” feature is set by novena-eeprom and U-Boot is started with the lid shut, U-Boot will power the system off right away. This comes in handy when putting a Novena in a situation where it will get jostled, such as a backpack or a suitcase.
The kernel includes several fixes as well. A major fix is Hibernate support, which writes the contents of RAM to disk and fully powers the system off, meaning the system can be suspended indefinitely. To take advantage of this feature you will need to increase the size of your swap partition. There is a good post in the forums on how to do this. The new kernel also fixes thermal throttling, which means that you can compile a kernel using all four cores in parallel without worrying about cooling. When the system hits 75 degrees, it will start to throttle performance, keeping the mainboard from overheating.
We’ve also updated the firmware for the Senoko battery board. The update fixes a problem where the board would lock up. It also increases margains on the battery safety levels. Previously, Senoko would shut down Novena when the battery voltage reached 9V. The new Senoko firmware will also shut down Senoko itself when the battery voltage reaches 8.8V, or when any single cell reaches 2.9V. It is recommended that everyone upgrade to the new firmware to prevent their battery from getting damaged when run all the way down.
The Senoko battery board controls the charging mechanism. Updating the firmware requires a user to be physically present to authorize the update by pressing the “Reflash” button on the battery board. While this measure makes it less convenient to update Senoko, it is intended to make it more difficult for malware to flash mods onto Senoko that can create potential fire hazards. To update, please do the following:
Finally, the new kernel update has changed one of the parameters for programming the FPGA using dd scripts. The newer kernel will hang when performing block transfers to SPI larger than 32 bytes. As a workaround, modify any script that programs the FPGA using “dd”. Simply replace “bs=128” with “bs=32”. For example:
dd if=novena-fpga.bit of=/dev/spidev2.0 bs=32