Skip to content

Linux/PC-98 v0.8.0

Latest

Choose a tag to compare

@awemorris awemorris released this 06 Aug 20:57

Linux/PC-98 v0.8.0

This release adds the traditional ifconfig command to both distributed userlands. The i386 BusyBox images provide the built-in BusyBox applet, and the Debian 13/i486 images install the net-tools implementation. It retains the IDE and SCSI Linux 7.1 images, replaceable BOOT98 boot chain, standalone kernels, and Windows x64 qemu-pc98 distribution introduced in v0.7.0.

Public disk images use the GDC display and PC-98 keyboard as the console. The PC-9801-55/92 Linux driver is built into the i386 and i486 kernels.

Choosing a disk image

Image CPU and userland Interface and geometry Minimum RAM Raw size limit
linux-pc98-i386sx-busybox-ide.img.xz i386SX, static BusyBox IDE, H=8/S=17 5 MiB below 40 MB
linux-pc98-i386sx-busybox-scsi55.img.xz i386SX, static BusyBox PC-9801-55 compatible SCSI, H=8/S=17 5 MiB below 40 MB
linux-pc98-i386sx-busybox-scsi92.img.xz i386SX, static BusyBox PC-9801-92 SCSI, H=8/S=32 5 MiB below 40 MB
linux-pc98-i486dx-debian13-ide.img.xz i486DX or newer, Debian 13/i486 IDE, H=8/S=17 64 MiB below 2 GB
linux-pc98-i486dx-debian13-scsi55.img.xz i486DX or newer, Debian 13/i486 PC-9801-55 compatible SCSI, H=8/S=17 64 MiB below 2 GB
linux-pc98-i486dx-debian13-scsi92.img.xz i486DX or newer, Debian 13/i486 PC-9801-92 SCSI, H=8/S=32 64 MiB below 2 GB

Write the appropriate decompressed image to a CF card, SD adapter, SCSI2SD, BlueSCSI, or another block device. Writing an image destroys the existing contents of the destination device.

Networking tools

Both userlands now include ifconfig. Debian also continues to include ip, ping, wget, and the OpenSSH server. Network interfaces are not configured automatically when no interface configuration is present, which prevents unnecessary boot delays on machines without a LAN adapter.

Windows qemu-pc98

  • qemu-pc98-win64.zip contains x86_64 and i386 QEMU system binaries, required runtime DLLs, libusb support, and the free compatibility BIOS.
  • virtpc98.exe is included as the graphical frontend.

Kernels and boot loaders

  • vmlinux-i386 is the low-memory Linux 7.1 kernel for i386SX systems.
  • vmlinux-i486-debian is the Linux 7.1/i486DX kernel used by the Debian images.
  • bootloader.zip contains LINUX98.EXE, INST.EXE, the three .IMG installer inputs, IO.SYS, BOOT.SYS, BOOT.CFG, and documentation.

Boot from DOS

Run this from plain real-mode DOS. Memory managers or other software that has already entered protected mode can prevent the loader from taking control.

Copy LINUX98.EXE and an uncompressed VMLINUX to a DOS-accessible FAT volume and run, for example:

LINUX98 VMLINUX ide0 root=PARTLABEL=LINUXROOT rw
LINUX98 VMLINUX scsi0 root=/dev/sda2 rw

Bootloader

Read README.md and DOS-README.md in bootloader.zip.

Our boot sequence:

ITF      ... Reads LBA0-1 and jumps. (LBA0 is the boot sector, LBA1 is the partition table)
LBA0     ... Reads LBA2 and jumps
LBA2-15  ... Reads LBA3-15 and execute. Just jumps to the PBR of the "BOOT" partition.
PBR      ... Loads our IO.SYS and jumps.
IO.SYS   ... Loads BOOT.SYS, enters the protected-mode, and jumps.
BOOT.SYS ... 32-bit boot loader program. Loads VMLINUX from the "BOOT" partition and jumps

INST.EXE installs our boot codes to a specified disk or a partition.

# LBA0
INST /LBA0

# LBA2-15
INST /LBA2

# Partition PBR and IO.SYS
INST /PART C:
COPY BOOT.SYS C:

Reproducible build

The complete release artifact set is generated with:

./build.sh release --version v0.8.0