Kernigh's Hub

 

OpenBSD

Page history last edited by Kernigh 5 mos ago

mainbus0 at root: model PowerBook5,4

 

Puffy and OpenBSD
http://www.openbsd.org/

Across the internet, every computer needs an operating system. The purpose of each system is to manage the computer, share the computer between programs (Firefox, VLC), provide access to hardware (screen, keyboard) and connect to the internet. Some systems are GNU/Linux, Microsoft Windows and Solaris.

 

Kernigh uses OpenBSD/macppc as a primary operating system.  The macppc machine is a PowerBook G4 and also boots Mac OS X and NetBSD.

 

Kernigh uses OpenBSD to run Xorg, KDE, Firefox, XMMS, games and other software. The system is for playing roguelike games, editing wiki and hacking source code.

 

I run OpenBSD because it is "free, functional, secure" and also because a new OpenBSD release always appears every six months. This includes new packages every six months, so I can always have recent versions of packages. OpenBSD belongs to the BSD family of Unix clones.

 

OpenBSD is not for everyone

OpenBSD is a less common system with fewer users of graphical desktops. This is not a system that goes to a graphical desktop by default! OpenBSD requires some manual setup.

 

  • The text-mode installer may look primitive, but is actually simple and convenient. The one complication is that the user must follow the instructions to manually create the disk partitions.
  • The new system boots to a command-line shell, not a graphical desktop.
  • From that shell, Kernigh used adduser(8) to create a user account and pkg_add(1) to add more software packages, like KDE and Firefox.
  • Kernigh also edited some configuration files. Users can learn the shell commands and configuration files if they read the OpenBSD manual pages.

 

Easier systems might be DesktopBSD, MidnightBSD, PC-BSD and some of the GNU/Linux distributions.

 

Different ways to collect software

Users of the Unix clones collect software differently than users of Microsoft Windows.

 

  • Users of Microsoft Windows like to download software from many places, because many hackers release software compiled for Windows.
  • Users of Unix clones tend to download software from one source: the packages collection for their operating system. Many hackers release C or C++ source code for Unix, but no hacker has a compiler for every system. Someone must recompile the source code for each system system, so the developers of each system run their C or C++ compiler and produce a packages collection.

 

OpenBSD and its packages collection have a new release every six months. After each release, users must wait six months before they can upgrade any package. If users want to upgrade before six months, or if they want software that is not part of the packages collection, then they must acquire the source code, run the compiler, and wait for the build to finish. Kernigh builds Snes9x-GTK from source code because Snes9x-GTK has frequent releases of source code and is not part of the packages collection of OpenBSD.

 

Disadvantages of OpenBSD

OpenBSD has a few annoyances that seem to persist forever.

 

  • OpenBSD has an inferior implementation of pthreads(3).
    • OpenBSD, like other systems that resemble Unix, provides the pthreads interface for multithreaded programming, which allows one process to run multiple threads at the same time, while the threads share the memory and the open files.
    • The other systems provide kernel threads through pthreads. OpenBSD still provides pthreads through a user-mode library, with no kernel support; so threads above OpenBSD have problems or limitations. The most obvious limitation is that the OpenBSD pthreads library confines all threads of a process to one processor.
    • Another limitation, which seems arbitrary, is that programs using OpenBSD pthreads cannot use sigaltstack(2). This causes problems like Ruby Bug #1239.
  • Konsole, which is the terminal emulator of KDE, has a mysterious problem. This is KDE Bug 149932 but it only happens with OpenBSD. To avoid this problem, Kernigh uses xterm.
  • The default character set can never be UTF-8, Shift-JIS or any multibyte encoding. This is only a problem for programs that use setlocale(3) and nl_langinfo(3) to get the default encoding.
    • The command ls /usr/share/locale/*/LC_CTYPE | cut -d/ -f5 lists the valid values for the LC_CTYPE environment variable which sets the default encoding.

 

Notes from Kernigh

Here are some notes that I dumped onto this wiki.

 

External documentation for OpenBSD

 


The text of this wiki page is in the PublicDomain.

 

Comments (0)

You don't have permission to comment on this page.