//strahinja.org | Профил Блог Програми Текстови

Галеб

16.06.2022

Завршио сам прву етапу у развоју сопствене дистрибуције musl/GNU/Linux‑а, коју сам назвао Галеб. Оно што се може видети на слици је прилагођена верзија Musl‑LFS‑а, која тренутно може да се похвали заузећем око 30 МБ меморије са улогованим једним корисником (рачунато према алгоритму програма free(1), односно укупно - слободно - бафери - кеш):

Галеб 1.0 у емулатору QEMU
Галеб 1.0 у емулатору QEMU

Тренутно овај систем има функционални мрежни интерфејс (уз DHCP преко dhcpcd(1)‑а), git, GCC 12.1.0, curl итд.

Ипак, ово је тек почетак, зато што нисам задовољан низом карактеристика Musl‑LFS‑а, пре свега основном идејом. Она подразумева „обичан“ GNU/Linux систем, који само уместо glibc‑а користи musl‑libc (и, наравно, уместо systemd‑а користи s6). За разлику од овога, ја ћу покушати да постепено дођем до система који ће користити sinit, и бити што ближи stali‑ју (уз одређене компромисе као што је mksh; динамички линковани програми иду у /sucks).

Са тим у вези, вреди поменути glaucus, пројекат сличних амбиција, али који је по мом мишљењу завршио превише близу Musl‑LFS‑у. Његова документација садржи причу о процесу који је његов аутор прошао у потрази за „светим Гралом“ минимализма. Ипак, констатација из његове документације:

i.9. What Is glaucus Now?
glaucus in its current state is a bunch of shell scripts written in POSIX DASH, that build a musl libc and toybox based Linux® distribution from scratch.

више није актуелна, зато што glaucus‑ов репозиторијум уместо „shell скриптова у POSIX dash‑у“ садржи Rust програм. Толико о његовој „једноставности“.