Monday 6 June 2022

CentOS 4 on PCem Pentium 75 - System Information

CentOS 4.0 GNOME desktop on a PCem Pentium 133

CentOS

CentOS was a freely available version of Red Hat Enterprise Linux (RHEL), which followed the upstream RHEL updates and removed any non-free IP from the packages.

Red Hat developed a commercial Linux in the form of Red Hat Linux (also known as Red Hat Commercial Linux), which developed a stable long term support distribution in the form of Red Hat Enterprise Linux (RHEL), which includes components not covered by free licenses. To provide a community Linux which wasn't constrained by enterprise concerns, the Red Hat Linux line was replaced with Fedora Linux. Fedora Linux provides a Red Hat style distribution nearer the bleeding edge than RHEL and isn't encumbered by non-free licenses. This change meant that many users were faced with a decision... to switch to Fedora and cope with the more dynamic nature of the project, or pay for RHEL to get long term stability.

Since RHEL was based on opensource, a number of projects sprung up that took the free parts of RHEL, removed any branding or other encumbered property, and repackaged them into new distributions (see Red Hat Enterprise Linux derivatives - Wikipedia). CentOS was one of these projects and provided an RHEL compatible distribution that lagged a little bit behind RHEL release and updates, and was freely available. While CentOS has since been acquired by Red Hat, and its role (as CentOS Stream) has changed to being upstream of RHEL, we're going to be looking at a version from not long after Red Hat Linux was discontinued.

CentOS 4

RHEL 4 was released on 15-Feb-2005 and was based on Fedora Core 3 (8-Nov-2004). With the corresponding CentOS 4 being released a little later on 9-Mar-2005. Based on the Linux 2.6 kernel (see Introducing the 2.6 Kernel | Linux Journal), this was a jump from previous RHEL and CentOS releases which had used the Linux 2.4 kernel.

Older CentOS releases are available for download from: https://wiki.centos.org/Download.

Friday 27 May 2022

Linux for ARM on QEMU (virt) - System Information

Linux for ARM

Processor designs from Arm Ltd. are used in a plethora of microprocessors and SoC (System on a Chip) components. Which power a wide range of devices including: smartphones, tablets, PDAs, network routers, NAS systems, set-top boxes, etc. Some (non-exhaustive) lists of devices using the ARM architecture can be found in:

The initial port of the Linux kernel to ARM began back in 1994, then targeting an Acorn A5000 running RISCOS, and grew from there through to being part of the mainline Linux kernel.

The use of ARM cores in microprocessors, microcontrollers and SoC devices, for many different vendors, meant that supporting Linux on a device would often require a specific kernel built for that specific device. This limited the availability of general purpose Linux distributions, while making vendor specific embedded Linux kernels common. Fortunately since most user-space applications use the kernel abstractions to access devices, the same user-space can be used with any kernel built for the same flavor of the architecture (see ArmPorts - Debian Wiki).

Support for a selection of ARM based systems ('arm') appeared in the Debian GNU/Linux 2.2 (`potato') release in 2000. The current Debian Linux 11 (bullseye) supports ARM through the 'armel', 'armhf' and 'arm64' (aka. 'aarch64') ports.

QEMU

The diversity of devices using the ARM processor means the QEMU system emulators for ARM provide a large number of emulated systems, with the QEMU 5.2.0 build I'm using listing 90 systems for the 64-bit system emulator (qemu-system-aarch64), and 84 for the 32-bit system emulator (qemu-system-arm). While most systems appear in the lists for both emulators (suggesting they could be implemented with 32-bit or 64-bit processor cores) a small set of systems are 64-bit only.

While most of the available systems correspond to physical hardware, the "QEMU ARM Virtual Machine" system ('virt') is a virtual system based on the use of paravirtualized devices. This provides performance improvements, particularly for I/O, and is useful for software development and testing, for cases where specific hardware features are not required.

Wednesday 25 May 2022

RedHat Linux 7.3 (Valhalla) on PCem Pentium 75

Red Hat Linux 7.3 GNOME desktop

RedHat Linux

Initially established back in 1994, Red Hat (Wikipedia) is a commercial Linux vendor known for the RedHat Linux, Red Hat Enterprise Linux (RHEL) and Fedora Linux distributions.

RedHat Linux 7.3 (Valhalla) was released in 2002, and supported i386 through early Pentium 4 systems (the Intel Core based processors didn't ship until 2006). So it is suitable for comparing our physical Intel Pentium system (tilia) and the PCem emulated equivalent.

Earlier Releases

A couple of earlier Red Hat Linux releases are described on the same PCem system in:

It is interesting to see the evolution of the Red Hat Linux distribution over these releases.

PCem

The IBM PC and compatibles emulator PCem supports a range of PC system, from the original Intel 8088 based IBM PC through to a early 2000s slot 1 based Pentium II system. This includes a couple of systems featuring the Intel 430fx chipset which makes them equivalent to our physical system.

So the target emulated hardware is:

MainboardIntel Advanced/ZP (Zappa); Intel Triton 82430FX PCIset aka. 430FX
CPUIntel Pentium 75
RAM72 MiB (128 MiB max.)
Floppy3.5" 2.88MB
StorageIDE Controller Intel 82371FB aka. PIIX, ATA-2 16 MB/s
IDE hard disk 2048 GB
ATAPI CD-ROM drive
VideoS3 Trio64 based VGA
Network10Mb/s ethernet ISA

Monday 23 May 2022

Linux for PowerPC on QEMU (g3beige) - System Information

QEMU g3beige running Debian Linux 8 with XFCE desktop

QEMU & Linux for PowerPC

A recent post (see Linux for PowerPC on QEMU (mac99) - System Information) looked at Linux on QEMU's 'mac99' machine, an emulation of an Apple PowerMac G4 (AGP Graphics). But what about QEMU's other Power Macintosh system?

QEMU

QEMU provides an emulation of the older, Apple Power Macintosh G3 ("beige").

Checking Apple Support, EveryMac.com, Wikipedia the hardware specification for the 'g3beige' would be:

SystemApple Power Macintosh G3 ("beige")
Mac FirmwareOldWorld
CPUPowerPC 750 @ 233, 266, 300, or 333 MHz; upgrade to G4 @ 350 or 400 MHz
RAM32, 64 or 128 MiB (768 MiB max.)
BusPCI
Storagebuilt-in IDE controller; 128GB max. HD
built-in SCSI controller
4GB SCSI, 2x 4GB SCSI or 8GB IDE hard disk(s)
24x ATAPI/IDE CD-ROM
Floppy3.5" 1.44MB
VideoATI 3D Rage II+, ATI 3D Rage Pro, or ATI 3D Rage Pro Turbo, 6 MiB VRAM
AudioWhisper or Wings personality card
Networkbuilt-in RTL-8029(AS) 10 Mb/s 10baseT ethernet
Keyboard & MouseADB

Third-party processor upgrades offered higher spec. G3 and G4 options. Since the emulation will determine the processor speed, we'll go with the default processor.

Emulation Command

For reference the QEMU command used:

qemu-system-ppc \
    --machine g3beige \
    -hda hda_DebianLinux_g3beige.qcow2 \
    -cdrom debian-8.11.0-powerpc-DVD-1.iso \
    -g 1024x768x8 \
    -net nic \
    -net "user,guestfwd=:10.0.2.1:22-cmd:netcat 127.0.0.1 22,hostfwd=::2222-:22" \
    -kernel vmlinux-3.16.0-6-powerpc \
    -initrd initrd.img-3.16.0-6-powerpc \
    -append 'root=/dev/sda3' \
    -name 'Debian Linux 8 (jessie) on Power Macintosh G3 (Beige)'

Note that due to issues with the boot loader, a kernel and ramdisk extracted from the installed system are used to start the system.

Saturday 21 May 2022

Mandrake Linux 7.2 (Odyssey) on PCem Pentium 75

Mandrake Linux 7.2 KDE desktop

Mandrake Linux

Initially established back in 1998, MandrakeSoft (Wikipedia) was a commercial Linux vendor known for the Mandrake Linux distribution (Wikipedia), after a merger with the Brazilian Linux distribution Conectiva and a dispute over rights to the "Mandrake" name, the company and their Linux distribution changed name from Mandrake to Mandriva.

Mandrake Linux is notable for many improvements to desktop Linux distributions, including improvements to hardware detection and handing, and the use of a graphical installation process. Mandrake was also a pioneer in optimizing their Intel x86 distribution for Pentium or higher processors.

Mandrake Linux 7.2 was released in 2000, and so was a competitor with Red Hat Linux 6.2, and supported Pentium through early Pentium III systems (the Intel Pentium 4 didn't ship until November that year). So it is suitable for comparing our physical Intel Pentium system (tilia) and the PCem emulated equivalent.

PCem

The IBM PC and compatibles emulator PCem supports a range of PC systems, from the original Intel 8088 based IBM PC through to a early 2000s slot 1 based Pentium II system. This includes a couple of systems featuring the Intel 430fx chipset which makes them equivalent to our physical system.

Basing our desired system on tilia and the PCem devices, the target emulated hardware is:

MainboardIntel Advanced/ZP (Zappa); Intel Triton 82430FX PCIset aka. 430FX
CPUIntel Pentium 75
RAM72 MiB (128 MiB max.)
Floppy3.5" 2.88MB
StorageIDE Controller Intel 82371FB aka. PIIX, ATA-2 16 MB/s
IDE hard disk 2048 GB
ATAPI CD-ROM drive
VideoS3 Trio64 based VGA PCI
Network10Mb/s ethernet ISA or 100Mb/s ethernet PCI