content/blog/2022-09-17-serenity-os.org

0b2895a90c7751ce06e4b26d4db41005ea2f40a9
cleberg.net/content/blog/2022-09-17-serenity-os.org rendered · source · history · blame · raw

111 lines · 4076 bytes

  1#+date:        <2022-09-17 Sat 00:00:00>
  2#+title:       Building and Operating Serenity OS: A Retro-Inspired Unix-Like System
  3#+description: Technical overview of Serenity OS including system architecture, building procedures, and operational instructions for this Unix-like operating system with a 1990s user interface style.
  4#+slug:        serenity-os
  5#+filetags:    :serenityos:operating-system:build-instructions:
  6
  7* Overview
  8
  9[[https://serenityos.org][SerenityOS]] is a unique operating system (OS)
 10that I have seen pop up in my news feed a few times over the last few
 11years, but I have never had time to test it out until now.
 12
 13Testing out this system brought back fond memories of yellowed,
 14modem-screeching, 100-pound computers that brought so many fond memories
 15to my youth.
 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
 36are none. SerenityOS does not provide pre-built images for testing. You
 37must build the images yourself. This seems intentionally to limit
 38participation to only those who are truly interested enough to learn how
 39to build the OS.
 40
 41** Clone
 42
 43In order to get started, you'll need to clone the source repository:
 44
 45#+begin_src sh
 46git clone https://github.com/SerenityOS/serenity && cd serenity
 47#+end_src
 48
 49** Build
 50
 51Note that I followed the
 52[[https://github.com/SerenityOS/serenity/blob/master/Documentation/BuildInstructions.md][Build
 53Instructions]] in the SerenityOS repository as of commit
 54=660d2b53b1206e868d5470eee80b5e62d7e30da7=. Things may have changed
 55since my installation, and you should double-check the instructions
 56first.
 57
 58Regardless, I want to repeat my steps here to illustrate any errors or
 59differing commands I needed to run in order to build and run SerenityOS.
 60
 61Since I am running Fedora, I needed to install these packages in order
 62to build the OS images:
 63
 64#+begin_src sh
 65sudo 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
 66#+end_src
 67
 68Next, make sure you're inside the =serenity= directory created earlier
 69during the git cloning process and process to build the toolchain:
 70
 71#+begin_src sh
 72Meta/serenity.sh rebuild-toolchain
 73#+end_src
 74
 75Once the toolchain is built, you can Build and run the OS!
 76
 77#+begin_src sh
 78Meta/serenity.sh run
 79#+end_src
 80
 81After this process is completed, the image should run automatically and
 82launch.
 83
 84* Issues
 85
 86I played around in SerenityOS for an hour or two in order to see what I
 87could do and had a lot of fun with it. The only issue I ran into was a
 88lack of working internet. I didn't try very hard, but I could tell that
 89the main network link wasn't connecting to my Fedora host properly.
 90
 91* Screenshots
 92
 93The initial launch of the image displays the SerenityOS desktop, with a
 94simple terminal already launched.
 95
 96There is also a "Fire" application (literally just shows fire burning),
 97a browser with the local Serenity Browser page loaded, and a text
 98editor.
 99
100I also poked around the system utilities and found most tools you'd
101expect to find within a standard desktop, such as a system monitoring
102tool.
103
104Lastly, I noted that the default desktop contains numerous pre-defined
105themes to choose from. This is a small piece, but it's actually
106wonderful to see desktop developers consider theming directly out of the
107box rather than using an addon-based mentality.
108
109I didn't take a screenshot of the other pre-installed games, but I did
110spend nearly 30 minutes playing Solitaire before remembering that I was
111supposed to be writing a post about the OS.