DistroWatch Weekly, Issue 650, 29 February 2016

Feature Story (by Jesse Smith)

Haiku in 2016



About once a year I like to put aside Linux distributions, and the various flavours of BSD, to look at Haiku. As the Haiku website tells us, "Haiku is an open source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful."



The Haiku operating system is unusual in that all of the pieces of the system are developed by one team. Linux distributions are usually assembled from a collection of thousands of other projects. The BSD projects generally put together the base operating system (the kernel, documentation and command line utilities), but leave creating desktop environments and graphical applications to third-party projects. The Haiku team not only handles kernel and userspace development, they also work on their own desktop environment and many end-user programs. The project consists of a single team writing everything from the kernel, drivers, userland services, tool kit, and graphics stack to the included desktop applications and preflets. While numerous open source projects are utilized in Haiku, they are integrated seamlessly. This allows Haiku to achieve a level of consistency that provides many conveniences, and is truly enjoyable to use by both end-users and developers alike. The most recent version of Haiku, Alpha 4, was released over three years ago, in November of 2012. The project's website suggests people who want to try more recent copies of Haiku should try the development snapshots. Development snapshots are often a good way to try out new features, but they can be prone to breaking and it's probably not a good idea to install them on any computers where reliability is a priority.



I downloaded the most recent development snapshot, which was available as a 283MB ISO file. Booting from this media brings up a graphical screen. A window pops up and asks us to select our preferred language from a list and, optionally, we can pick our keyboard's layout from another list. At this point the system asks if we would like to run a live desktop environment or launch the project's system installer.



Haiku's desktop consists mostly of open, empty space with a soft blue background. At the top of the screen we find icons for accessing the file system and launching the system installer. A panel in the upper-right corner of the screen gives us access to the Applications & Settings menu. The panel also contains a system tray where we can find network settings and a volume control. At the bottom of the panel we find a list of open windows that facilitates switching between tasks and hiding or restoring windows.





Haiku 2016 -- The application menu

(full image size: 114kB, resolution: 1280x1024 pixels)



Launching Haiku's installer brings up a graphical application window. The installer begins by showing us some important information about the installation process. In particular, we are told we should have a partition set aside for Haiku to use before we begin the installation. While Haiku does feature a partition manager, the developers suggest we might gain better results using another partition manager. The first screen of the installer also includes notes on how to add a Haiku entry to the GRUB boot loader should we have an existing GRUB configuration. The next screen of the installer asks us to select a partition where Haiku may be installed. There is a button on this page that launches a partition manager where we can create and destroy partitions.



The system installer wants us to create at least one partition of the Be File System type. I did this in the partition manager window and then returned to the system installer. At first, the system installer did not seem to recognize the Be partition I had created. After a little experimenting, I discovered the partition must be both set to be of the Be type and then formatted with the Be File System through the partition manager. The system installer does not format the partition automatically and will not allow us to use the partition as an install target until it has been formatted. Once a partition has been properly set up and formatted, the Haiku installer copies its files to our hard drive. This process takes all of about ten seconds. We are then returned to the installer where we can set up a boot loader, if one does not already exist on our computer. If we do have GRUB already installed, we can follow the supplied instructions to add Haiku to our existing boot menu. Then we can reboot the computer to test our new operating system.



The Haiku operating system boots quickly, taking us from the boot menu to a full desktop environment in about five seconds. Haiku is a single user operating system, meaning we have just one user account and there is no password protection in place. This is highly convenient as it means we never need to sign into our account, but it also means anyone can access all of our files simply by booting Haiku.



Haiku is not only quick to boot, but the desktop is also pleasantly responsive. Windows, menus and buttons react almost instantly to input. The operating system, when sitting at the desktop, uses around 180MB of memory and is fairly light on resources when compared next to most Linux distributions running full featured desktops. I tried running Haiku in two test environments, a desktop computer and a VirtualBox virtual machine. Haiku did not boot on the desktop machine, keeping that aspect of my trial quite short. The operating system did run well in VirtualBox. While Haiku was not able to integrate into the VirtualBox environment seamlessly and the default display resolution was low, I was able to increase the operating system's display resolution through one of Haiku's desktop configuration tools.





Haiku 2016 -- Trying to add a printer device

(full image size: 93kB, resolution: 1280x1024 pixels)



Haiku ships with a collection of desktop applications which seem to be unique to the operating system. While these programs may be slightly different from those which run on Linux distributions, the functionality tends to be very similar. Haiku ships with a functional web browser, package manager and e-mail client. We are also given a handful of desktop configuration apps, a contact manager and text editor. Haiku ships with a sound recorder, media player, IRC client and even a minimal web server. In the background we find an old copy of the GNU Compiler Collection (version 2.95).



One thing I appreciated about my time with Haiku was that it was usually easy to guess what an application would do, based on its name. For example, it wasn't too hard to guess that "People" would offer address book functionality or that "WebPositive" would be a web browser and "MediaPlayer" would be a, well, media player. There were a few programs whose names were less descriptive. I didn't know before trying them what "Poorman" and "Pe" did. (They were a web server and text editor, respectively.)



Haiku offers us a number of desktop widgets for monitoring such things as the time and system resources. These widgets can be spawned and placed around the desktop. At first I was not sure how to remove a widget after it had been created, resulting in a bit of visual clutter. I eventually found unwanted widgets could be dragged into Haiku's trash folder which was represented by an icon at the top of the desktop.



Haiku ships with a graphical software manager, called HaikuDepot. The depot, as I came to think of it, shows us a window divided into two parts. The top section of the window displays a list of available software packages in alphabetical order. Clicking on a package's entry causes the bottom section of the window to display more detailed information and a screen shot of the application we have highlighted. A search box allows us to try to locate items by name. Near the bottom of the window is an Install/Remove button we can click to cause the highlighted package to be added or removed from our system. The software manager worked well for me and I was impressed with how quickly operations were processed. The only issue I ran into was with my own unfamiliarity with the software available to Haiku users. I could browse for what I wanted or maybe get lucky by searching for keywords that described the functionality I wanted. But being a Haiku novice, I did not always know what was available or how best to find it. For example, I spent about five minutes searching for a screen shot utility, only to finally discover there is not one in the depot because Haiku includes one by default. However, the screen shot program is not listed in the application menu (so far as I could tell) and needs to be invoked from the command line.





Haiku 2016 -- The HaikuDepot software manager

(full image size: 125kB, resolution: 1280x1024 pixels)



I ran into a few technical problems during my trial. For example, while Haiku's default web browser could display most on-line content, including YouTube videos, watching videos on YouTube sometimes caused the operating system to lock-up, requiring a hard reboot. When I tried playing audio files, Haiku's media player would open the file and then produce sound that resembled rapid-fire Morse Code. This meant that my multimedia experience was a bit limited when running Haiku, but all other aspects of the operating system functioned well.



Conclusions



I am of the opinion the Haiku project is doing a good job of creating an operating system in the modern image of BeOS. It took me a while to get used to the way Haiku does window management and to navigate the unfamiliar waters of the software available, but generally speaking I think Haiku performs well.



Haiku is unusual in that all the pieces of the operating system are developed by one team and I was curious to see if that would make a difference in the style of Haiku or in the way it performed. So far as I could tell, there is not a practical difference from the end user's perspective. Having all the developers on one team may make things work smoothly behind the scenes, but for the person sitting in front of the screen, I did not notice any benefit or drawback to the integrated approach to development.



What did stand out for me was that Haiku feels like a 1990s operating system. Specifically, the lack of user accounts and security checks makes Haiku feel like an artefact of the past. The user can explore anywhere, delete anything, install any software without seeing a prompt for credentials. This makes using Haiku very streamlined, but it takes away our safety net and effectively means Haiku will only be useful in situations where there is just one computer user. In short, Haiku tended to feel like a modern representation of how we used to do things. A well engineered, high performance model of what computing used to be like before most of us got concerned about security and abstraction. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card

Miscellaneous News (by Jesse Smith)

Android-x86 partners with Remix OS, Shashlik enables running Android apps on GNU/Linux, Fedora plans Atomic Workstation, Tanenbaum looks back on 30 years of MINIX history, and a fix for the UEFI bug



Android-x86 is a port of Google's Android operating system that is designed to run on desktop and laptop computers. Recently, there has been increasing interest in running Android on desktop machines and additional projects have appeared with similar goals. Last week Android-x86's founder Chih-Wei Huang announced a partnership between Android-x86 and Remix OS: " I'm glad to announce an official partnership with Jide Technology, the creators of Remix OS, because I believe they can help accelerate us towards achieving our goals. This partnership is a natural fit since we both strive to make Android PCs a reality. Remix OS seeks to create a familiar experience for Android users in a PC environment, and the Android-x86 Project has laid the foundation for this to happen. Together, Remix OS for PC provides a full Android PC experience. " The announcement has further information on the partnership.



In other Android-related news, the Shashlik project reported progress recently. The Shashlik project develops software that allows GNU/Linux distributions to run Android applications on the desktop. The idea is to have Android applications integrate seamlessly into a desktop distribution's environment. The project's website states: " This is our first `we should probably make a release' public release of the Shashlik technology. Having released a teaser video, we wanted to put out some binaries so people can start to test Shashlik for themselves. It's still very much an early prototype snapshot, but it should allow you to run some apps and games on your desktop. " Information on how to install and use Shashlik can be found on the project's website. * * * * * Last week the OpenBSD development team decided to drop a little-used feature of their operating system: Linux emulation. OpenBSD was capable of supporting older 32-bit Linux applications, but the feature was not widely used. Of the change, OpenBSD developer Christian Weisgerber wrote: " Support for running Linux binaries under emulation is going away. The patch below removes `option COMPAT_LINUX' and everything directly tied to it (kernel configuration, #ifdef sections, etc.) from the kernel tree and the corresponding man page documentation. " * * * * * Fedora fans may soon see a new edition of the popular, Red Hat-sponsored distribution. The Fedora developers have plans in place to create an Atomic Workstation which would separate the base operating system from the applications that run on it. " The idea of an `Atomic Workstation' is to use the ideas of Project Atomic to have a core operating system for a workstation that updates atomically as a whole, and then layer extra software on top of that. This is as opposed to the traditional model, where the operating system is dynamically composed on the end user's system out of individual packages. " One of the advantages of the proposal is the ability to rollback broken updates and to avoid conflicting software versions following upgrades. More details on Atomic Workstation can be found on the project's wiki. * * * * * Andrew Tanenbaum started working on MINIX, an open source implementation of UNIX, over 30 years ago. The MINIX operating system features a microkernel, readable code and is often used in educational environments. MINIX was also one of the inspirations for the development of the Linux kernel. Andrew Tanenbaum has published a detailed look back on MINIX's early days and some of the lessons he has taken from working on the operating system. " It took me approximately two years to get [MINIX] running, working on it only evenings and weekends. After the system was basically working, it tended to crash after an hour of operation for no reason at all and in no discernible pattern. Debugging the operating system on the bare metal was well nigh impossible and I came within a hair of abandoning the project. I then made one final effort. I wrote an 8088 simulator on which to run MINIX, so when it crashed I could get a proper dump and stack trace. To my horror, MINIX would run flawlessly for days, even weeks, at a time on the simulator. It never once crashed. I was totally flummoxed. I mentioned this peculiar situation of MINIX running on the simulator but not on the hardware to my student, Robbert van Renesse, who said he heard somewhere that the 8088 generated interrupt 15 when it got hot. I told him there was nothing in the 8088 documentation about that, but he insisted he heard it somewhere. So I inserted code to catch interrupt 15. Within an hour I saw this message on the screen: `Hi. I am interrupt 15. You will never see this message.' I immediately made the required patch to catch interrupt 15. After that MINIX worked flawlessly and was ready for release. " The rest of Tanenbaum's reflection can be found here. * * * * * Earlier this month we reported on a serious UEFI bug that may cause computers to stop working if a certain directory is deleted. The bug was exposed from a combination of things: faulty UEFI implementation in the hardware, the kernel allowing userspace applications to harm the hardware and the UEFI data being mounted with editing privileges enabled. After some debate over who was at fault and what should be done to fix the issue, the kernel developers have released a patch which addresses the problem. " This is unusually large, partly due to the EFI fixes that prevent accidental deletion of EFI variables through efivarfs that may brick machines. These fixes are somewhat involved to maintain compatibility with existing install methods and other usage modes, while trying to turn off the 'rm -rf' bricking vector. " The patch prevents accidental damage to the computer, but does not prevent a skilled attacker from modifying the UEFI data and rendering the machine unable to boot.





Questions and Answers (by Jesse Smith)

Persistent storage and distributions for Psion devices



Saving-things-from-a-live-USB-environment asks: One thing I like about Parted Magic on a USB flash drive is that you have an option to save any changes you made when shutting down. Are there any other distros that offer that feature? I know some distros can have persistence and always save any changes or some, like Puppy Linux, will offer to create a persistence file the first time you quit then always save changes after that.



I want to set up my desktop, browser shortcuts, etc. once and then always come back to that. I want an option to save any changes or not.



DistroWatch answers: Several distributions offer the ability to save changes back to a live USB drive while using (or shutting down) the computer. Puppy Linux and Parted Magic were already mentioned as options. Other projects, like openSUSE also support persistent USB thumb drive storage. If you want to have the option to use persistent storage or not, some other distributions like Ubuntu provide a boot-time option to save persistent data. Though I have not found the feature documented, I think PCLinuxOS offers a boot time option as well that allows the user to save persistent data during a live USB session. The Alpine distribution is quite flexible and features several installation and run-time options. Some of them deal with saving data from a live session. * * * * * Working-with-older-equipment asks: Which distro should I use for installing on a Psion 5MX or Psion Revo? My only main requirements would be decent amount of packages and bash and a bit of Internet, maybe Firefox, cause the network connection would not be coming from the Psion.



DistroWatch answers: For those who are not familiar with the Psion series of devices, they were small personal digital assistant devices launched in the 1990s. Given the age of the device, there are not likely to be many of them still operating and not many distributions that will run on them.



I was able to dig up one project, called OpenPsion, which might do the job. The project's website states, " OpenPsion (formerly PsiLinux) is a project to port the Linux operating system to a group of palmtops produced by Psion. At present, working Linux systems can be installed on any of the Series 5, Series 5MX, Series 5MX-Pro, Revo (Revo+, Mako) machines (not the Series 3). All root file systems are based on either Debian or handhelds.org (OpenEmbedded) Linux, since precompiled binary packages (e.g., "*.deb" or "*.ipk" files) for the ARM processors are available. The Debian approach (Sarge) is presently the most developed. Installation of Linux on a Psion requires some prior experience with the Linux operating system.



The OpenPsion website has not been updated since 2006, but the devices they support have not either. I suspect OpenPsion is probably the best, and perhaps the only, option available unless you want to try creating your own distribution for the Psion device. * * * * * Past Questions and Answers columns can be found in our Q&A Archive.

Torrent Corner

Weekly Torrents



Bittorrent is a great way to transfer large files, particularly open source operating system images, from one place to another. Most bittorrent clients recover from dropped connections automatically, check the integrity of files and can re-download corrupted bits of data without starting a download over from scratch. These characteristics make bittorrent well suited for distributing open source operating systems, particularly to regions where Internet connections are slow or unstable.



Many Linux and BSD projects offer bittorrent as a download option, partly for the reasons listed above and partly because bittorrent's peer-to-peer nature takes some of the strain off the project's servers. However, some projects do not offer bittorrent as a download option. There can be several reasons for excluding bittorrent as an option. Some projects do not have enough time or volunteers, some may be restricted by their web host provider's terms of service. Whatever the reason, the lack of a bittorrent option puts more strain on a distribution's bandwidth and may prevent some people from downloading their preferred open source operating system.



With this in mind, DistroWatch plans to give back to the open source community by hosting and seeding bittorrent files. For now, we are hosting a small number of distribution torrents, listed below. The list of torrents offered will be updated each week and we invite readers to e-mail us with suggestions as to which distributions we should be hosting. When you message us, please place the word "Torrent" in the subject line, make sure to include a link to the ISO file you want us to seed. To help us maintain and grow this free service, please consider making a donation.



The table below provides a list of torrents we currently host. If you do not currently have a bittorrent client capable of handling the linked files, we suggest installing either the Transmission or KTorrent bittorrent clients.



Operating System Torrent MD5 checksum Antergos 2016.02.21 antergos-2016.02.21-x86_64.iso 676891c1f056176c04e4d4dcefc6e088 IPFire 2.17-core98 ipfire-2.17.i586-full-core98.iso c6a2b0a70d45d72d5dcaef5649a67e4c



Archives of our previously seeded torrents may be found here. All torrents we make available here are also listed on the very useful Linux Tracker website. Thanks to Linux Tracker we are able to share the following torrent statistics.



Torrent Corner statistics:

Total torrents seeded: 167

Total data uploaded: 30.0TB

Released Last Week

Upcoming Releases and Announcements

Opinion Poll

Books for learning Linux



One of our readers asked last week which books people find useful for learning Linux, preferably books which are written with newcomers to Linux in mind.



We have covered some popular titles here in the past, and have featured them in this week's poll, but we would also like to hear suggestions from our other readers. What books or on-line guides can you recommend for people who are new to Linux and want a friendly introduction to using Linux distributions?



You can see the results of our previous poll on package managers here. All previous poll results can be found in our poll archives. Books for learning Linux



How Linux Works: 104 (16%) Linux Bible: 154 (23%) Linux for Dummies: 97 (15%) Linux Phrasebook: 26 (4%) A Practical Guide to Ubuntu/Fedora: 29 (4%) Ubuntu Made Easy: 20 (3%) Ubuntu Unleashed: 39 (6%) Other: 191 (29%)

DistroWatch.com News