More notes on Red Star OS 3.0

Five years ago, I wrote a post on Red Star OS 3.0, the latest version of North Korea’s home-grown Linux distribution to make its way outside of the country’s walled garden. That post was one of the internet’s first guides on exploring this peculiar distro, so it gathered way more attention than I would ever expect. I’m now back with additional, more specific notes on Red Star’s built-in applications.

Installing from Windows

It turns out there is more to the install.exe Windows executable located in the installation disc. According to a comment in the previous post – as well as Google Translate – the error message displayed by that executable tells you to copy the installation files to your hard drive. Once I copied the DVD’s file structure to the Documents folder and ran install.exe from there, the error message changed to a confirmation request, which apparently asks if I want to reboot to continue.

Clicking the blue button reboots the system to reveal a new “RedStar Setup” entry on the Windows boot menu, set to start automatically after 1 second. That boot entry is automatically removed by the installer once it is up and running.

The installer pulls this off by copying a few boot files to the root of the Windows partition, then registering \RS\rsloader.mbr as a real-mode boot option – often used to chainload into other bootloaders – on Windows’ BCD (Boot Configuration Data); \RS\BCD is presumably a backup of the previous BCD. This is not an unseen tactic, as a few Linux distributions have also shipped Windows-based installation kickstarters in the past, which also leverage the Windows boot manager to start the Linux-based installer without asking the user to fiddle around with BIOS settings and boot menus.

Starting the installer in English is still possible by hammering the E key as soon as the Windows boot menu screen disappears. This will force the Grub bootloader to enter its command line editor. Add lang=en to the end, press Enter to save and B to boot.

Another method is breaking out of the automatic boot (hammer any arrow key on the boot menu), booting into Windows and editing \m_rs.lst with a text editor which can handle UNIX line endings, such as WordPad or Windows 10’s Notepad. Run the editor as administrator, open that file, replace lang=ko with lang=en on the kernel parameters, and save. It’s also worth noting the additional parameters used by the installer to find itself:

RS3URL= points to the installation files’ location within the Windows partition;

points to the installation files’ location within the Windows partition; BOOTUUID= points to the Windows partition by its volume serial number;

points to the Windows partition by its volume serial number; BOOTMGRUUID= points to the partition containing the Windows boot manager, which is usually the hidden System Reserved partition if your system has one.

The installer’s disk utility refuses to alter the Windows partition containing the installation files in any way. You must leave some unallocated space or a partition for Red Star prior to booting the installer, or install to a different drive.

As with other Linux distributions, the installer adds a second boot menu entry which chainloads into the Windows boot manager.

Sogwang Office

The Sogwang Office suite is a fork of OpenOffice.org 3.0 with a North Korean language pack. The option to change the interface language was removed, but the English language pack is still present. Run the following commands as root to remove part of the Korean language pack, forcing all suite applications to load English text instead:

cd /Applications/SGOffice.app/Contents

rm RedStar/resource/*ko.res share/registry/Langpack-ko.xcd

It might be possible to change the language by editing configuration files, however, I couldn’t figure out where the language preference is stored within OpenOffice’s rather complex configuration system. Leave a comment if you happen to know something about OpenOffice’s internals.

Crosswin

The Crosswin compatibility layer is a wrapper around Wine 1.2.2, consisting of a helper application and some Korean-only documentation. It’s an optional component which can be selected on the installer’s Customize window, though it appears you can install optional components after the fact by opening the Software Manager application, selecting the only entry on the list, clicking Modify and selecting the components to install (double-click expands the categories).

Once installed, Crosswin can be reached through the Applications > AppLink > [Korean text] 3.0 menu. The “Install” application provides a few presets for installing common software – apparently just Photoshop, which the North Koreans would have totally legitimate copies of – as well as an Add/Remove Programs interface, a shortcut to winecfg and a font installer.

I’ve attempted to install Photoshop CS2 using the preset, but it didn’t work. After clicking Install, the application asks for some executable, which I assume to be Setup.exe on the Adobe CS2 disc. Selecting it starts the installer, which displays a splash screen for a few moments, closes itself, then the application claims Photoshop was successfully installed, which it clearly wasn’t.

Crosswin can also be invoked by opening .exe files from the file manager. The screenshot below shows a few old Windows XP applications which I’ve opened directly from another drive. Paint doesn’t let you type in text, the Calculator is braindead, and 3D Pinball (minimized) is unplayable due to the plunger and flippers not actuating. The only 3rd-party application on that drive was the PC version of Sonic & Knuckles, which runs fine but with no music due to the lack of a MIDI synthesizer.

APM

The LAMP stack, oddly named APM – which definitely stands for Apache, PHP, MySQL – is yet another optional component. When installed, it adds a little menu bar gadget allowing you to control the stack’s services. The menu is produced by the APM Manager application, one of the system’s numerous fully custom applications which were never translated to English.

The stack provides a Webmin management interface on http://localhost:10000 – selecting the last option on the aforementioned menu will open that URL on Naenara Browser. Run the following commands as root to change Webmin’s language to English:

sed -i 's/ko_KP.UTF-8/en/g' /etc/sat/config /usr/share/sat/web-lib.pl

service sat restart

Refresh the page to apply. Log in as root with the password you set when enabling root access.

The Webmin install (located on /usr/share/sat) is pretty barebones, containing just the Apache Webserver, MySQL Database Server, PHP Configuration and Webmin Users modules. None of the modules Webmin provides for managing itself or the system as a whole are present. For what it’s worth, the limited selection of modules reduces the attack surface – Webmin’s system management modules have faced many CVEs over the years – but iptables on Red Star is configured to block all incoming connections from outside the machine by default anyway.

/Applications

Red Star mimics the OS X .app bundle format for its applications. The executables themselves are inside Contents/RedStar, and the name, icon and executable path are determined by Contents/info.desktop, a standard KDE .desktop file. Some apps like Sogwang Office and GIMP are contained entirely within the bundle. They didn’t go very far with mimicking the OS X filesystem structure, though; /System/Library is a symlink to /usr/share and that’s about it.

Here are all the other applications I haven’t covered:

Address Book , Calculator , Font Book , Grab , kCal (Calendar), kPhoto (iPhoto), Preview , QuickTime Player , Stickies and System Preferences (internally named kcontrol ) are custom-designed clones of their OS X counterparts. Preview hides a copyright string in the executable: “(C) 2009-2012, KCC CHONGBONG CENTER”. QuickTime Player was developed using GTK instead of Qt for some reason.

, , , , (Calendar), (iPhoto), , , and (internally named ) are custom-designed clones of their OS X counterparts. Preview hides a copyright string in the executable: “(C) 2009-2012, KCC CHONGBONG CENTER”. QuickTime Player was developed using GTK instead of Qt for some reason. CD/DVD Writer is K3B, complete with the old Crystal icons from KDE 3. There’s also an OS X Automator icon hiding in the Preferences window.

is K3B, complete with the old Crystal icons from KDE 3. There’s also an OS X Automator icon hiding in the Preferences window. CHMViewer is literally kchmviewer.

is literally kchmviewer. compress is an archiver made to look a bit like WinZip.

is an archiver made to look a bit like WinZip. GIMP , internally named Hwansang.app , is GIMP 2.4 with a custom splash screen.

, internally named , is GIMP 2.4 with a custom splash screen. Kooka has a poor English translation despite it being a KDE app for some reason, judging by the “Device is not connected or you don’t select” error message if no scanner is found.

has a poor English translation despite it being a KDE app for some reason, judging by the “Device is not connected or you don’t select” error message if no scanner is found. Mail loosely follows OS X’s Mail.

loosely follows OS X’s Mail. PDFEditor hides yet another copyright string in the executable: “(C) 2009-2014 KCC INTELLIGENCE INFORMATION RESEARCHER”

hides yet another copyright string in the executable: “(C) 2009-2014 KCC INTELLIGENCE INFORMATION RESEARCHER” PhotoBooth is Cheese.

is Cheese. Ryugyong Janggi is a janggi (Korean chess) game, yet another custom job without an English translation.

is a janggi (Korean chess) game, yet another custom job without an English translation. Simple Text is a clone of… SimpleText from the Classic Mac OS? That’s one big throwback.

is a clone of… SimpleText from the Classic Mac OS? That’s one big throwback. SWF Player is Gnash, specifically qt4-gnash .

is Gnash, specifically . Software Manager allows for installing optional components from the installation media, as mentioned in the Crosswin section. There’s also a system updater, which is not configured by default, though it would presumably download updates through the North Korean intranet. Its executable hides the incredibly useful copyright string “(C) 2008 djh”.

allows for installing optional components from the installation media, as mentioned in the Crosswin section. There’s also a system updater, which is not configured by default, though it would presumably download updates through the North Korean intranet. Its executable hides the incredibly useful copyright string “(C) 2008 djh”. UnBangUI is a musical score composer, also missing an English translation. A Windows version might exist, given how the toolbar icons are Windows-like and the application itself is developed using wxWidgets. It includes a handful of sample songs demonstrated in the video below. At least 3 of those appear to be Richard Clayderman compositions according to YouTube’s copyright flag system; leave a comment if you know anything about the other ones.

In the Utilities folder:

Activity Monitor , Disk Utility , Key Store (Keychain Access), Network Utility and System Profiler continue the trend of custom-designed applications that clone their OS X counterparts. Activity Monitor and Disk Utility hide a copyright string: “(c) 2009 Osandok Information Center”. System Profiler hides another string: “(C) 2012 mhi”.

, , (Keychain Access), and continue the trend of custom-designed applications that clone their OS X counterparts. Activity Monitor and Disk Utility hide a copyright string: “(c) 2009 Osandok Information Center”. System Profiler hides another string: “(C) 2012 mhi”. Bokem is a file and disk encryption utility, demonstrated on the 31C3 talk starting at 11:45.

is a file and disk encryption utility, demonstrated on the 31C3 talk starting at 11:45. RSLogBrowser loosely follows OS X’s Console.

In the AppLink Development folder:

Companero is the Eclipse IDE. It comes with Java support for the built-in OpenJDK 1.6.0_17 and there is no Install New Software option for installing plugins.

is the Eclipse IDE. It comes with Java support for the built-in OpenJDK 1.6.0_17 and there is no Install New Software option for installing plugins. KDbg , MySQL Query Browser , Qt4 Assistant and Qt4 Designer are exactly what you’d expect, though it appears MySQL Query Browser had its English translation removed.

, , and are exactly what you’d expect, though it appears MySQL Query Browser had its English translation removed. SamTaeSong 3.0 IDE is KDevelop, including KDevelop Assistant (STS Assistant) and KDevDesigner (STS Designer).

Further developments

Red Star 4.0 Server was released (page 6) around January 2019, reportedly featuring UEFI support and improved server management tools. It has not leaked yet as of writing.