memory: the installer is scoped, and the live CD is off the list
Records that a mountable ISO 9660 root was called off -- the ISO already boots a complete system from the ramdisk, so it is the live environment and an installer makes a mountable disc redundant, which drops the ATAPI driver and ISO 9660 filesystem entirely. Also records the installer's shape (both firmwares from the start, .sip before anything installs), the five-stage dependency chain, and the 4 GB limit the raw block device carries. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
66152ad2f2
commit
85f0ebf802
2 changed files with 43 additions and 6 deletions
|
|
@ -5,7 +5,7 @@ metadata:
|
|||
node_type: memory
|
||||
type: project
|
||||
originSessionId: a665e14b-86bd-4b41-a228-51377f3e9225
|
||||
modified: 2026-08-09T20:03:23.603Z
|
||||
modified: 2026-08-09T20:19:56.990Z
|
||||
---
|
||||
|
||||
**`make iso` produces a bootable `schunix.iso`** (added 2026-08-04). Always a
|
||||
|
|
@ -83,7 +83,14 @@ list was not an option, because the ramdisk is linked into the kernel binary and
|
|||
what goes into it is a licensing question ([[schunix-ramdisk-root-sizing]]).
|
||||
`RAMDISK_NINODES` is gone: SchFS has no preallocated inode table.
|
||||
|
||||
**Not a live CD.** The disc boots from the ramdisk embedded in the kernel, not
|
||||
from itself. Mounting it would need an ATAPI block driver (`kernel/dev/ide.c`
|
||||
speaks only ATA — 0x20/0x30/0xC4, no PACKET) plus an ISO 9660 filesystem behind
|
||||
`struct fs_ops`. Only the *bootloader* does ATAPI, in real mode.
|
||||
**Not a live CD, and deliberately staying that way** (decided 2026-08-09).
|
||||
The disc boots from the ramdisk embedded in the kernel, not from itself.
|
||||
Mounting it as root would need an ATAPI block driver (`kernel/dev/ide.c` speaks
|
||||
only ATA — 0x20/0x30/0xC4, no PACKET) plus an ISO 9660 filesystem behind
|
||||
`struct fs_ops`; only the *bootloader* does ATAPI, and only in real mode.
|
||||
|
||||
Nexoniarz called that work off: the ISO already boots a complete system from
|
||||
the ramdisk, so it *is* the live environment, and an installer makes a
|
||||
mountable disc redundant. The installer copies from the running root, so it
|
||||
never reads the disc as a filesystem at all. See
|
||||
[[schunix-roadmap-and-projects]].
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ metadata:
|
|||
node_type: memory
|
||||
type: project
|
||||
originSessionId: a665e14b-86bd-4b41-a228-51377f3e9225
|
||||
modified: 2026-08-04T23:05:57.185Z
|
||||
modified: 2026-08-09T20:20:11.342Z
|
||||
---
|
||||
|
||||
**Set out 2026-08-04.** Recorded in `docs/roadmap.md`; the naming and the
|
||||
|
|
@ -48,6 +48,36 @@ size, and dedups across images. Most of it exists — `tools/mkschfs.c` and
|
|||
`tools/mkfs.c` already do content dedup with an `(st_dev, st_ino)` fast path.
|
||||
`mksip` should share that code.
|
||||
|
||||
## The installer, scoped 2026-08-09
|
||||
|
||||
**A live CD is off the list.** The ISO boots a complete system from the
|
||||
ramdisk, so it already is the live environment; an installer makes a mountable
|
||||
disc redundant. That drops the ATAPI driver and ISO 9660 filesystem entirely
|
||||
— see [[schunix-iso-boot]].
|
||||
|
||||
Nexoniarz chose the ambitious shape on both open questions:
|
||||
|
||||
- **Both firmwares from the start**: GPT with a FAT ESP *and* a SchFS
|
||||
partition, bootable on BIOS and UEFI. Needs a FAT writer and GPT code inside
|
||||
the OS before anything can be installed at all.
|
||||
- **`.sip` first**, rather than copying the running root. The installer applies
|
||||
a package; `mksip` comes before anything installs.
|
||||
|
||||
Dependency chain, each stage separately verifiable:
|
||||
|
||||
1. **Raw block device** — *done*, commit 66152ad. `/dev/hda`, `/dev/hdb`,
|
||||
major 8, minor = IDE device number. Verified against the host as an
|
||||
independent oracle in both directions. **Limit: `devsw` passes the offset as
|
||||
a 32-bit `uint`, so a raw disk stops at 4 GB** — widen before installing to
|
||||
real hardware.
|
||||
2. **`.sip` format + `mksip`**, sharing the dedup path in `mkschfs.c`. Test it
|
||||
the way the SchFS round-trip is tested: build, apply, `diff -r` against the
|
||||
source tree ([[schfs-phase2-mount]]).
|
||||
3. **In-OS tooling**: GPT writer, FAT ESP writer, native SchFS formatter.
|
||||
4. **Bootable target**: bootblock + stage2 for BIOS, ESP + BOOTX64.EFI + kernel
|
||||
for UEFI.
|
||||
5. **`schinst`** in `projects/`, driving all of it.
|
||||
|
||||
**Confirmed order (2026-08-05):** finish USB, then sockets + raw input, then
|
||||
virtio-gpu.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue