Tuesday 21 December 2021

A Mariner Story - Part II

The first thing to do in exploring Mariner is to actually run it. This is relatively easy to do given that the Mariner team offers an already built ISO image and also the possibility to build such an image from sources. I opted to use the pre-built ISO.

A Hyper-V runner

The next step is to boot the ISO image into a VM runner. Oracle VirtualBox is good enough on Ubuntu so I tried it but ... I had to reinstall:
  • dkms
  • virtualbox-dkms ...

... and then I had to add the new MOK key to allow the kernel load the VirtualBox-specific drivers securely.

Booting ... not

After these corrections one might think Mariner ISO will boot on VirtualBox just like that. Not really ...

In my case the boot loader was spinning continuously asking me to type F12 to select a boot drive and the only drive available was the HDD which, obviously, was not bootable at the time.

A detail no one talks about

The fix consisted in ticking the System | Enable EFI (special OSes only) option in the VM settings because Mariner is a special OS, perhaps.

Once that was done the installer loaded nicely from the ISO and I was able to install this version of Linux on the virtual HDD. Then shutdown, evict the ISO from the virtual optical drive and ...

... lo and behold, ladies and gentlemen, it takes just a few simple steps and only a couple of small annoyances to have a CBL-Mariner instance up and running!

In short, Linux rocks. So does Microsoft.



Sunday 19 December 2021

PeachOS - Part 2

In a previous post I wrote about my new foray into the fascinating world of operating systems.

The picture below shows that sometimes even a letter (A, in this case) is worth a thousand words.


Saturday 18 December 2021

A Mariner Story - Part I

 

The main focus of my current work at Microsoft has a lot to do with CBL-Mariner - the Microsoft Linux distro that is being used heavily within our cloud infrastructure and beyond.

More precisely, me and my immediate colleagues are involved into porting a part of our Telecom infrastructure to this platform. Without entering into details, it is an exceedingly rewarding effort that results in knowing some internals of this platform quite well - and fulfilling a business necessity into the same time.

The job is made easier by having direct access to the Mariner team itself along with a lot of internal documentation and help - one of the many delights derived from working for a business that produces widely-used core technology.

And yet, the question remains: what is it like using Mariner from outside? What can be learned from it? Well, this series of blogs (i.e. "A Mariner Story") will try to give some answers in this respect.

What?

I hereby initiate a series of blog articles recording my dwellings with this platform as an outsider. These articles will make use and refer to exclusively public sources and technologies. In fact, I write this introductory article on Ubuntu 20.04.3 LTS directly in the browser.

The Mariner version addressed will be whatever GA version is current (1.0 at the time of this writing). The whole material will be based on experiments carried out outside of my work duties. The scope will be to explore the platform for the sake of technological curiousity and without any particular business purpose in mind.

When?

Starting today. While I cannot promise a cadence, I'll try to publish often enough to maintain fluency.

How?

The whole experiments will be carried out on the latest Ubuntu LTS (20.04.03 at the time of this writing) and the platform will be tested via publicly available tools such as Oracle VirtualBox.

I already dedicated an Ubuntu box (recycling an old computer of mine) for the purpose and Windows will be considered only to demonstrate WSL or Container on Windows capabilities, if needed. In such case, Windows 10 Professional will be the platform of choice.

Who?

The target audience are people with a passion for Linux and who wish the learn more by building, configuring and tweaking a new but important Linux distribution.

Disclaimer

If not obvious from the paragraphs above, this effort is entirely personally motivated. It is not required or endorsed by Microsoft and the opinions expressed herein are my own and not of my employer.

Ready?

Yes.

Monday 13 December 2021

OpenStack

 

Given that the holiday season is approaching, I am treating myself with another pursuit: OpenStack Certification, 2/e.

I undertake this new endeavour not because I wish to become an administrator but because OpenStack is an essential IaaS platform for virtualized Telecom.

One never gets bored with technology.

Sunday 12 December 2021

PeachOS

 

I started a new course on Udemy: Developing a multi-threaded kernel from scratch - authored by Daniel McCarthy, an instructor whose high-quality materials I used before.

The course brings the student to the stage of booting a toy kernel from USB on an x86 architecture via QEMU. The name of the toy kernel is PeachOS, hence this article.

The course covers several major topics:

  • initial setup
  • real-mode development
  • protected-mode development - the largest part by a wide margin
  • improvements related to FAT16
  • briefing on assembly language for x86
It brings fond memories. In short: 138 brief but dense lectures and 28 hours of fun!