cmc/cleberg.net
My personal web garden & blog.
clone: git clone https://gitbay.org/cmc/cleberg.net.git
main: content/blog/2022-09-17-serenity-os.org · raw
1#+date: [2022-09-17 Sat 00:00:00]
2#+title: Building and Exploring SerenityOS
3#+description: Building and running SerenityOS, a retro Unix-like desktop OS.
4#+slug: serenity-os
5#+filetags: :linux:
6
7* Overview
8
9[[https://serenityos.org][SerenityOS]] is a unique operating system (OS) that I have seen pop up in my news
10feed a few times over the last few years, but I have never had time to test it
11out until now.
12
13Testing out this system brought back fond memories of yellowed,
14modem-screeching, 100-pound computers that brought so many fond memories to my
15youth.
16
17Per their website:
18
19#+begin_quote
20A graphical Unix-like operating system for desktop computers!
21
22SerenityOS is a love letter to '90s user interfaces with a custom
23Unix-like core. It flatters with sincerity by stealing beautiful ideas
24from various other systems.
25
26Roughly speaking, the goal is a marriage between the aesthetic of
27late-1990s productivity software and the power-user accessibility of
28late-2000s *nix.
29
30This is a system by us, for us, based on the things we like.
31#+end_quote
32
33* Building
34
35Your first question may be "Where's the iso?" and the answer is... there are
36none. SerenityOS does not provide pre-built images for testing. You must build
37the images yourself. This seems intentionally to limit participation to only
38those who are truly interested enough to learn how to build the OS.
39
40** Clone
41
42In order to get started, you'll need to clone the source repository:
43
44#+begin_src sh
45git clone https://github.com/SerenityOS/serenity && cd serenity
46#+end_src
47
48** Build
49
50Note that I followed the [[https://github.com/SerenityOS/serenity/blob/master/Documentation/BuildInstructions.md][Build Instructions]] in the SerenityOS repository as of
51commit =660d2b53b1206e868d5470eee80b5e62d7e30da7=. Things may have changed since
52my installation, and you should double-check the instructions first.
53
54Regardless, I want to repeat my steps here to illustrate any errors or differing
55commands I needed to run in order to build and run SerenityOS.
56
57Since I am running Fedora, I needed to install these packages in order to build
58the OS images:
59
60#+begin_src sh
61sudo dnf install texinfo binutils-devel curl cmake mpfr-devel libmpc-devel gmp-devel e2fsprogs ninja-build patch ccache rsync @"C Development Tools and Libraries" @Virtualization
62#+end_src
63
64Next, make sure you're inside the =serenity= directory created earlier during
65the git cloning process and process to build the toolchain:
66
67#+begin_src sh
68Meta/serenity.sh rebuild-toolchain
69#+end_src
70
71Once the toolchain is built, you can Build and run the OS!
72
73#+begin_src sh
74Meta/serenity.sh run
75#+end_src
76
77After this process is completed, the image should run automatically and
78launch.
79
80* Issues
81
82I played around in SerenityOS for an hour or two in order to see what I could do
83and had a lot of fun with it. The only issue I ran into was a lack of working
84internet. I didn't try very hard, but I could tell that the main network link
85wasn't connecting to my Fedora host properly.
86
87* Screenshots
88
89The initial launch of the image displays the SerenityOS desktop, with a simple
90terminal already launched.
91
92There is also a "Fire" application (literally just shows fire burning), a
93browser with the local Serenity Browser page loaded, and a text editor.
94
95I also poked around the system utilities and found most tools you'd expect to
96find within a standard desktop, such as a system monitoring tool.
97
98Lastly, I noted that the default desktop contains numerous pre-defined themes to
99choose from. This is a small piece, but it's actually wonderful to see desktop
100developers consider theming directly out of the box rather than using an
101addon-based mentality.
102
103I didn't take a screenshot of the other pre-installed games, but I did spend
104nearly 30 minutes playing Solitaire before remembering that I was supposed to be
105writing a post about the OS.