Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Svincolarsi dal initramfs
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
loxdegio
Tux's lil' helper
Tux's lil' helper


Joined: 05 Feb 2014
Posts: 94

PostPosted: Tue Sep 02, 2014 8:55 am    Post subject: Svincolarsi dal initramfs Reply with quote

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
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4657
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Tue Sep 02, 2014 12:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
loxdegio
Tux's lil' helper
Tux's lil' helper


Joined: 05 Feb 2014
Posts: 94

PostPosted: Wed Sep 03, 2014 8:02 am    Post subject: Reply with quote

Perfetto! Grazie mille :D Appena ho un attimo di tempo me la leggo bene tutta con calma;)
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Wed Sep 03, 2014 7:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4657
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Thu Sep 04, 2014 11:15 am    Post subject: Reply with quote

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
View user's profile Send private message
loxdegio
Tux's lil' helper
Tux's lil' helper


Joined: 05 Feb 2014
Posts: 94

PostPosted: Thu Sep 04, 2014 2:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Thu Sep 04, 2014 2:56 pm    Post subject: Reply with quote

cloc3 wrote:

orpo. non volevo offendere :).
sono valutazioni senza impegno.

Ma no tranquillo, era solo curiosità. Forse avrei dovuto mettere una faccina :D

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 :wink: 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
View user's profile Send private message
loxdegio
Tux's lil' helper
Tux's lil' helper


Joined: 05 Feb 2014
Posts: 94

PostPosted: Sat Sep 06, 2014 8:01 am    Post subject: Reply with quote

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 :P )

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 :wink: 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
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Sat Sep 06, 2014 12:59 pm    Post subject: Reply with quote

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 :P

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 :wink: ).

loxdegio wrote:

Qui per il readahead (trovi anche sulla wiki di arch, ma ho trovato info prima su fedora): http://fedoraproject.org/wiki/Systemd/it#Readahead

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 :D
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sun Sep 07, 2014 12:25 pm    Post subject: Reply with quote

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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
loxdegio
Tux's lil' helper
Tux's lil' helper


Joined: 05 Feb 2014
Posts: 94

PostPosted: Tue Sep 09, 2014 12:34 pm    Post subject: Reply with quote

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? :D

@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
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Thu Sep 11, 2014 8:27 pm    Post subject: Reply with quote

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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
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