Perché il mio ramdisk iniziale è così grande?


12

Sto eseguendo Ubuntu 11.10, fornito con la versione del kernel 3.0.0-14. Ho scaricato e creato un kernel dal 3.1.0ramo. Dopo aver installato il nuovo kernel, vedo che il mio /boot/initrd.img-3.1.0file è ENORME. Sono 114 MB, mentre il mio /boot/initrd.img-3.0.0-14-genericè di circa 13 MB. Voglio liberarmi del gonfiore, che è chiaramente inutile.

Quando si costruisce il nuovo kernel, ho copiato il mio /boot/config-3.0.0-14-generical .configmio directory di compilazione, per mantenere la configurazione del mio kernel originale. Ho corso make oldconfig, selezionato i valori predefiniti per tutte le nuove opzioni e quindi ho creato il kernel.

Osservando le dimensioni dei file all'interno di ciascuno degli archivi initrd cpio, vedo che tutti i miei moduli .ko hanno dimensioni maggiori nel ramdisk 3.1.0, rispetto al 3.0.0-14. Presumo che nel mio file di configurazione sia stato verificato un flag di debug non necessario, ma non vedo nulla di diverso che non sia già stato abilitato nel file di configurazione 3.0.0-14.

Il mio /boot/config-3.0.0-14-genericè qui: http://pastebin.com/UjH7nEqd

E il mio /boot/config-3.0.1è qui: http://pastebin.com/HyT0M2k1

Qualcuno può spiegare da dove proviene tutto il gonfiore inutile?

Risposte:


15

Quando si compila il kernel e il modulo usando make oldconfig, makee make install, i moduli risultanti avranno informazioni di debug disponibili nei file.

Utilizzare l' INSTALL_MOD_STRIPopzione per rimuovere i simboli di debug:

make INSTALL_MOD_STRIP=1 modules_install

Allo stesso modo, per creare i pacchetti deb:

make INSTALL_MOD_STRIP=1 deb-pkg

1
Correre make INSTALL_MOD_STRIP=1 installmi ha fatto quello che volevo. Grazie!
Finer Recliner
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.