out-of-tree v1.0.0 - ekspluatatsiyalar va Linux yadro modullarini ishlab chiqish va sinovdan o'tkazish vositalari


out-of-tree v1.0.0 - ekspluatatsiyalar va Linux yadro modullarini ishlab chiqish va sinovdan o'tkazish vositalari

Ekspluatatsiyalar va Linux yadro modullarini ishlab chiqish va sinovdan o'tkazish uchun asboblar to'plami bo'lgan daraxtning birinchi (v1.0.0) versiyasi chiqdi.

daraxtdan tashqari yadro modullari va ekspluatlarni disk raskadrovka qilish muhitini yaratish, ekspluatatsiya ishonchliligi statistikasini yaratish uchun ba'zi muntazam harakatlarni avtomatlashtirishga imkon beradi, shuningdek, CI (Continuous Integration) ga osongina integratsiya qilish imkoniyatini beradi.

Har bir yadro moduli yoki ekspluatatsiyasi .out-of-tree.toml fayli bilan tavsiflanadi, unda kerakli muhit va (agar bu ekspluatatsiya bo'lsa) xavfsizlikning ma'lum choralari mavjud bo'lganda ishlash cheklovlari haqidagi ma'lumotlarni ko'rsatadi.

Asboblar to'plami, shuningdek, zaiflikdan ta'sirlangan maxsus yadro versiyalarini aniqlashga imkon beradi (--guess buyrug'i yordamida) va ma'lum bir majburiyat uchun ikkilik qidiruvlarni soddalashtirish uchun ham foydalanish mumkin.

Quyida v0.2 versiyasidan beri o'zgarishlar ro'yxati keltirilgan.

Yuklangan

  • -max= yordamida hosil qilingan (daraxtdan tashqari yadro avtogeni) yadrolar sonini (.out-of-tree.toml tavsifi asosida) va tekshirish ishlarini (daraxtdan tashqarida) cheklash imkoniyati amalga oshirildi. X parametri.

  • Muayyan tarqatish va versiya uchun barcha yadrolarni yaratishga imkon beruvchi yangi genall buyrug'i.

  • Barcha jurnallar endi sqlite3 ma'lumotlar bazasida saqlanadi. Oddiy tez-tez talab qilinadigan so'rovlar, shuningdek, json va markdown-ga ma'lumotlarni eksport qilish uchun buyruqlar amalga oshirildi.

  • Muvaffaqiyatli ishlash ehtimolini hisoblash amalga oshirildi (oldingi ishga tushirishlar asosida).

  • Qurilish natijalarini saqlash qobiliyati (daraxtdan tashqari pew buyrug'i uchun yangi --dist parametri)

  • Xost tizimida o'rnatilgan yadrolar uchun metama'lumotlarni yaratishni qo'llab-quvvatlash, shuningdek, to'g'ridan-to'g'ri xostda qurish.

  • Uchinchi tomon yadrolarini qo'llab-quvvatlash.

  • Daraxtdan tashqari disk raskadrovka muhiti endi avtomatik ravishda xost tizimidagi disk raskadrovka belgilarini qidiradi.

  • Nosozliklarni tuzatish vaqtida KASLR, SMEP, SMAP va KPTI bayroqlarini yoqish/oβ€˜chirish bilan xavfsizlik choralarini boshqarish imkoniyati qoβ€˜shildi.

  • --threads=N parametri daraxtdan tashqari sinov buyrug'iga qo'shildi, undan ekspluatatsiyalar va yadro modullarini qurish/ishlash va sinovdan o'tkazish uchun iplar sonini belgilash uchun foydalanish mumkin.

  • Jurnalda qayd etiladigan va keyin statistikani hisoblash uchun ishlatilishi mumkin bo'lgan tegni o'rnatish qobiliyati.

  • Oddiy iboralarni ishlatmasdan yadro versiyasini ko'rsatish imkoniyati qo'shildi.

  • Yangi paket buyrug'i, kichik kataloglarda ekspluatatsiyalar va yadro modullarini ommaviy sinovdan o'tkazish uchun ishlatiladi.

  • Ekspluatatsiya va yadro moduli uchun konfiguratsiyada (.out-of-tree.toml) KASLR, SMEP, SMAP va KPTI-ni o'chirish, shuningdek, kerakli miqdordagi yadro va xotirani belgilash imkoniyati qo'shildi.

  • Endi yadro autogen ishlayotgan vaqtda tasvirlar (rootfs) avtomatik ravishda yuklanadi. bootstrap endi kerak emas.

  • CentOS yadrolarini qo'llab-quvvatlash.

O'zgarishlar

  • Endi, agar tarqatishning kerakli versiyasi uchun rasm (rootfs) bo'lmasa, daraxtdan tashqarida eng yaqin versiyaning tasviridan foydalanishga harakat qiladi. Masalan, Ubuntu 18.04 uchun Ubuntu 18.10 tasviri.

  • Endi yadro modullari uchun testlar, agar ular etishmayotgan bo'lsa, muvaffaqiyatsiz deb hisoblanmaydi (sinovlar yo'q - xatolik yo'q!).

  • Agar yadrolardan birida kamida bitta bosqich (qurilish, ishga tushirish yoki sinov) bajarilmasa, endi daraxtdan tashqarida salbiy xato kodini qaytaradi.

  • Loyiha Go modullaridan foydalanishga o'tdi, endi GO111MODULE=on bilan qurish afzalroq.

  • Qo'shilgan standart testlar.

  • ${TARGET}_test-dagi montaj Makefile-da amalga oshirilmagan bo'lsa, Test.sh endi sukut bo'yicha ishlatiladi.

  • Yadro moduli yoki ekspluatatsiyasini ishga tushirishdan oldin yadro jurnali endi tozalanmaydi. Ba'zi ekspluatatsiyalar KASLRni chetlab o'tish uchun dmesg'da yadro bazasi oqishidan foydalanadi, shuning uchun tozalash ekspluatatsiya qilingan mantiqni buzishi mumkin.

  • qemu/kvm endi xost protsessorining barcha imkoniyatlaridan foydalanadi.

OΚ»chirildi

  • Yadro zavodi bosqichma-bosqich yangilangan Docker fayllari asosida yadro yaratishni amalga oshirish tufayli butunlay olib tashlandi.

  • bootstrap boshqa hech narsa qilmaydi. Buyruq keyingi versiyada o'chiriladi.

Tuzatilgan

  • MacOS tizimida GNU coreutils endi ishga tushishi shart emas.

  • Vaqtinchalik fayllar ba'zi tizimlarda docker ichidagi o'rnatish xatolari tufayli ~/.out-of-tree/tmp/ ga ko'chirildi.

Manba: linux.org.ru

a Izoh qo'shish