TCCBOOT projenin kaynak kodundan doğrudan Linux çekirdeği derlemek ve önyükleme yapabilen bir önyükleyici olduğunu.
TCCBOOT sadece 138 KB büyük (sıkıştırılmamış kodu) ve bu derlemek ve 2.4 GHz Pentium 4 az 15 saniye içinde tipik bir Linux çekirdeği çalıştırabilirsiniz.
TCCBOOT TinyCC derleyici, çevirici ve ilintileyici dayanmaktadır. TinyCC GNU C derleyicisi ve ikili programları ile uyumlu bir çok küçük ve basit C derleyicisi üretmek için bir deneydir.
TCCBOOT botlar TCCBOOT çalıştırabilirsiniz bir 'bzImage' Linux kernel image çalıştırabilirsiniz bir Linux çekirdeği ile aynı şekilde, bu yüzden herhangi bir önyükleyici. Ben sadece ISOLINUX ile test edilmiş, ancak LILO veya GRUB da çalışması gerekir.
TCCBOOT bir Başlangıç Ram Disk (initrd) saklanan gzip'li ROMFS dosya sistemi C veya derleme kaynakları okur. İlk TinyCC komut satırı (KTT yürütülebilir aynı sözdizimi) içeren dosyayı 'boot / tccargs' okur. TinyCC çağırma gerekir çıkış, bir ikili görüntü 'çekirdek'. Bu resim adresi 0x00100000 yüklenir. TCCBOOT sonra 32 bit düz modda adresi 0x00100000 bir sıçrama yapar. Bu 'vmlinux' çekirdek görüntü ABİ ile uyumludur.
Derleme:
TCCBOOT sadece Linux 2.4.26 ile test edilmiştir. Basitlik TCCBOOT için Linux çekirdeği bazı ikili dosyaları ve başlıklarını kullandığı için TCCBOOT inşa etmek için, öncelikle bir 2.4.26 çekirdek derlemek gerekir. TCCBOOT da (TinyCC sürüm 0.9.21 ile test) TinyCC kaynak kodu gerektirir. Gerektiğinde yolları vermek için Makefile değiştirebilirsiniz.
Örnek:
Bir "Merhaba Dünya" ROMFS bölümü dahil (initrd.img). Sen örnek / dizinine onu yeniden oluşturabilirsiniz. Sen qemu-tccboot 'script ile QEMU PC emülatörü ile test edebilirsiniz.
Çekirdek derleme:
Bilginiz için, yama 'linux-2.4.26-tcc.patch' TCCBOOT ile bir Linux çekirdeği oluşturmak için gerekli değişiklikleri verir (NOT: kendi Makefile ile çekirdeğini oluşturmak için suffisant değil - ben hiç denemedim). İlgili çekirdek yapılandırma dosyası linux-2.4.26-config olduğunu. Yamalar, aşağıdaki sebeplerden dolayı gereklidir:
- Desteklenmeyen montaj direktifleri: .rept, .endr, .subsection
- Montaj kaynaklarına ihtiyaç duyulan '#define __ASSEMBLY__'
- Statik değişkenler satır içi derleme kodundan görülemez
- 'Ile yazarak / lvalue sorunları? '
- Hayır uzun uzun bit alanları
- 'Hizalanmış' Yalnızca alanlar için, bütün yapılar için desteklenmemektedir özniteliği
- Obscur önişlemci bug
Bu sorunların bazıları kolayca tespit edilebilir, ama şimdi çok tembel değilim. Bu TinyCC / TCCBOOT tarafından oluşturulan çekirdekte birçok hata hala var olduğundan emin olun, ama en azından bir kabuk çizme ve başlatabilirsiniz.
Yazılım detaylar:
Versiyon: 0.1
Qayıt: 3 Jun 15
Lisans: Shareware
Fiyat: 0.00 $
Popülerlik: 58
Yorum Bulunamadı