View previous topic :: View next topic |
Author |
Message |
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Tue Sep 02, 2014 8:55 am Post subject: Svincolarsi dal initramfs |
|
|
Salve a tutti, come da titolo vorrei far fuori (o almeno ridurre) l'initramfs visto che ha una dimensione di circa 4 volte superiore rispetto al mio kernel (con un rapporto di 16M:3,9M).
Sarei molto grato se qualcuno sapesse rispondere gentilmente ai miei quesiti riportati qui di seguito.
Ah l'initramfs è creato con genkernel, non so se è un informazione utile.
1) C'è un modo per analizzarne il contenuto in modo da sapere cosa è utile e cosa no?
2) In caso ci fosse soluzione alla domanda 1 come fosso impostare genkernel in modo da ridurre i tools all'interno dell'initramfs?
(O fare fuori direttamente l'initramfs è uguale e forse pure meglio)
Ringrazio in anticipo attendendo una risposta |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4787 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Tue Sep 02, 2014 12:37 pm Post subject: |
|
|
svincolarsi dalla initramfs è sempre possibile.
tuttavia, una buona initramfs rende più ordianto ed efficiente la fase di boot.
il guaio è che le initramfs pronte prevdeno un insieme di situazioni che trascende le necessità più comuni dei semplici utenti.
soprattutto se contengono un insieme di drive tendente a infinito nella cartella /lib/modules.
a volte, prendere una initramfs pronta e togliere i drive superflui può tornare molto utile.
alcuni anni fa avevo messo sul forum un mezzo howto su come si apre e come si rigenera una initramfs. non credo che sia del tutto obsoleto. forse può interessarti. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Wed Sep 03, 2014 8:02 am Post subject: |
|
|
Perfetto! Grazie mille Appena ho un attimo di tempo me la leggo bene tutta con calma;) |
|
Back to top |
|
|
pierino_89 Guru
Joined: 03 Oct 2009 Posts: 522
|
Posted: Wed Sep 03, 2014 7:12 pm Post subject: |
|
|
cloc3 wrote: |
tuttavia, una buona initramfs rende più ordianto ed efficiente la fase di boot.
|
Scusa, puoi spiegare meglio questa affermazione? Io sapevo che il miglior modo per velocizzare il boot fosse avere builtin nel kernel il minimo indispensabile all'avvio, e modularizzare tutto il resto. E soprattutto, evitare l'initramfs. _________________ Linux registered user 461710 |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4787 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Thu Sep 04, 2014 11:15 am Post subject: |
|
|
pierino_89 wrote: |
Scusa, puoi spiegare meglio questa affermazione? |
orpo. non volevo offendere .
sono valutazioni senza impegno.
a mio parere, progettare un boot senza initramfs per certe situazioni (diskless, ad esempio) è una mezza forzatura.
per definizione, un diskless è senza disco, quindi è giusto creargli un ambiente iniziale, che prenda un po' di coraggio e si guardi intorno.
similmente se desidero partire da chiavetta, da dvd, magari su un computer che non conosco, con un lvm un po' anomalo che può nascondere qualche scherzaccio.
poi. la initramfs è utilissima in fase di sviluppo per fare un po' di debug in un ambiente semplificato.
alla fine quando si è trovata una quadra, non è detto che sia conveniente lambiccarsi il cervello per rigirare il tutto in modalità boot diretto.
in fondo, se per partire, in un certo contesto, servono degli script, servono e basta.
può sembrare ordinato, quindi, metterli nella initramfs, in modo che, dopo l'avvio, il sistema li possa dimenticare. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Thu Sep 04, 2014 2:36 pm Post subject: |
|
|
cloc3 wrote: | orpo. non volevo offendere |
Su dai ragazzi non scannatevi XD Ho parzialmente risolto anche tenendo l'initramfs
Certo non è che prima facesse schifo, ma avevo un avvio sui 40s fino all'apparizione della freccina del mouse
Ora sono arrivato a 26-30s (dipende un po' dalle condizioni) con questi accorgimenti:
- # tune2fs -m 1.0 /dev/sdXY
- mount options di root ed home defaults,noatime
- prelink (non so se abilitare anche preload, ma direi che così già va bene)
- ho spostato il runlevel di default da 3 a 5 ini /etc/inittab
- abilitiati esplicitamente anche i servizi di dipendenza per altri (secondo la wiki di arch, o fedora non ricordo, questo anticiperebbe la ricerca e quindi l'avvio di tali servizi)
- ultimo ma non ultimo ho attivato il readahead euristico di systemd che mi ridurrà di 1,5 secondi il boot ad ogni avvio fino a che non si sarà stabilizzato
Che dite? ho dimenticato qualcosa?
Ho provato anche e4rat, ma per le sue valutazioni mi rubava 10s all'inizio del boot tornandomi l'avvio a 40s buoni.
Ah dimenticavo il mio è un notebook del 2010 con HD magnetico a testine 5400rpm e un Core2 DUO quindi credo di aver già fatto tutto il possibile per questo quasi reperto storico |
|
Back to top |
|
|
pierino_89 Guru
Joined: 03 Oct 2009 Posts: 522
|
Posted: Thu Sep 04, 2014 2:56 pm Post subject: |
|
|
cloc3 wrote: |
orpo. non volevo offendere .
sono valutazioni senza impegno.
|
Ma no tranquillo, era solo curiosità. Forse avrei dovuto mettere una faccina
Quindi l'initramfs è (al netto di postazioni diskless, chiavette usb e in generale macchine che abbisognano di moduli specifici per il boot che non ha senso mettere builtin) "il luogo dove metti tutti i servizi oneshot che non verranno mai più richiamati durante la vita del sistema". Però comunque rimane una cosa in più da caricare prima del boot... Non sarebbe meglio toglierlo nel caso il sistema operativo sia già sufficientemente ottimizzato da non girare su nessun pc differente?
loxdegio wrote: |
[*]mount options di root ed home defaults,noatime
|
Hai già guardato cose tipo data=writeback, barrier, commit (per ext4) e x-systemd.automount (se usi systemd)? Fra l'altro, ci sarebbe anche "nodiratime".
Quote: |
[*]prelink (non so se abilitare anche preload, ma direi che così già va bene)
|
In teoria se usi delle LDFLAGS appropriate il guadagno dovrebbe essere molto piccolo. Ma l'ho letto molto tempo fa, dovrei ridocumentarmi
Quote: |
[*]abilitiati esplicitamente anche i servizi di dipendenza per altri (secondo la wiki di arch, o fedora non ricordo, questo anticiperebbe la ricerca e quindi l'avvio di tali servizi)
[*]ultimo ma non ultimo ho attivato il readahead euristico di systemd che mi ridurrà di 1,5 secondi il boot ad ogni avvio fino a che non si sarà stabilizzato[/list]
|
Interessanti questi, dove li hai trovati?
Quote: | Ho provato anche e4rat, ma per le sue valutazioni mi rubava 10s all'inizio del boot tornandomi l'avvio a 40s buoni.
|
Beh, il collect una volta usato la prima volta non devi più usarlo e usare solo quello che fa il preload comunque a me da una certa release non ha mai più funzionato, quindi non mi ricordo bene la procedura. In teoria se usi già readahead non dovrebbe cambiarti molto _________________ Linux registered user 461710 |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Sat Sep 06, 2014 8:01 am Post subject: |
|
|
pierino_89 wrote: | loxdegio wrote: |
[*]mount options di root ed home defaults,noatime
|
Hai già guardato cose tipo data=writeback, barrier, commit (per ext4) e x-systemd.automount (se usi systemd)? Fra l'altro, ci sarebbe anche "nodiratime". |
Sì, ma usando systemd mi davano problemi soprattutto 'barrier=0' dovrei provare singolarmente gli altri 2, mentre per nodiratime non è già incluso in noatime?
pierino_89 wrote: | loxdegio wrote: |
[*]prelink (non so se abilitare anche preload, ma direi che così già va bene)
|
In teoria se usi delle LDFLAGS appropriate il guadagno dovrebbe essere molto piccolo. Ma l'ho letto molto tempo fa, dovrei ridocumentarmi |
Le mie LDFLAGS sono "-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" come mi era già stato consigliato in un altro topic e pare non ci sia di meglio, ma sono aperto a consigli
pierino_89 wrote: | loxdegio wrote: |
[*]abilitiati esplicitamente anche i servizi di dipendenza per altri (secondo la wiki di arch, o fedora non ricordo, questo anticiperebbe la ricerca e quindi l'avvio di tali servizi)
[*]ultimo ma non ultimo ho attivato il readahead euristico di systemd che mi ridurrà di 1,5 secondi il boot ad ogni avvio fino a che non si sarà stabilizzato[/list]
|
Interessanti questi, dove li hai trovati? |
Qui per il readahead (trovi anche sulla wiki di arch, ma ho trovato info prima su fedora): http://fedoraproject.org/wiki/Systemd/it#Readahead
Qui per la questione delle dipendenze: (non mi ricordo dove l'ho trovato e la cronologia non aiuta, ma so di averlo letto da qualche parte )
pierino_89 wrote: | loxdegio wrote: | Ho provato anche e4rat, ma per le sue valutazioni mi rubava 10s all'inizio del boot tornandomi l'avvio a 40s buoni.
|
Beh, il collect una volta usato la prima volta non devi più usarlo e usare solo quello che fa il preload comunque a me da una certa release non ha mai più funzionato, quindi non mi ricordo bene la procedura. In teoria se usi già readahead non dovrebbe cambiarti molto |
In realtà era il preload che ci metteva una vita, non il collect che ha le sue regole, certo... Poi si avviava in tempo zero, ma il solo preload mangiava 10s di boot il che lo rende una cosa inutile ai fini di velocizzare il processo di avvio |
|
Back to top |
|
|
pierino_89 Guru
Joined: 03 Oct 2009 Posts: 522
|
Posted: Sat Sep 06, 2014 12:59 pm Post subject: |
|
|
loxdegio wrote: |
mentre per nodiratime non è già incluso in noatime? |
Pare di sì, ma in tutte le guide li ho sempre visti ambedue, quindi nel dubbio lo lascio
loxdegio wrote: |
Le mie LDFLAGS sono "-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" come mi era già stato consigliato in un altro topic e pare non ci sia di meglio, ma sono aperto a consigli |
Io ho anche "--sort-common". Occhio che --as-needed è entrata in quelle di default, quindi se la specifichi nel make.conf appare due volte (può essere desiderabile o meno, dipende da te ).
Era già abilitato di default
loxdegio wrote: |
In realtà era il preload che ci metteva una vita, non il collect che ha le sue regole, certo... Poi si avviava in tempo zero, ma il solo preload mangiava 10s di boot il che lo rende una cosa inutile ai fini di velocizzare il processo di avvio | Allora probabilmente caricava troppa roba, dovevi fermarlo prima o cancellare a mano le voci inutili dalla lista _________________ Linux registered user 461710 |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Sun Sep 07, 2014 12:25 pm Post subject: |
|
|
Per l'iniramfs ti hanno già risposto, aggiungo solo che con genkernel2 si può fare qualcosa in più per ottenere una initramfs più malleabile.
Per l'ottimizzazione ti consoglio piuttosto di disabilitare del tutto il debugging con -g0. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Tue Sep 09, 2014 12:34 pm Post subject: |
|
|
djinnZ wrote: | Per l'iniramfs ti hanno già risposto, aggiungo solo che con genkernel2 si può fare qualcosa in più per ottenere una initramfs più malleabile.
Per l'ottimizzazione ti consoglio piuttosto di disabilitare del tutto il debugging con -g0. |
Grazie djinnZ, ti chiedo solo una cosa ma per genkernel2 intendi genkernel-next?
@Tutti: Stavo pensando, ma c'è un modo per comprimere l'initramfs in LZ4 già che ci sono? Perché quanto a rapporto compression ratio/decompression speed pare essere l'algoritmo migliore e in più l'ho già attivato per il kernel |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Thu Sep 11, 2014 8:27 pm Post subject: |
|
|
si. anche per genkernel originale.
Non ti posso essere di grande aiuto perchè sono all'estero e vado a memoria _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|