Portál AbcLinuxu, 21. května 2025 00:33

Jak jsem (konečně) (z)kompiloval jádro

11.3.2012 08:42 | Přečteno: 1208× | GNU/Linux

Dostala se mi "do rukou" kniha Linux Device Drivers. Začal jsem ji číst, ale abych mohl i prakticky zkoušet, tak jsem musel mít zkonfigurované/zkompilované jádro:

Kompilace jádra

Ta se mi podařila až na "20." pokus (myšleno, že jádro začlo bootovat až na "20." pokus). Důvodem bylo nejspíš, že jsem nějak pořád přehlížel (možná kvůli tomu, že jsem konfiguroval pomocí make gconfig, reps. make xconfig) obecnou podporu ATA (CONFIG_ATA) -- nechával jsem ji jako modul, ale zároveň jsem nepoužil init ram fs.

Poznámka pro uživatele Arch Linuxu

Pokud používáte abs, tak konfiguraci distribučního jádra lze najít v /var/abs/core/linux/config nebo /var/abs/core/linux/config.x86_64. Může to být inspirace pro "vlastní jádro".

Asi jsem "slepý"

Zkoušel jsem pro konfiguraci jak make gconfig, tak make xconfig, ale "musel" jsem se "poslušně" vrátit k make nconfig (v minulosti jsem ho používal), protože mi přijde jednodušší a hlavně jsem v něm viděl i to, co v předchozích dvou vidět na první pohled nebylo (viz poznámka o CONFIG_ATA).

Poznámka

Jedná se o vanilla jádro 3.2.9 bez jakýchkoli dodatečných patchů.

       

Hodnocení: 86 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

11.3.2012 10:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Odpovědět | Sbalit | Link | Blokovat | Admin
Pokud používáte abs, tak konfiguraci distribučního jádra lze najít v /var/abs/core/linux/config nebo /var/abs/core/linux/config.x86_64.

Případně můžete zkusit /proc/config.gz (ale nevím, jestli má Arch tuhle volbu zapnutou).

11.3.2012 10:21 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro

Díky za doplnění. Má ji zapnutou.

11.3.2012 10:36 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Ona je to hodně užitečná funkce hlavně když zkoušíte víc různých jader a potřebujete zkontrolovat konfiguraci toho, které zrovna běží.
11.3.2012 12:38 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Odpovědět | Sbalit | Link | Blokovat | Admin
Ono dneska ještě jde používat jádro bez initramfs?
SPD vůbec není proruská
11.3.2012 13:08 Radovan Garabík
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Ono dneska ještě jde používat jádro bez initramfs?
Áno, používam, všetky moje skompilované jadrá sú bez initramfs. Keď sa už jadro kompiluje na mieru daného hw, nemá význam použiť initramfs. A bez initramfs sa pracuje, keď treba nejako nečakane bootovať... (napr. sa poškodí filesystém alebo tak).
11.3.2012 13:15 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro

Ano, lze. Jenom člověk nejdůležitější věci musí zkompilovat přímo do jádra, a ne jako modul.

11.3.2012 18:50 Kvakor
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Přesněji řečeno, v jádře musí být ovladač pro zařízení, na kterém je root, ovladač příslušného souborového systému a nutná infrastruktura okolo (napr. podpora SCSI a SCSI disků u čehokoliv mimo starých (PATA) IDE ovladačů (/dev/hd*) nebo obecná popora MTD pro interní flash paměti), plus všechno to, co je tam v pčipadě initramdisk/initramfs verze (mimo popory initramdisk/initramfs). Jak se připojí root a nastartuje udev, jádro si zbytek zavede samo.
11.3.2012 19:01 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro

Díky!

11.3.2012 19:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
…a pokud nemáte kořenový filesystém na softwarovém RAIDu, LVM, iSCSI nebo NFS, tak to při troše štěstí bude i stačit.
11.3.2012 20:18 Kvakor
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
I u SW RAIDu to bude stačit, jen se musí pozapínat nutné volby a nastavit správně oblasti disku (u DOS-style rozdělení je to typ 0xFD), aby je jádro automaticky detekovalo a sestavilo RAID ještě před tím, než ho namountuje. Ten zbytek potřebuje pomoct z uživatelského prostoru, i když u NFS to za určitých okolností a v omezené míře jde i bez něj.
11.3.2012 20:57 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
I u SW RAIDu to bude stačit, jen se musí pozapínat nutné volby a nastavit správně oblasti disku (u DOS-style rozdělení je to typ 0xFD), aby je jádro automaticky detekovalo a sestavilo RAID ještě před tím, než ho namountuje.

Tahle autodetekce je taková loterie, že je-li to jen trochu možné, je lepší se jí vyhnout.

11.3.2012 23:31 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
…a pokud nemáte kořenový filesystém na softwarovém RAIDu, LVM, iSCSI nebo NFS, tak to při troše štěstí bude i stačit.
Asi tak. initramfs prostě znamená dobrou flexibilitu, ať už při nasazení některé z tebou zmíněných technologií, nebo při změně hardware.

Nevěřím, že bez initramfs startuje systém nějak pozorovatelně rychlejc...
Gilhad avatar 11.3.2012 16:32 Gilhad | skóre: 20 | blog: gilhadoviny
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Taky na vsech strojich, co mam pod palcem, jedu bez initramfs. Neni duvod ho pouzivat, kdyz HW na kterem to pobezi znam a je snadne pro nej ten kernel usit na miru. Zda se mi lepsi mit vse potrebne v jadru a vse nepotrebne nemit. Pocet modulu se u me da typicky spocist na prstech (vetsinou jedne ruky)
Bedňa avatar 11.3.2012 16:43 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Odpovědět | Sbalit | Link | Blokovat | Admin
Čas kompilácie? Inak pokiaľ niečo v konfigu hľadám aj tak nakoniec používam cat .config | grep -i embedded

V Debiane & CO sa konfig ukľadá do boot vo formáte config-číslo.jadra
KERNEL ULTRAS video channel >>>
Marián Kyral avatar 11.3.2012 17:26 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky, make gconfig a nconfig jsem neznal. Já většinou používám menuconfig. Ale nconfig vypadá lépe.
11.3.2012 17:29 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak jsem (konečně) (z)kompiloval jádro

Rádo se stalo.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.