Codethink demonstrated its Baserock Linux stack running the new Linux 3.15 kernel and an open source graphics driver stack on Nvidia’s Jetson TK1 SBC.
Codethink ported Baserock with the new Linux kernel to the Jetson in 24 hours to promote its Linux stack’s workflow tools while also showing off the capabilities of Nvidia’s open source Linux development board. “This shows what’s possible with the right people working on a fully open source software stack with Baserock,” stated Paul Sherwood, CEO of Manchester, UK-based Codethink. “Linux 3.15 was released late Sunday in California. We got our board on Monday. James started the work on Tuesday. By Wednesday we had a fully working system, with wayland and weston running EGL clients using totally open technologies.”
Added James Thomas, the key developer on the project, “Most projects take weeks or months to get to this stage, if you can get there at all.”
(click image to enlarge)
Nvidia unveiled the $192 Linux-based Jetson TK1 single board computer in January and opened pre-orders for the hacker board in March for April shipments. At the time it also demoed its use in a self-driving Audi.
The board’s Tegra K1 system-on-chip integrates four, 2.3GHz ARM Cortex-A15 cores, a 192-core Mobile Kepler GPU, and an ARM7 power management core. In a break from past proprietary practices, Nvidia released an open source driver for the SoC and its high-powered GPU in February.
The Tegra K1 has yet to earn many design wins compared to its chief rival, Qualcomm’s high-end Snapdragon 800. This may be because customers are waiting for the 64-bit version to launch, probably in 2015. To help spur adoption, in April, Nvidia announced a CUDA Vision Challenge with promises of giving 50 Jetson SBCs to winning developers.
Baserock gets back to the git
Codethink’s Baserock is an open source project that combines a Linux distribution, build system, and workflow tool into a single development environment. While the platform targets experienced software engineers who are well acquainted with git and the command line, the overall goal is simplicity, traceability, repeatability, and upgradeability, says the company.
(click image to enlarge)
The stack is somewhat similar to Yocto, OpenEmbedded, Buildroot, Gentoo, or OBS, says Codethink. However, it differs in that git is used for all sources, and components are said to be integrated “with as little delta/forking vs upstream as possible.”
Baserock supports 32- and 64-bit x86 processors, as well as ARMv7. Prototype support is provided for 64-bit Power chips. Codethink also maintains a baseline version compliant with the GENIVI Alliance’s GENIVI automotive spec, which appears to be part of the Jetson build.
Baserock splits the development processing into bootstrapping, engineering, and updating phases. The workflow tool, which uses morph commands, was key to getting the new kernel up and running so quickly on the Jetson platform.
Other tools in the Baserock suite include a Lorry tool for collecting upstream source, a Trove appliance for hosting git repos, and a Definitions git repo for defining reference systems. A Trebuchet updating tool based on BTRFS snapshots makes use of a tbdiff tool that creates binary diffs between directory trees.
The new Linux 3.15 kernel supports much faster suspend and resume processes from hard disk drives, and adds support for cross-renaming two files atomically. Other new features include a new file locking API, as well as new fallocate(2) system call modes that lets developers remove the range of a file or set it to zero.
Memory management is now better adapted to working set size changes, and FUSE write performance has improved. There’s new support for the LZ4 algorithm in zram, as well as loading 64-bit kernels from 32-bit EFI systems. Newly supported drivers include Sony’s DualShock 4 controller.
The kernel has also added support for the AVX-512 vector instructions that Intel is adding to upcoming CPUs. These will be featured next year in Intel’s “Knight’s Landing” design for 14nm processors, which will enable up to 72 Atom cores on a single board for HPC applications.
Nvidia’s experiment with open source is one of many good omens for open software of late. Among other developments, Marvell recently opened its kimono on a major Armada 370 processor, and the number of open-spec SBCs has exploded over the last year.
This week, Tesla released all its patents for its Linux-based electric cars, which should expand the reach of open source practices. Even Apple has opened up its iOS 8 platform somewhat, although it’s still a long, long way from FOSS.
“No NDAs, no third party dependencies, no secret sauce, just open source,” stated Codethink CTO Rob Taylor, summarizing the Jetson port. “Hats off to NVIDIA for their great community contributions that have made this possible, and to the great work done by the free and open source software developers around the world.”
More information about the Linux 3.15 Baserock stack for the Jetson, including a demo video, may be found in the Codethink announcement. More on Baserock may be found at its Baserock.org project site.