Tizimni yaratish jarayonida kompilyator uch marta yig'ilishi kerak bo'ladi. Dastlabki ikkita o'tish mezbon tizimidan mustaqil ravishda ishlashga qodir kompilyatorni olish uchun kerak. Birinchi parchada biz barcha kerakli kodlarning statik tartibini ishlatamiz, shuningdek qo'shimcha sozlashlarni amalga oshiramiz.
Birinchidan, manbalarni arxivdan olib tashlang va yaratilgan katalogga o'ting
$ tar -pxf gcc-4.9.2.tar.bz2 $ CD ../gcc-4.9.2
Muvaffaqiyatli kompilyatsiya qilish uchun bizga yana uchta paket uchun manba kodi kerak: GMP, MPFR va MPC. Ularni kompilyator manba katalogiga olib tashlang va kataloglarni gcc manbalarida aytilganidek o'zgartiring
$ tar -pxf ../gmp-6.0.0a.tar.xz $ tar -pxf ../mpfr-3.1.2.tar.xz $ tar -pxf ../mpc-1.0.2.tar.gz $ mv -v gmp-6.0.0a gmp $ mv -v mpfr-3.1.2 mpfr $ mv -v mpc-1.0.2 mpc
Bundan tashqari, siz gcc manbasini tahrirlashingiz kerak. Haqiqat shundaki, ulardagi ld qidiruv usuli oddiy ish tizimi uchun belgilangan. Bizning holatda, bog'lovchi / vositalari katalogida joylashgan (u binutillarning bir qismi sifatida tuzilgan). Ba'zi bir so'l ta'riflar, shuningdek, / tools-ga murojaat qilishi kerak, shuning uchun biz dahshatli buyruq yordamida manbalarni o'zgartiramiz
\\\u003e $ ichidagi fayl uchun $ (gcc / config -name linux64.h -o -name linux.h -o -name sysv4.h)\u003e do\u003e cp -uv $ file (,. orig)\u003e sed -e " s @ / lib \\ (64 \\) \\? \\ (32 \\) \\? / ld @ / tools & @ g "\\\u003e -e" s @ / usr @ / tools @ g "$ file.orig\u003e $ file\u003e echo "\u003e # STANDARD_STARTFILE_PREFIX_1\u003e # STANDARD_STARTFILE_PREFIX_2\u003e # aniqlang
Xulosa:
Hamma narsa yig'ilgandan so'ng, joyni tejash uchun, to'plangan ikkiliklardan nosozliklarni tuzatish ma'lumotlarini kesish tavsiya etiladi. Biz buni jamoalar bilan qilamiz
$ strip --strip-debug / tools / lib / * $ / usr / bin / strip --strip-unneeded / tools / (, s) bin / *
Bunga qo'shimcha ravishda, siz o'rnatilgan hujjatlarni o'chirib tashlashingiz mumkin, ammo hali kerak emas - baribir u yig'ilib qayta o'rnatiladi va oxirida bo'ladi
$ rm -rf / tools / (, share) / (ma'lumot, odam, doc)
Natijada, bizda $ LFS / tools katalogida vaqtinchalik tizim mavjud bo'lib, keyingi bosqichda GNU muhiti va tizim konfiguratsiyasini yig'ish uchun boramiz. Ammo bu haqda keyinroq gaplashaman.
LFS-ga kiritilgan barcha paketlarni ro'yxatlash juda mantiqiy emas. Ro'yxat uzoq bo'lib chiqadi va deyarli yangi boshlanuvchilarga hech narsa haqida gapirmaydi; bilimdon odam uchun ortiqcha. Ushbu kichik bo'limda men umumiy tavsiyalar berishni xohladim. Birinchidan, kitobda tasvirlanmagan paketni yig'ishda, yamoq omborxonasiga qarang - u allaqachon LFS-da foydalanish uchun moslangan bo'lishi mumkin. Ikkinchidan, BLFS deyarli butunlay ixtiyoriy paketlardan iborat - shunchaki sizga kerak bo'lganlarni tanlang va LFS-ni o'zingizning yig'ilishingizga qo'shishingiz mumkin. Va uchinchisi: boshidanoq paket menejeridan foydalaning. Kitobda bu bobga bag'ishlangan, ammo amaliy ko'rsatmalar umuman yo'q. Men faqat Himoyalangan O'rnatish vositasini tavsiya etaman - Bash-da yozilgan skript paketlar, qaramliklar va versiyalarni boshqarish uchun minimal buyruqlar to'plamini taqdim etadi. Bu LFS-da etarli bo'ladi. Keyinchalik, manba kodidan APT yoki DPKG-ni kompilyatsiya qilishingiz mumkin - bu juda yaxshi yoritilgan. jamoat forumlari.
Do'stlaringiz bilan baham: |