| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Plan9 a.out)
По уточнению @lzcnt (нужен EFI-загрузчик, не a.out-парсер, и amd64-ядро):
- kernel.c + kern64.s -> 6c/6a/6l -> amd64 Plan9 a.out (S_MAGIC 0x8A97, entry 0x100000),
kmain пишет строку в VGA 0xB8000.
- efi_load.c -> PE32+ bootx64.efi (через pe64.s из 9legacy + dd skip=40): под UEFI
печатает через ConOut, разбирает встроенный a.out (big-endian 40-байтный заголовок),
копирует сегменты по entry, прыгает в ядро (long mode).
- Проверено: валидный PE32+ x64 EFI_APPLICATION, ядро встроено и парсится, ESP собран.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
загрузчик Plan9 a.out
- kernel.c + kern.s: 386-ядро, пишет строку в VGA-текстбуфер 0xB8000, halt.
Собирается 8a+8c+8l в Plan9 a.out (I_MAGIC, entry 0x100000).
- loader.c: загрузчик a.out (не ELF — выхлоп у нас a.out): разбор big-endian
заголовка, загрузка сегментов по entry, зануление bss, прыжок.
- проверено: kernel = валидный a.out с 0xB8000 в коде; loader.aout_parse
корректно разбирает реальное ядро (entry/размеры сходятся).
- bin/: добавлены 8a, 8l (386 ассемблер + линкер).
Co-Authored-By: Claude Opus 4.8 <[email protected]>
|
|
|
EFI-болванка
- build_arch.sh / build_al.sh: сборка kencc-компиляторов, ассемблеров,
линкеров всех арок (5/6/8/v/q/k) на Linux-хосте через plan9port.
- патчи под musl/gcc: sbrk->mmap, round/log2->p9*, Runemask, swcmp const,
-fcommon, machcap/omachcap, /sys рантайм-файлы. Подробно в PATCHES.md.
- bin/: готовые 8c 6c 5c vc qc kc + 6a 6l (Linux/musl x86_64).
- efi/: болваночный bootx64.efi (PE32+) тем же тулчейном (6a+6c+6l+dd),
референс — 9legacy nboot/efi; ESP-образ через mkesp.py.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
|