Linux on Power

PowerLinux is the combination of a Linux-based operating system (OS) running on PowerPC- or Power ISA-based computers from IBM. It is often used in reference along with Linux on Power, and is also the name of several Linux-only IBM Power Systems.

Linux on Power Systems provides an open, scalable infrastructure built to process massive amounts of data quickly, efficiently and cost-effectively to formulate real-time actionable business insight.

Anyone familiar with GNU/Linux will not be surprised by the fact that this operating system runs on almost all known processors. However, very few people are aware that mere support just might not be enough. You’ll also need to keep an up-to-date repository of code. This is especially true when it comes to serious hardware such as POWER.

Here Is What You Need To Master Command Line And Become A Linux Power UserI guess that almost all desktop systems in the office or home are derived from one prototype, the IBM PC (personal computer), which was built around the concept of an open architecture that IBM introduced 30 years ago. It’s true that the company itself didn’t quite understand how revolutionary open hardware architecture would be a few years later, in the mid-80s. Whatever the case, the fact remains that the PC became popular because many independent manufacturers could produce a wide range of compatible peripherals. This, in turn, allowed a competitive market to develop, eventually making desktop PCs available to everyone.

The open development model of Linux first embraced the desktop market of x86 computers, and then proceeded to “capture” other architectures as well (now more than 20), ranging from x86, ARM and MIPS, to Alpha, SPARC, PowerPC, IA64 and S390.

IBM® Power Systems servers allow you to run Linux® applications, while taking advantage of POWER® hardware performance, availability, and reliability features.

Embedded Linux on ServiceProcessor

In addition to control via a serial line, IntelliStation (and in general, all IBM products) offers management via an ordinary Web browser. This Web control mechanism (Advanced System Management — see Figure 6) is provided by a tiny computer within the IntelliStation, with Linux and BusyBox utilities.

Figure 6: Management via Web interface

This ServiceProcessor also uses Power technology — a PowerPC 405 CPU from IBM [Datasheet PDF] but with a much smaller form factor. This uses a low-power processor FSP (Flexible Service Processor) running at about 200 MHz (see Figure 7).

Embedded Linux runs on PowerPC 405 from IBM
Figure 7: Embedded Linux runs on PowerPC 405 from IBM

ASM provides the same controls as the serial-line SMS but in a more usable manner (Figure 8). It lets you manage the system remotely — start/stop it, view logs, allocate resources (like Capacity on Demand parameters), etc.

Figure 8: ASM’s user-friendly controls presentation

Let’s briefly see how this subsystem is launched. When you connect the mains power to the box, the ServiceProcessor automatically starts the embedded Linux. After initially testing  some components of a larger block, ServiceProcessor displays on a front panel the readiness status for full system start. When you hit the “Power On” button, OpenFirmware loads and ultimately passes control to your Linux boot loader, yaboot.

Like with the large system, this small subsystem has two independent Ethernet controllers, referred to as HMC 1 and HMC 2. It makes sense to connect them to separate LANs/VLANs for a special management network. First, it helps access restriction and security. Second, you can avoid a network traffic overload on a single LAN.

IP addresses for these ports can be supplied by a DHCP server on a management network. If one isn’t found, default addresses are automatically assigned: 192.168.2.147 (port C7-T1, on HMC1) and 192.168.3.147 (port C7-T2, HMC2). You can log in via telnet, with the default credentials admin/admin.

$ mount
/dev/mtdblock/0/3 on / type cramfs (rw)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
/dev/mtdblock/0/1 on /opt/extucode type jffs2 (rw)
/dev/mtdblock/0/1 on /etc type jffs2 (rw)
/dev/mtdblock/tmpram/tmpram on /tmp type jffs2 (rw)
none on /var type tmpfs (rw)
/dev/mtdblock/pcscore/pcscore on /core type jffs2 (rw)
/dev/mtdblock/pcsram/pcsram on /opt/p1 type jffs2 (rw)
shm on /var/shm type shm (rw)
/dev/mtdblock/1/1 on /alt/extucode type jffs2 (rw)
/dev/mtdblock/2/3 on /opt/fips type cramfs (rw)
/dev/mtdblock/nvram/nvram on /opt/p2 type zofs (rw,sync)
$ uptime
8:49am  up 1 day, 14:53, load average: 0.52, 0.20, 0.07
$ uname -a
Linux fsp 2.4.18-rc4 #1 Wed Mar 25 15:01:22 UTC 2009 ppc unknown
$ cat /proc/version
Linux version 2.4.18-rc4 (root@mcpbuild6) (gcc version 3.2.3 20030401 (prerelease)) #1 Wed Mar 25 15:01:22 UTC 2009

As we see, Embedded Linux uses JFFS/CRAMFS filesystems, which are common in tiny products. An interesting feature is NVRAM memory mounted as storage (/dev/mtdblock/nvram/nvram). Reading data from its files gives the status of different subsystems. You can also change some values using commands from /opt/fips/bin — particularly, you can even try to launch several subsystems (or maybe the full system box) with /opt/fips/bin/powr_fsp_spcn, which checks the current system status, and accordingly launches /bin/powr_L4 or /bin/powr_sqh. The ASM Web server (named webs), when you click the button Save settings and power on does the same.

The IBM Power9 9009-42A two socket 20-core configuration has a maximum of 318,000 CPW with all 20 cores active and has a starting price of $28,300. The S924 9009-42A Power9 chip core speed specifications range between 3.5-3.9 GHz.