Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/content/docs/blog/2020/06/30/first-post/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: "First Post"
date: 2020-06-30T16:24:32+01:00
draft: false
authors: [ikey]
tags: [news]
license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

In a nutshell, this post wasn't meant to be coming out for a few weeks. As it turns out, we had to get ahead of the cat coming out of the bag, and ensure clarity of goals and ambition.

We've got an awful lot of work ahead of us across the next few months and weeks, and we strongly suggest checking out the [About](/about) page which should answer most questions.

TL;DR This is not your typical user-facing Linux distribution.

So go ahead, check out the [About](/about) page.

Posts will follow in the coming weeks, introducing the core team. It should be pointed out, internally, we're in a stage1 bootstrap phase, with stage2 ready. Tooling is next on the agenda.

If you're looking for a modern, lightweight, user-friendly, privacy-focused Linux desktop distribution, then you're in the wrong place.

Otherwise, stay tuned for the updates. We know our website is insanely wbasic, but it will be improved when it becomes a priority. You're more than welcome to join us on `#serpentOS` on freenode[^1] to become part of the community discussion in the meantime.

Til next time.

---
[^1]: aerynOS now uses a [Zulip server](https://aerynos.zulipchat.com/) for community discussion.
37 changes: 0 additions & 37 deletions src/content/docs/blog/2020/06/30/first-post/index.mdx

This file was deleted.

27 changes: 9 additions & 18 deletions src/content/docs/blog/2020/07/01/the-great-experiment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,25 @@ license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

So as many have come to realise, we had to rush out a website super quick yesterday as the cat
was already out of the bag. One thing that should also be clarified, is our approach to development.

<more></more>
So as many have come to realise, we had to rush out a website super quick yesterday as the cat was already out of the bag. One thing that should also be clarified, is our approach to development.

## We're A Lab

Primarily (but not exclusively) Serpent OS (future: Serpent Linux) is an endeavour worked on by the
Lispy Snake, Ltd crew. So we're all about creating awesome technology and
trying to further the playing field.
Primarily (but not exclusively) Serpent OS (future: Serpent Linux) is an endeavour worked on by the _Lispy Snake, Ltd_[^1] crew. So we're all about creating awesome technology and trying to further the playing field.

Serpent OS is not, however, **owned** by Lispy Snake. It is a contributor-based open source project,
with specific roles. Those will be clarified over the coming week, but there is a dedicated **Project Manager**.
Hint: It's not me.
Serpent OS is not, however, **owned** by Lispy Snake. It is a contributor-based open source project, with specific roles. Those will be clarified over the coming week, but there is a dedicated **Project Manager**. Hint: It's not me.

## Measuring Success

So, how does an experimental project.. measure success? Quite simply - if others adopt our methodologies or
technology, we've succeeded. We're really **not** looking at "number of installs" or "size of userbase" as
a metric, as our chief aim is to _build technology_.
So, how does an experimental project... measure success? Quite simply - if others adopt our methodologies or technology, we've succeeded. We're really **not** looking at "number of installs" or "size of userbase" as a metric, as our chief aim is to _build technology_.

## Options for Longevity

If the experiment is a success, which of course means having tight controls on scope and timescale, then
one would assume the primary way to **use** Serpent OS would be through some downstream repackaging or
reconfiguration, i.e. basing upon the project, to meet specific user demand.
If the experiment is a success, which of course means having tight controls on scope and timescale, then one would assume the primary way to **use** Serpent OS would be through some downstream repackaging or reconfiguration, i.e. basing upon the project, to meet specific user demand.

## It Should Be Fun

This is the heart and soul of all Linux development. Developers should _enjoy_ the involvement and seeing
the end result. If we build something more in the end, then that's a journey we can create together.
This is the heart and soul of all Linux development. Developers should _enjoy_ the involvement and seeing the end result. If we build something more in the end, then that's a journey we can create together.

---
[^1]: Since this blog post, the Lipsy Snake website no longer exists.
16 changes: 6 additions & 10 deletions src/content/docs/blog/2020/07/06/welcome-peter/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,16 @@ license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

Recently we did reveal on Twitter that long time friend and colleague-of-many-projects, Peter O'Connor, has formally joined the core team for
Serpent OS. Many of you know him as `sunnyflunk`. He will be working on core toolchain optimisations, benchmarking, and eventually Plasma inclusion.
Recently we did reveal on Twitter that long time friend and colleague-of-many-projects, Peter O'Connor, has formally joined the core team for Serpent OS. Many of you know him as `sunnyflunk`. He will be working on core toolchain optimisations, benchmarking, and eventually Plasma inclusion.

<more></more>

Peter has long wanted to get the most out of his computing experience, starting from Gentoo back in the 2000's to ensure there was no wasted resources on
features he didn't use. The desire to over-tinker and use unstable software often led to poor outcomes. While the itch laid dormant for over a decade,
it has always been there.
Peter has long wanted to get the most out of his computing experience, starting from Gentoo back in the 2000's to ensure there was no wasted resources on features he didn't use. The desire to over-tinker and use unstable software often led to poor outcomes. While the itch laid dormant for over a decade, it has always been there.

**Peter O'Connor (sunnyflunk)**
> There's not much about Linux that currently excites me, but I've always wanted to see what's possible with a full LLVM/Clang stack. There's never been a better time to find out, but it can be difficult to push the envelope when limited with backwards compatibility and supporting older CPU architectures. After experimenting with some tool-chain customisations the chance to test them out more broadly and with a new tool-chain was too hard to pass up. This is the research project I've always wanted to undertake and looking forward to using it as my daily driver

We'd like to officially extend our welcome to Peter, as the ramp up gets in place. It should be noted, he is partly to blame for Serpent OS
becoming manifest, as the core team got together after discussions on IRC. He has some fantastic ideas, and is a brilliant distribution
engineer with proven success.
We'd like to officially extend our welcome to Peter, as the ramp up gets in place. It should be noted, he is partly to blame for Serpent OS becoming manifest, as the core team got together after discussions on IRC[^1]. He has some fantastic ideas, and is a brilliant distribution engineer with proven success.

As an aside, we're working on improving the website to incorporate a team page, ready for the third team member reveal.

---
[^1]: aerynOS now uses a [Zulip server](https://aerynos.zulipchat.com/) for community discussion.
18 changes: 18 additions & 0 deletions src/content/docs/blog/2020/07/07/welcome-project-manager/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: "Welcome: Project Manager"
date: 2020-07-07T11:35:50+01:00
draft: false
authors: [ikey]
tags: [news]
license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

The Serpent OS team wishes to formally welcome Aydemir Ulaş Şahin to the core team in the primary capacity of Project Manager. Aydemir will help us to coordinate and manage the project goals and infrastructure, being responsible for certain "keys to the kingdom".

Aydemir has extensive experience with Linux, both as a user and developer, having worked in the media industry for many years. Additionally he will be contributing to the core system, code and packaging.

Our initial trio has been announced, and you can always access information on the current team at the new [About page](/about). Now that much of our groundwork has been laid, we can get on with building the project. Check progress at the new Roadmap[^1] page.

---
[^1]: Since this blog post, we have removed our Roadmap page.
23 changes: 0 additions & 23 deletions src/content/docs/blog/2020/07/07/welcome-project-manager/index.mdx

This file was deleted.

21 changes: 9 additions & 12 deletions src/content/docs/blog/2020/08/08/stage1-complete/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,18 @@ license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

Short and sweet, stage1 of the bootstrap is complete. As I indicated on the [Lispy Snake](https://lispysnake.com/blog/2020/08/03/status-update/) blog,
I'm still in the process of settling into new accommodation. This is going well, but still awaiting proper
broadband connectivity. Work has begun, however, and we're now moving onto stage2 of the bootstrap.
Short and sweet, stage1 of the bootstrap is complete. As I indicated on the _Lispy Snake_[^1] blog, I'm still in the process of settling into new accommodation. This is going well, but still awaiting proper broadband connectivity. Work has begun, however, and we're now moving onto stage2 of the bootstrap.

<more></more>
This is handled via our [bootstrap-scripts](https://github.com/serpent-os/)[^2] project and can be run by anyone on a relatively modern Linux distribution.

This is handled via our [bootstrap-scripts](https://github.com/serpent-linux/bootstrap-scripts) project
and can be run by anyone on a relatively modern Linux distribution.
![Validating stage1 cross-compiler](./progress.webp "Validating stage1 cross-compiler")

![Validating stage1 cross-compiler](./progress.webp)
Next on the list is completing stage2, which we've already started on. This is simply a cross-compiled chroot environment with all the basic bits in place to build stage3, sanitizing and cleansing the toolchain.

Next on the list is completing stage2, which we've already started on. This is simply a cross-compiled
chroot environment with all the basic bits in place to build stage3, sanitizing and cleansing the toolchain.

Even though it is early days, we can already, automatically produce a working cross-compiler that targets
LLVM's `libc++`, the musl `libc.so`, and `x86_64-serpent-linux-musl` host triplet.
Even though it is early days, we can already, automatically produce a working cross-compiler that targets LLVM's `libc++`, the musl `libc.so`, and `x86_64-serpent-linux-musl` host triplet.

Probably a dull update for most, but an update it is.

---
[^1]: Since this blog post, the Lipsy Snake website no longer exists.
[^2]: Since this blog post, the bootstrap-scripts project no longer exists.
53 changes: 15 additions & 38 deletions src/content/docs/blog/2020/08/16/stage2-complete/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,15 @@ license: "CC-BY-ND-4.0"
copyright: "Copyright © 2020 aerynOS Developers"
---

Just in case you thought we were sleeping behind the wheel, we've got
another blogpost for your viewing pleasure. In a nutshell, we completed
stage2 bootstrap.
Just in case you thought we were sleeping behind the wheel, we've got another blogpost for your viewing pleasure. In a nutshell, we completed stage2 bootstrap.

<more></more>
![Complete build-target for ARMv8](./ARMv8.webp "Complete build-target for ARMv8")

![Complete build-target for ARMv8](./ARMv8.webp)
In order to simplify life, we greatly reduced the size of the `stage2` build component. This decision was taken to better support cross-compilation in the face of software that is distinctly cross-compilation unfriendly.

In order to simplify life, we greatly reduced the size of the `stage2` build component.
This decision was taken to better support cross-compilation in the face of software that
is distinctly cross-compilation unfriendly.
A support stage, `stage2.5` will be added which will `chroot` into a copy of `stage2`, and natively compile a small handful of packages required to complete `stage3`, also within the chroot environment.

A support stage, `stage2.5` will be added which will `chroot` into a copy of `stage2`, and
natively compile a small handful of packages required to complete `stage3`, also within the
chroot environment.

For cross-compilation, we'll be relying on `qemu-static` to complete `2.5` and `3`.
However, at this point in time, we have the following:
For cross-compilation, we'll be relying on `qemu-static` to complete `2.5` and `3`. However, at this point in time, we have the following:

- Working cross-compilation of the entire bootstrap
- Complete LLVM based toolchain: `clang`, `llvm`, `libc++`, `lib++abi`, `libunwind`
Expand All @@ -38,37 +29,23 @@ This is a major milestone for the project, as it is an early indication that we'

## Multiple Architecture Support

At this point in time, we now have build support for two targets: `x86_64` and `ARMV8a`.
Our intent is to support `haswell` and above, or `zen` and above, for the x86_64 target.
At this point in time, we now have build support for two targets: `x86_64` and `ARMV8a`. Our intent is to support `haswell` and above, or `zen` and above, for the x86_64 target.

With our `ARMv8` target, we're currently looking to support the Pine Book Pro, if we can
manage to get hold of some testing hardware. It will likely be some time after full
x86_64 support that we'd officially support more hardware, however it is very important
that our bootstrap-scripts can trivially target multiple platforms.
With our `ARMv8` target, we're currently looking to support the Pine Book Pro, if we can manage to get hold of some testing hardware. It will likely be some time after full x86_64 support that we'd officially support more hardware, however it is very important that our bootstrap-scripts can trivially target multiple platforms.

![ARMv8](./ARMv8.webp "ARMv8 validation")

An interesting change when cross-compiling for other architectures, is the chicken & egg
situation with `compiler-rt` and other LLVM libraries. When we detect cross-compilation,
we'll automatically bootstrap `compiler-rt` before building `musl`, and then cross-compile
`libc++`, `libc++abi` and `libunwind` to ensure `stage1` can produce native binaries for
the target with correct linkage.
An interesting change when cross-compiling for other architectures, is the chicken & egg situation with `compiler-rt` and other LLVM libraries. When we detect cross-compilation, we'll automatically bootstrap `compiler-rt` before building `musl`, and then cross-compile `libc++`, `libc++abi` and `libunwind` to ensure `stage1` can produce native binaries for the target with correct linkage.

## Next Steps

As we've mentioned, we'll push ahead with `2.5` and `3`, which will complete the initial
Serpent OS bootstrap, producing a self-hosting, self-reliant rootfs. This is the point
at which we can begin to bolt-on package management, boot management, stateless configuration
utilities, etc.
As we've mentioned, we'll push ahead with `2.5` and `3`, which will complete the initial Serpent OS bootstrap, producing a self-hosting, self-reliant rootfs. This is the point at which we can begin to bolt-on package management, boot management, stateless configuration utilities, etc.

Our initial focus is `x86_64` hardware with UEFI, and as we gain access to more hardware we can enable support for more targets, such as `ARMv8a`. Our `bootstrap-scripts` will always remain open source, as will all processes and tooling within Serpent OS, or anything used to build and deploy Serpent OS.

Our initial focus is `x86_64` hardware with UEFI, and as we gain access to more hardware we
can enable support for more targets, such as `ARMv8a`. Our `bootstrap-scripts` will always
remain open source, as will all processes and tooling within Serpent OS, or anything used
to build and deploy Serpent OS.
This will make it much easier in future to create custom spins of Serpent OS for different configurations or targets, without derailing the core project. It should therefore be the simplest thing in the world to fork Serpent OS to one's liking or needs.

This will make it much easier in future to create custom spins of Serpent OS for different
configurations or targets, without derailing the core project. It should therefore be the
simplest thing in the world to fork Serpent OS to one's liking or needs.
If you want to support our work, you can jump onto our IRC channel (`#serpentOS` on freenode)[^1] or support us via the [Funding page](/funding).

If you want to support our work, you can jump onto our IRC channel (`#serpentOS` on freenode)
or support us via the [Team page](/team).
---
[^1]: aerynOS now uses a [Zulip server](https://aerynos.zulipchat.com/) for community discussion.
Loading
Loading