Skip to content

A linux distrubution based on sabotage linux, using the musl c standard library. Packages are built with autonomous scripts very similar to slackware's SlackBuilds and the build system is built on mk.

Notifications You must be signed in to change notification settings

bobertlo/northstar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Northstar linux is an experimental linux distribution based on sabotage[1]
linux. Northstar builds its core userspace statically using the musl[2] C 
standard library. Dynamic linking support is under development, but is very
experimental at this point and only targeting bloated software and a small
set of extreneous languages that require dynamic objects.

=== BOOTSTRAP INSTRUCTIONS:

To build northstar linux on a foreign linux system, you must first create a
bootstrap toolchain and then a chroot environment. 

--- Building a bootstrap toolchain:

The bootstrap toolchain is built statically and installed to the prefix $BS
(default: /tmp/bootstrap) which is then mounted read-only at the same point 
inside the chroot.

  cp dist/bootstrap.config config
  # set ARCH and MAKE_THREADS
  vi config
  . config
  mk install-bootstrap

--- Preparing and entering the chroot:

At this point there should be toolchain capable of building northstar proper 
inside a chroot. The next step is to prepare the chroot environment, copy the
northstar source tree inside the chroot, and enter the chroot.

  . config
  utils/prepare-chroot
  utils/mount-chroot
  # copy the source tree into $NS_ROOT
  cp -r . $NS_ROOT/src/northstar
  utils/enter-chroot
  # ...
  utils/umount-chroot
  
NOTE: remember to unmount the bind mounts inside the chroot before modifying
  the contents of $NS_ROOT (eg: deleting them) or you could  delete  /dev/*,
  causing varying amounts of damage to your host system.

=== BUILD INSTRUCTIONS:

Once you are running in a bootstrap environment, you can use mk to build 
northstar packages, building and installing any build dependencies as needed.

  cd /src/northstar
  cp dist/stage1.config config
  # set ARCH and MAKE_THREADS
  vi config
  . config
  mk install-devel
  mk install-core

=== LINKS ===
[1] http://github.com/chneukirchen/sabotage
    http://github.com/rofl0r/sabotage
[2] http://www.etalabs.net/musl

About

A linux distrubution based on sabotage linux, using the musl c standard library. Packages are built with autonomous scripts very similar to slackware's SlackBuilds and the build system is built on mk.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages