Square Pyramid is released
The Baserock team, and Codethink Limited are proud to announce the third public release of the Baserock system build infrastructure. In this release, Square Pyramid we are pleased to be able to showcase the ability of Baserock to build a system entirely from Git repositories.
What is in Square Pyramid
Square Pyramid is a development release of Baserock. It consists of four VM
images; base
and devel
for x86_32
and x86_64
. base
is a relatively
small system, used as an example target image, and devel
is a system with
all the tools required to build itself, plus development conveniences like
text editors and debugging tools.
What has changed since Secret Volcano?
We updated busybox
to a newer release, which fixes vi's $
command.
The current time is set by ntpd.
We no longer use busybox's less
.
cmake
and valac
have been added to allow building new types of software,
strace
and gdb
have been added to aid debugging of programs, and lsof
has been added for debugging system problems.
rsync
has been added, this will make copying disk images between VMs easier.
morph
has seen more internal changes.
- System and Stratum morphologies don't need to be in the same repository any more.
- Where artifacts are cached to is printed to the terminal, so it's easier to find where built system images are located.
- The
morph build
command is now calledmorph build-morphology
. - System and Stratum morphologies have been renamed
- x86_64-generic-base-system is now base-system-x86_64-generic
- x86_64-generic-devel-system is now devel-system-x86_64-generic
- Development System images are 2G in size, rather than 10G, since the recommended practise is to add an extra disk for caches anyway.
- The baserock workflow tools are now considered useful, if not very well
documented.
morph init $dir
creates a workspace- When in
$dir
,morph checkout baserock:baserock/morphs master
will check out the master system branch into your workspace. morph branch baserock:baserock/morphs $foo [master]
will create a new branch called$foo
based offmaster
morph edit $system $stratum $chunk
will allow you to make changes to the chunk$chunk
in the system.morph build $system
will build the system called$system
based on the current state of your current system branch- Build is pretty cool, as it allows you to build without committing your changes, but since morph needs to build from committed code, it commits in a temporary branch, which means you can see what changed between builds.
How do I get started?
You can find a quick start guide on the Baserock wiki and also a short guide on developing with Baserock which follows on from the quick start and shows you how to get to the point of proving you can build Baserock within Baserock.
From that point on, your imagination is the limit. We're working on several things we hope to showcase later in the year and you can follow some of that development in the Git repositories we publish.
How do I get in contact
The Baserock project has an IRC channel and mailing list for developers to gather and discuss anything associated with Baserock. It is strongly recommended that you use the IRC and lists to contact the team for anything associated with the public development of Baserock. We also have a mailing list for announcements which will be notified of any new releases or big developments in Baserock.
Should you manage to find a bug in Baserock, we'd like to hear from you. You can find our bug reporting guidelines on the Baserock wiki and we will do our best to help.
We hope you enjoy experimenting with Baserock and look forward to hearing about any cool things you do with our work.
Richard Maw (On behalf of the Baserock team)