6. Binutilsni yarating - birinchi o'tish. SBU o'lchovi
Binutils - bu dasturiy ta'minotni yaratish uchun yordamchi vositalarni o'z ichiga olgan paket. Bularga assembler (as) va linker (ld) kiradi. Ular ba'zi sinovlardan o'tishlari uchun glibc va gcc tomonidan talab qilinadi, shuning uchun avval ushbu paket qurilgan.
Arxivni oching va tarkib bilan katalogga o'ting
$ tar -pxf binutils-2.25.tar.bz2 $ cd binutils-2.25
$ mkdir -v ../binutils-build $ cd ../binutils-build
Endi to'g'ri Makefile-ni yaratish uchun paketni sozlashingiz kerak.
$ ../binutils-2.25/configure \\\u003e --prefix \u003d / tools \\\u003e - by-sysroot \u003d $ LFS \\\u003e --with-lib-path \u003d / tools / lib \\\u003e --target \u003d $ LFS_TGT \\ Kalitlarga alohida e'tibor:
--prefix \u003d / vositalari
- to'plangan paketlar vaqtinchalik tizim joylashgan / tools katalogiga o'rnatilishini bildiradi - bilan-sysroot \u003d $ LFS
- vaqtincha tizimda ishlash uchun kutubxonalar va boshqa manbalarni qidirish tizimning ildiz katalogi.--with-lib-path \u003d / tools / lib
- ld linker uchun belgilangan kutubxonani qidirish yo'li --target \u003d LFS_TGT
- maqsad mashinasining tavsifini o'rnatish - bekor qilinadigan-nls
- To'plangan paketlarning xalqarolashtirilishini o'chiradi. Hozirgi vaqtda bu keraksiz va uning mavjudligi bir qator muvaffaqiyatsizliklarga olib kelishi mumkin - o'chirib bo'lmaydigan
- xost kompilyatoridan ogohlantirish olganda kompilyatsiya to'xtashini o'chiradi Konfigurator ishlagandan so'ng, biz paketni qurish va o'rnatish uchun mo'ljallangan Makefile-ni olamiz. Biz paketni yig'amiz va SBU o'lchaymiz
$ vaqt (qilish;)
Vaqtni vaqt (...) yordam dasturi bilan o'lchaymiz, bu esa qavslarga biriktirilgan buyruqlarning bajarilish vaqtini qaytaradi. Bu imkoniyat beradi
oldindan qolgan paketlarni tuzish vaqti to'g'risida tasavvurga ega bo'lish uchun SBUni baholang. : LFS montaj va o'rnatish vaqtini o'lchashni tavsiya qiladi. Ammo bu tavsiya juda katta. Mashinaning asosiy vaqti bo'yash va sinovga sarflaydi. Shuningdek, make va o'rtasida
Eslatmao'rnatmoq aniqlash kerak bo'lgan boshqa harakatlar bajarilishi mumkin. Shuning uchun men yuqorida aytib o'tilganidek, o'lchovning taxminiy xususiyatini hisobga olgan holda baholashni o'tkazishga qaror qildim, bu hali ham boshqa tizim tomonidan tizimning umumiy yuki bilan belgilanadi.{!LANG-a69e7deae71599d771c35236c29f7349!}
Mening tizimim uchun - 4 GB Intel Core i7 yadroli, 4096 MB operativ xotira bilan bir xil kompyuterda (16 gigabayt operativ xotira bilan 4 yadroli - Intel Core i7-2600K (giper savdo bilan 4 yadroli) ishlaydigan virtual mashina - SBU 2 minut 32 soniyada ishladi. bitta ip.
Qolgan paketlarni tuzish vaqti kitobda SBU fraktsiyalarida berilgan, shuning uchun endi siz shu tarzda rejalashtirgan har bir narsaning taxminiy tuzilish vaqtini hisoblab chiqishingiz mumkin (masalan, gccni yakuniy qurishni sinovlar bilan birga boshlang va boshqa ishlarni bajarishga qoldiring, chunki bu 63 SBU ni oladi - yo'q umid bilan ekranga qaraydi)
Yig'ish tugagandan so'ng, kutubxona kataloglariga ramziy havolalar yarating. Ushbu operatsiyani bajarish sizning tizimingiz 64 bitli bo'lsa kerak, shuning uchun avval quyidagi buyruq tizimning imkoniyatlarini tekshiradi va faqat keyin kerak bo'lganda simklasslar yaratadi.
$ case $ (uname -m)\u003e x86_64 ichida) mkdir -v / tools / lib && ln -sv lib / tools / lib64 ;; \u003e esac
Shundan so'ng, yig'ilganni o'rnating
$ o'rnatishni amalga oshiradi
Biz ko'tarilib, keraksiz kataloglarni o'chirib tashlaymiz
$ cd .. $ rm -r binutils-2.25 $ rm -r binutils-qurish