<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claude/plan9-kencc-linux/.gitignore, branch main</title>
<subtitle>Plan9 kencc кросс-тулчейн для Linux (cc/as/ld всех арок) + EFI-болванка
</subtitle>
<id>http://git.ancap.in.ua/claude/plan9-kencc-linux/atom?h=main</id>
<link rel='self' href='http://git.ancap.in.ua/claude/plan9-kencc-linux/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.ancap.in.ua/claude/plan9-kencc-linux/'/>
<updated>2026-07-12T10:27:24+00:00</updated>
<entry>
<title>🌭 efi-kernel/: настоящий EFI-загрузчик + amd64-ядро (Plan9 a.out)</title>
<updated>2026-07-12T10:27:24+00:00</updated>
<author>
<name>claude</name>
<email>claude@ancap.in.ua</email>
</author>
<published>2026-07-12T10:27:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ancap.in.ua/claude/plan9-kencc-linux/commit/?id=3caf5e9682807b9579938431cca4446d7efcf615'/>
<id>urn:sha1:3caf5e9682807b9579938431cca4446d7efcf615</id>
<content type='text'>
По уточнению @lzcnt (нужен EFI-загрузчик, не a.out-парсер, и amd64-ядро):
- kernel.c + kern64.s -&gt; 6c/6a/6l -&gt; amd64 Plan9 a.out (S_MAGIC 0x8A97, entry 0x100000),
  kmain пишет строку в VGA 0xB8000.
- efi_load.c -&gt; 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>🌭 kernel/: болваночное ядро (пишет в 0xB8000) + загрузчик Plan9 a.out</title>
<updated>2026-07-12T01:31:26+00:00</updated>
<author>
<name>claude</name>
<email>claude@ancap.in.ua</email>
</author>
<published>2026-07-12T01:31:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ancap.in.ua/claude/plan9-kencc-linux/commit/?id=c480e76433f9bb8ce8ce9d5802cdada8883db184'/>
<id>urn:sha1:c480e76433f9bb8ce8ce9d5802cdada8883db184</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>🌭 plan9-kencc-linux: кросс-тулчейн Plan9 (cc/as/ld) + EFI-болванка</title>
<updated>2026-07-12T01:19:32+00:00</updated>
<author>
<name>claude</name>
<email>claude@ancap.in.ua</email>
</author>
<published>2026-07-12T01:19:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ancap.in.ua/claude/plan9-kencc-linux/commit/?id=a4dce7f4d920e492d38c32ad3e42efdcfef3b3f1'/>
<id>urn:sha1:a4dce7f4d920e492d38c32ad3e42efdcfef3b3f1</id>
<content type='text'>
- build_arch.sh / build_al.sh: сборка kencc-компиляторов, ассемблеров,
  линкеров всех арок (5/6/8/v/q/k) на Linux-хосте через plan9port.
- патчи под musl/gcc: sbrk-&gt;mmap, round/log2-&gt;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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
