Come Posso Riparare Il Kernel Debian? Come Initrd

Ecco un piccolo numero di semplici metodi che possono aiutare a sbarazzarsi del problema initrd del kernel Debian.

Ripara il tuo computer in pochi minuti, in modo facile e sicuro. Clicca qui per scaricare.

L’initrd

consente al particolare bootloader di caricare ciascuna delle proprie capacità in un file RAM. Questo disco RAM può quindi essere riparato in base all’approccio del file radice e i programmi per computer possono essere condotti da lì. Quindi il nuovo filesystem principale sarà montato da uno strumento musicale ancora. Il core precedente (da initrd) viene quindi spostato in modo permanente che aiuterà la directory e spesso può anche essere smontato in seguito.

initrd è di solito progettato principalmente per consentire al particolare sistema di avviarsi in due parti, in cui è il tipo di kernel che fornisce un nuovo pacchetto minimo di driver compilati attraverso il quale vengono caricati molti più moduli tramite ciascuno dei nostri initr.

(Recuperato da http://www.kernel.org/doc/Documentation/kernel-parameters.txt)

  • Initrd sono programmi regolari su siti di caricamento / boot dati il ​​nome /boot/initrd.img- kversion su /initrd.img, che simbolicamente diventa un tempo di collegamento per il popolare initrd installato .

  • Il tipico attaccante Debian non deve preoccuparsi di questo, poiché initrd non viene creato automaticamente fino a quando l’immagine del kernel non è stata installata. In ogni caso, puoi davvero Non possiamo modificare il nostro comportamento elaborando un file /etc/kernel-img.conf. Nota: se funziona, eseguire non influenzarlo.

Parametro del kernel nel nome del file initrd significa Specifica la posizione del disco riservato numero uno (che spesso può essere uno, ma due regolari initrd diversi o uno initramfs 2.6).

Il kernel 2.6 initrd si aspetta chiaramente che il file sia un archivio cpio (compresso), che è certamente decompresso su questo disco virtuale, noto come initramfs. Debian usa senza sforzo initramfs-tools e per yaird manifestare e/insieme ad aggiornare l’initrd appropriato per tutto il sistema.

Se crei initramfs-tools, puoi configurarlo di conseguenza, inoltre, cambia semplicemente ciò che initrd sostiene modificando /etc/initramfs-tools/initramfs.conf o applicandolo in /etc – initramfs- tools file / conf … d o Sovrascrivi /etc/initramfs-tools/initramfs.conf. Ad esempio, potresti sicuramente modificare la politica di un driver rv impostando MODULES = a good number su MODULES = dep. Come risultato importante, il metodo include solo tutto ciò che il sistema di driver conosce (piuttosto che ciò che include solo la maggior parte di essi). Tuttavia, tieni presente che è improbabile che il camionista molto importante sia elencato e il tuo sistema si avvierà effettivamente bene. L’approccio del bus driver (opzione MODULES) può essere sostituito con questo file chiamato driver-policy, che è conservato in /etc/initramfs-tools/conf.d/.

  • InitrdReplacementOptions: decidere tra gli strumenti initramfs, possibilmente yaird.

  • Consulta l’ultima Guida all’amministrazione / initrd.html per ulteriori linee guida.

  • Il kernel 2.4 è ora deprecato, Legacy è davvero initrd!

I kernel precedenti alla 2.4 si aspettavano che il file initrd fosse in genere il logo del disco di blocco (compresso) (cioè formattato sulla base di ext2 o minix fs). questo è stato precedentemente creato da initrd per l’utilizzo di mkinitrd.

  • Leggi la documentazione di Linux 2.4.35 / initrd.txt per un singolo lotto di informazioni.

Vedi anche

  • Initramfs

Collegamenti esterni

  • Guida del kernel Debian Linux: gestione dell’effettivo archivio ramfs outlet (initramfs)
    https://kernel-team.pages.debian.net/kernel-handbook/ch-initrafs.html

  • initrd man post

L’indolore initramfs è considerato un’immagine del filesystem root avviabile del kernel fornita sulla base di un archivio cpio molto compresso.

Questo Una semplice immagine initramfs può precedere un archivio cpio non compresso che ospita i dati di un nuovo firmware stipato molto presto durante il boot.

  • Quando è presente ogni organizzazione cpio non compressa, avvia initramfs, estrai solitamente il microcodice e invialo a una CPU.
  • Se all’inizio è presente un database cpio non compresso che include il mio initramfs, ignoralo e installalo per rilasciare il file come express initramfs. Altrimenti, tratta initramfs al 100% esattamente come initramfs di base.
  • Decomprimere i file initramf di base come al solito, elaborandoli offrendo un file cpio compresso (gzip per impostazione predefinita in Debian, LZ4 in Ubuntu) per archiviare l’hard disk completo di RAM.
  • Monta e integra un’unità estremamente con la RAM come filesystem di avvio di root.

Gran parte del tipo di inizializzazione del kernel e del codice di avvio può essere spostato su questo disco come parte della modalità utente. Attività come trovare il proprio disco rigido reale, configurare la rete all’interno dell’avvio, gestire ramdisk in stile initrd, impostare ACPI, ecc. sono state completamente modificate dall’interno del kernel.

Lo stesso vantaggio di buon senso di questo schema è la dimensione del codice del kernel. Non rilascia memoria nel momento in cui questo è un sistema in esecuzione, perché il kernel Linux sta già svuotando il codice di sconto di avvio ogni volta che non è più necessario. Ma la base di codice più piccola per il loro nuovo kernel stesso rende i gestori di grano un po’ più semplici, e questo ti assicura una buona cosa. Ma gli incredibili vantaggi di tutti gli initramfs sono:

  • L’impostazione di una prima fase di lancio è diventata molto più semplice. Chiunque abbia bisogno di cambiare il modo in cui il sistema si avvia ora è una motivazione sufficiente per il codice dello spazio utente; l’applicazione di patch di solito il kernel stesso probabilmente non sarà necessario più grande.
  • Direi che molti spostando il codice init in ogni area personalizzata possono rendere più facile scrivere questo codice a prezzo più basso: questo metodo ha una libreria C completa, protezioni di memorizzazione, ecc.
  • Lo spazio utente è necessario per elaborare un kernel specifico come risultato del sistema chiamante. Questo desiderio ha davvero molto da fare per offrire il nucleo. Attualmente, “magic” viene utilizzato in ogni codice di inizializzazione; La risposta è un codice più pulito e più sicuro.
  • Viene fornita in bundle una libreria C di buone dimensioni (“klibc”) che supporterà le applicazioni initramfs.
  • Viene creata un’applicazione Kinit gestita inklibc. Incredibilmente all’inizio questo sarà sufficiente per verificare che la maggior parte del meccanismo funzioni semplicemente correttamente.
  • Il sottosistema initrd (il primo disco virtuale) è stato un po’ forzato a kinit e ad essere il kernel stesso. assemblaggio
  • Questo è normalmente perché il filesystem di root si sta rivelando trasferito nell’area utente. Gran parte del codice per la gestione dei file system NFS e dei sistemi di root instigate ti toccherà il cuore.

Il kernel ha attualmente 3 metodi per montare il filesystem di root:

  1. tutti i filesystem dei dispositivi necessari sono compilati per initrd senza kernel. init per ogni main.c: init () chiama Prepare_namespace () – monta a parete il filesystem di root finale alimentato principalmente da on root equivale a opzione e possibilmente init = che eseguirà un numero di binari init supplementari rispetto a quelli elencati, vedere cessare init / principale .c: init ().
  2. alcuni dispositivi e quindi inviare i driver di sistema moduli creati e facilmente archiviati in initrd. L’initrd potrebbe contenere il binario ‘/ linuxrc’, che dovrebbe sempre caricare i componenti del driver personalizzati. Potrebbe anche essere possibile modificare il filesystem finale ba molto semplice e utilizzare linuxrc per iniziare definitivamente a utilizzare la chiamata di sistema pivot_root. Sicuramente questo consiglio è un initrd montato e sarà probabilmente eseguito tramite Prepare_namespace().

  3. Usa

  4. initramfs. La chiamata in Prepare_namespace() dovrebbe essere ignorata. Ciò significherebbe senza dubbio che il binario dovrebbe eseguire la maggior parte del lavoro. Questo binario può essere salvato su un altro initramfs tramite usr / gen_init_cpio modification.c oltre che anche tramite la nuova struttura initrd, il potente archivio cpio. Invece, la situazione dovrebbe essere chiamata “/ init”. Questo binario è in realtà responsabile di mettere tutte le idee che Prepare_namespace () avrebbe fatto.

Per la capacità all’indietro, / init sarà sicuro di eseguire il binario quando viaggia attraverso l’eccellente cpio initramfs save. Se non init / main, deborah: init() si assicurerà di eseguire davvero Prepare_namespace() per montare tutte le root contigue ed eseguirne una a causa dei binari init predefiniti definiti

Il pacchetto initramfs-tools-core fornisce lsinitramfs durante l’elenco dei file trovati nel nostro unmkinitramfs initramfs e per ottenere documenti da initramfs.

In alternativa, il cliente e la tua famiglia possono fare da soli (a condizione che la maggior parte di path / to initrd esista già come directory ripulita): < /p>

  • Se l’output che ha a che fare con file -L /initrd.img potrebbe essere solitamente un archivio ASCII cpio (SVR4 non avendo CRC) , considera di creare l’initrd con Asterisk precedendo indiscutibilmente il microcodice.

    • estrae senza dubbio il microcodice percorso cd / to o initrd /; cpio -i e leggi la schermata STDERR (nel mio caso 48).

    • estrai l'initrd più importante tramite il percorso cd o in / initrad /; dd if = / initrd.img of significa initrd.img bs = 512 skip implica 48; Zcat initrd.img | cpio - naturalmente i (regola i prezzi appropriati per l'output di cpio STDERR).

    • Estrai estratto

  • Altrimenti, initrd è senza dubbio percorso cd / a initrad /; Zcat /initrd.img | cpio -i

debian kernel howto initrd

Il microcodice cpio della dimensione della memoria interna può essere richiesto automaticamente cpio -t per ogni dev / null Manuale < /p>
debian kernel howto initrd

(Questo metodo ha funzionato per me a un certo punto. Ma non è affidabile. versus usr / bin o lsinitramfs ha una sinossi con "cpio non non dirci la taglia”.)

Si noti che Debian attualmente comprende gzip come metodo di compressione, e inoltre questo metodo richiede che qualcuno lo possa fare. Ubuntu sembra iniziare a creare LZ4 a marzo 2018. Initramfs-tools all'interno solo di Debian supporta LZ4 da Debian-Buster.

  • / Altro.

  • RescueInitramfs

  • InitramfsDebug

  • Velocizza il tuo computer in pochi minuti

    Sei stanco del tuo computer che funziona lentamente? È pieno di virus e malware? Non temere, amico mio, perché il Reimage è qui per salvare la situazione! Questo potente strumento è progettato per diagnosticare e riparare tutti i tipi di problemi di Windows, migliorando al contempo le prestazioni, ottimizzando la memoria e mantenendo il PC funzionante come nuovo. Quindi non aspettare oltre: scarica Reimage oggi!

  • Passaggio 1: scarica e installa Reimage
  • Passaggio 2: apri il programma e fai clic su "Scansione"
  • Passaggio 3: fai clic su "Ripara" per avviare il processo di riparazione

initramfs-tools

  • La fase initramfs nel nostro Manuale del kernel Debian

  • Ramfs, rootfs e initramfs

  • sono tipicamente inclusi nella documentazione del kernel Linux.

  • rampe.

  • rootfs. Basato su

  • Proposta degli organizzatori dell'evento

  • Il tuo computer sta impazzendo? Funziona lentamente, si blocca costantemente o semplicemente non funziona come prima? Bene, non preoccuparti, c'è una soluzione. Clicca qui.