Glossary¶
Concise definitions of the Amix-, Amiga-, and SVR4-specific terms that recur across these docs. Each entry is one or two lines and links to the page that covers the term in depth. Confidence tags (✅ verified, 🟡 community-reported, 🔴 unverified/disputed) carry over from the research brief — they are not upgraded here.
Entries are alphabetical. Acronyms sort by their letters (so "RDB" sits under R, "s5" under S).
3B2¶
AT&T's WE32x00-based minicomputer line whose SVR4 codebase Commodore reportedly ported, for licensing-cost reasons, rather than starting from a pre-existing 68k port 🟡 (community-reported — amigaunix.com hedges "it appears that"; corroborated by EAB/datagubbe, no primary citation). The 3B2 lineage is the suspected reason Amix defaults to the s5 filesystem at install even though everyone uses UFS 🟡. See How Amix works: overview.
/usr/sys¶
The kernel build tree. Amix ships the kernel as compiled object libraries under /usr/sys; you
relink /unix here ✅. Some .o files come with source, others are object-only. Driver
sources/objects are dropped into a subdir under /usr/sys and added to that dir's makefile ✅. See
the kernel build process and the driver model.
AUTOCONFIG¶
The Amiga bus protocol that assigns Zorro II board addresses at every reset ✅.
Amix reads the assigned addresses through the kernel's autocon() interface; Zorro II
only ✅. The on-disk nibble format (two nibbles per logical byte, upper nibble D15–D12, most fields
ones-complement) is decoded by the lszorro scanner ✅. See
Zorro AutoConfig for driver authors.
autocon()¶
The Amix-specific kernel call a driver uses to discover its Zorro II board:
autocon(product_id, dev, &board, &dummy) 🟡 (repo-confirmed). Used by the
va2000 and hydra drivers.
See Zorro AutoConfig. Distinct from the boot-time init tables
init_tbl[]/io_init[] declared in kernel.c.
Amix¶
Commodore's port of AT&T UNIX System V Release 4 (SVR4) to the 68030 Amiga; kernel platform
string m68k-cbm-sysv4 ✅. Monolithic kernel, no AmigaOS compatibility layer, does not touch
the Amiga custom chips — it treats the machine as a generic 68030 Unix workstation ✅. See the
overview.
cdevsw / bdevsw¶
The two kernel device switch tables, declared in conf.h and instantiated in
kernel.c, indexed by major number ✅. cdevsw[] is for character
devices (d_open/d_close/d_read/d_write/d_ioctl/d_mmap/d_segmap/d_poll/d_xpoll/d_xhalt, plus
d_ttys, d_str, d_flag); bdevsw[] is for block devices
(d_open/d_close/d_strategy/d_print/d_size/d_xpoll/d_xhalt/d_flag) ✅. Unused slots get nodev,
notty, nostr, or nullflag. See the driver model.
clist¶
The SVR4 character-list queue used to buffer slow byte-stream I/O; manipulated with getc()/putc()
✅. The parallel-port driver (par.c) in the Ditto paper uses a clist for its output queue ✅. See
writing a char driver.
DLPI¶
Data Link Provider Interface — the SVR4 STREAMS service interface a link-layer network driver
exposes (messages DL_INFO_REQ, DL_BIND_REQ, DL_UNITDATA_REQ) ✅. The
hydra NE2000 driver is a DLPI STREAMS driver registered at
cdevsw slot 47 ✅. See writing a STREAMS driver
and networking.
elf2brel¶
The converter in the kernel boot//stand/ directory that turns the (natively built) ELF kernel into Amix's
boot ("brel") format ✅. Part of the on-box kernel build: native cc/GCC → ELF → elf2brel → make force ✅
(used by e.g. the hydra driver). See the
toolchain.
HAT¶
Hardware Address Translation — the SVR4 MMU abstraction layer ✅. Amix uses the full 68030 MMU
through HAT ✅; the install kernel even carries the panic string
hat_vtokp_prot: user addr in kernel space ✅. The MMU requirement is why Amix needs MMU emulation
in WinUAE and cannot run on MMU-less CPUs or the 68040 (whose MMU the kernel predates) ✅. See the
kernel architecture and hardware.
kernel.c¶
The kernel configuration file (master.d/kernel.c), provided in source, that holds the device
switch tables (cdevsw[]/bdevsw[]), the interrupt tables (int2_tbl[], a
level-6 table), and the boot-time init table (init_tbl[]/io_init[]) ✅. Adding a driver means
editing kernel.c to add the entries, then rebuilding ✅. The full original file is not publicly
archived; its schema is inferred from the Ditto paper plus the modern repos 🔴. See the
driver model and kernel build.
m68k-cbm-sysv4¶
The Amix kernel platform / configure triple string ✅. GNU autodetect on Amix instead reports
m68k-unknown-sysv4, so cross-toolchains must set the triple explicitly ✅. See the
overview and toolchain.
major / minor¶
The two numbers that identify a /dev node: the major selects the
driver (an index into cdevsw[]/bdevsw[]), the minor selects the sub-device;
the kernel knows only the numbers, not the name ✅. Examples from the Ditto paper: /dev/console =
char major 0 minor 0; /dev/dsk/c0d0s1 = block major 18 minor 1 (SCSI driver); /dev/fd0 = block
major 16; /dev/par = char major 21 ✅. You create a node with mknod /dev/<name> c|b <major> <minor>
✅. See the device list and driver model.
miniroot¶
The minimal UFS root filesystem on the install root floppy (amix_21_root.adf) that mounts
during installation and runs the installer ELF binaries and shell scripts ✅. It carries the
partition/install logic, the installer programs (cpio, fsck, dd, amixpkg, …), and
viper_kludge ✅. See the root floppy anatomy
and the install walkthrough.
pkgadd¶
The SVR4 package installer (with siblings pkgmk, pkgproto, pkgtrans) used to install software
on Amix ✅. The install scripts drive it through the amixpkg wrapper
(amixpkg -i -m -d -r /mnt -y standard), which is widely reported as flaky/"broken" 🟡; pkgproto
also omits symlinks 🟡. Michael Parson's AmixBP re-bundles 40+ .pkgs on amigaunix.com/downloads 🟡. See the
kernel architecture and toolchain.
RDB¶
Rigid Disk Block — the Amiga's on-disk partition scheme, which Amix uses for its hard disk ✅.
The default install lays out root (/), swap, a 2 MB boot/bootstrap partition (BOOTSIZE=2 MB →
BOOTLEN = BOOTSIZE*2048 blocks), and data ✅; keep partitions ≲1 GB 🟡. The exact RDB partition
type IDs Amix uses are not documented 🔴. See filesystems and disks.
relocunix / rdbunix¶
The relinked Amix kernel image. The 1990 Ditto paper calls it rdbunix; modern 2.1 systems and
repos call it relocunix — a historical rename (verify per version 🟡). After building you
cp relocunix /stand, then make bootpart KERNEL=relocunix writes it to the boot partition ✅. See
the kernel build process.
RTG¶
ReTargetable Graphics — driving a third-party graphics card instead of the Amiga's built-in
display. On Amix this is the va2000 char framebuffer driver
(/dev/va2000, char major 68) plus the xrtg X11R5 server Xrtg
✅. See X11 RTG drivers and
X11 and the desktop.
s5¶
The System V (s5) filesystem — the default but not recommended choice offered by the Amix
installer ✅; the recommendation (and the script default ANS="ufs") is UFS ✅. The s5
default is likely a 3B2-lineage artifact 🟡. See filesystems and disks.
spl / splN¶
The SVR4 interrupt-priority masking primitives a driver uses to protect critical sections
(spl2()/splx(), etc.) ✅. The Ditto par driver wraps its critical regions with splpar(),
which equals spl2() ✅. See writing a char driver.
STREAMS¶
The SVR4 modular I/O framework used for networking; a STREAMS driver is a distinct third driver
class (a special character driver carrying a streamtab, the d_str field in
cdevsw) ✅. Amix networking (TCP/IP, DLPI) is STREAMS-based ✅. See
writing a STREAMS driver and networking.
Superkickstart¶
The A3000UX bootstrap ROM ("Superkickstart 1.4") that chooses what to boot at power-on: hold the right mouse button to load an AmigaOS Kickstart, or by default boot Amix from SCSI ✅. See the boot process and hardware.
SVR4¶
AT&T UNIX System V Release 4 — the operating system Amix is a port of ✅. Brings STREAMS
networking, TLI plus BSD sockets, POSIX.1, init//etc/inittab/run levels, and the
pkgadd packaging tools ✅. See the overview and
kernel architecture.
UFS¶
The Berkeley Fast File System (UFS), the recommended Amix filesystem; the installer scripts
default to it (ANS="ufs") ✅. The install miniroot itself is a UFS filesystem ✅.
Contrast s5. See filesystems and disks.
viper_kludge¶
A patch (by Frank "Crash" Edwards) shipped on the root floppy that pokes kernel memory so non-standard tape drives (e.g. the Archive Viper 2150S) work during install ✅. Its own README warns it is incompatible with the A3070/Caliper/Wangtek/Sankyo drives ✅. See the install walkthrough.
Zorro II / III¶
The Amiga expansion bus. Amix supports Zorro II only: its memory-mapping layer cannot address Zorro III space, and that source was never shipped, so the limit can't be community-fixed ✅. Board addresses are assigned by AUTOCONFIG at reset ✅. See hardware, Zorro AutoConfig, and the quirks list.
See also¶
- How Amix works: overview — the one-page mental model that ties these terms together
- Kernel architecture — where the switch tables, HAT, and STREAMS live
- The device-driver model — majors/minors,
cdevsw/bdevsw, adding a driver - Reference: device list — concrete major/minor assignments
Sources¶
sources/research-brief.md— sections 1, 2, 3, 4, 5, 6, 7, 9, 11 (the grounding source of every definition above)- Michael Ditto, Writing Amix Device Drivers, 1990 European Amiga Developer's Conference — driver model,
cdevsw/bdevsw, majors/minors,spl/clist,rdbunix(the Ditto paper) amix_21_root.adfanalysis viatools/inspect-adf.sh— miniroot, UFS,viper_kludge, install/partition logic,relocunix/make bootpartamix_21_boot.adfanalysis viatools/inspect-adf.sh— compressed kernel, HAT panic string- Driver repos: asokero/va2000-amix, asokero/xrtg-amix, asokero/lszorro-amix, isoriano1968/hydra-amix —
autocon(), RTG//dev/va2000, DLPI/STREAMS,elf2brel,m68k-cbm-sysv4 - amigaunix.com — community-reported (🟡) details:
s5-vs-UFS default rationale,amixpkgflakiness, AmixBP