MKINITCPIO(8) mkinitcpio MKINITCPIO(8) NUME mkinitcpio - creeaza un mediu ramdisk iniial SINOPSIS mkinitcpio [opiuni] DESCRIERE Creeaza un mediu ramdisk iniial pentru pornirea nucleului Linux. Ramdisk-ul iniial este, in esena, un mediu foarte mic (spaiu utilizator iniial) care incarca diverse module ale nucleului i configureaza lucrurile necesare inainte de a preda controlul catre init. Acest lucru face posibila existena, de exemplu, a sistemelor de fiiere radacina criptate i a sistemelor de fiiere radacina pe o matrice RAID software. mkinitcpio permite extinderea uoara cu carlige personalizate, are autodetecie in timpul execuiei i multe alte caracteristici. OPIUNI -A, --addhooks carlige Adauga carlige suplimentare la imagine. Acestea vor fi procesate in ordine dupa toate celelalte carlige din fiierul de configurare. Carligele multiple trebuie sa fie separate prin virgule. Aceasta opiune poate fi specificata de mai multe ori. -c, --config fiier-configurare Utilizeaza fiierul fiier-configurare pentru a genera ramdisk-ul. Implicit: /etc/mkinitcpio.conf. Daca este specificat, fiierele drop-in din /etc/mkinitcpio.conf.d/ vor fi ignorate. -d, --generatedir director Stabilete director ca locaie in care este construit initramfs. Acest lucru ar putea fi util pentru a genera un ramfs de inchidere in /run/initramfs/. -D, --hookdir director Stabilete director ca locaie in care vor fi cautate carligele la generarea imaginii. -g, --generate nume-fiier Genereaza o imagine CPIO ca nume-fiier. Implicit: nu; aceasta inseamna ca nu se va scrie nimic in sistemul de fiiere daca nu este specificata aceasta opiune. -H, --hookhelp nume-carlig Afieaza ajutorul pentru numele carligului nume-carlig. -h, --help Afieaza o scurta prezentare generala a opiunilor de linie de comanda disponibile. -k, --kernel versiune-nucleu Utilizeaza versiune-nucleu, in locul nucleului care ruleaza in prezent. Aceasta poate fi o ruta catre o imagine a nucleului (acceptata numai pentru arhitecturile bazate pe x86), o versiune specifica a nucleului sau cuvantul-cheie special none. In acest din urma caz, nu se adauga module de nucleu la imagine. -L, --listhooks Listeaza toate carligele disponibile. -M, --automods Afieaza modulele gasite prin autodetecie. mkinitcpio va incerca in mod automat sa determine ce module ale nucleului sunt necesare pentru a porni calculatorul. Aceasta opiune enumera modulele care au fost detectate. -n, --nocolor Dezactiveaza colorarea ieirii. -U, --uki nume-fiier Genereaza o imagine unificata a nucleului ca nume-fiier. Daca o imagine CPIO este construita cu succes, aceasta va fi utilizata pentru a genera o imagine unificata a nucleului pentru pornirea UEFI. Aceasta combina initramfs, nucleul i linia de comanda a nucleului intr-un singur executabil. Acest lucru este util pentru integritatea lanului de pornire, unde fiierul este semnat. Implicit: no. Pentru o lista a opiunilor relevante, consultai seciunea Opiuni pentru imaginea unificata a nucleului de mai jos. -P, --allpresets Proceseaza toate preconfigurarile coninute in /etc/mkinitcpio.d. Consultai opiunea -p pentru mai multe detalii despre preconfigurari. -p, --preset preconfigurarea Construiete imaginea (imaginile) initramfs in conformitate cu preconfigurarea specificata. Acesta poate fi un fiier din /etc/mkinitcpio.d (fara extensia .preset) sau o ruta completa, absoluta catre un fiier. Aceasta opiune poate fi specificata de mai multe ori pentru a procesa mai multe preconfigurari. -R, --remove Elimina imaginea (imaginile) initramfs generata (generate) de preconfigurarile specificate. Daca este utilizata in combinaie cu -P|--allpresets, elimina imaginile pentru toate preconfigurarile. Aceasta opiune poate fi utilizata numai cu -p|--presets sau -P|--allpresets. -r, --moduleroot dir-root Specifica directorul radacina in care se gasesc modulele, implicit /. -S, --skiphooks carlige Omite carligele la generarea imaginii. Carligele multiple trebuie separate prin virgule. Aceasta opiune poate fi specificata de mai multe ori. -s, --save Salveaza directorul de construcie pentru ramdisk-ul iniial. Implicit: no; Aceasta inseamna ca directorul nu va fi pastrat daca aceasta opiune nu este specificata. Util in scopuri de depanare. -t, --builddir dir-temp Utilizeaza dir-temp ca director temporar de construire in loc de /tmp. dir-temp trebuie sa existe. Variabila de mediu TMPDIR este de asemenea respectata pentru a defini aceasta locaie, dar opiunea din linia de comanda va avea prioritate. -V, --version Afieaza informaiile despre versiune. -v, --verbose Afiare detaliata. Afieaza mai multe informaii despre ceea ce se intampla in timpul crearii ramdisk-ului. -z, --compress comprimarea Suprascrie metoda de comprimare cu programul comprimarea. OPIUNI PENTRU IMAGINEA UNIFICATA A NUCLEULUI --cmdline nume-fiier Utilizeaza linia de comanda a nucleului cu imaginea unificata a nucleului. Daca nu este specificat niciunul, incearca unul dintre fiierele /etc/kernel/cmdline, /usr/lib/kernel/cmdline sau /proc/cmdline. --no-cmdline Omite incorporarea unui ir de linie de comanda a nucleului in imaginea nucleului unificata. Opiunile liniei de comanda a nucleului vor trebui transmise prin linia de comanda a nucleului. Suprascrie opiunea --cmdline. --splash nume-fiier Executabilele UEFI pot afia un fiier de tip harta de bii la pornire. --uefistub nume-fiier Imagine stub UEFI utilizata pentru generarea imaginii nucleului unificate. Nu are niciun efect daca se utilizeaza ukify. Implicit: Incearca sa caute un incarcator stub systemd-boot sau gummiboot. --ukiconfig nume-fiier Fiier de configurare care sa fie transmis catre ukify. Daca nu este specificat niciunul, se incearca unul dintre fiierele /etc/kernel/uki.conf sau /usr/lib/kernel/uki.conf. Daca niciunul dintre acestea nu exista, ukify va utiliza fiierul sau implicit intern. --no-ukify Nu utilizeaza ukify pentru a construi UKI, chiar daca acesta este disponibil. Acest lucru nu este recomandat. --kernelimage nume-fiier Include o imagine de nucleu pentru imaginea nucleului unificata. Implicit: una dintre /lib/modules/${KERNELVERSION}/vmlinuz, /boot/vmlinuz-${KERNELVERSION}, sau /boot/vmlinuz-linux. --osrelease nume-fiier Include un fiier os-release pentru imaginea unificata a nucleului. Implicit: /etc/os-release sau /usr/lib/os-release. DESPRE PRECONFIGURARI O preconfigurare este o definiie predefinita a modului de creare a unui ramdisk iniial. In loc sa specificai fiierul de configurare i fiierul de ieire, de fiecare data cand generai un nou ramdisk iniial, definii o preconfigurare i utilizai opiunea -p pentru a genera un ramdisk iniial in conformitate cu preconfigurarea dvs. De obicei, preconfigurarile sunt fiiere situate in /etc/mkinitcpio.d/ cu extensia .preset, de exemplu /etc/mkinitcpio.d/linux.preset pentru preconfigurarea linux. Este posibil sa utilizai fiiere i in alte locaii. Atunci trebuie specificata ruta catre acel fiier. Fiierele de preconfigurari sunt scripturi shell care sunt preluate de mkinitcpio, iar urmatoarele variabile ii vor influena comportamentul. Reinei ca mkinitcpio se apeleaza singur pentru fiecare preconfigurare i transmite opiunile definite in fiierul de preconfigurare prin intermediul argumentelor din linia de comanda. Acestea sunt menionate in descrierea opiunilor de mai jos, deci consultai manualul argumentelor de linie de comanda pentru mai multe informaii despre o anumita opiune. PRESETS O serie de nume de preconfigurari definite in acest fiier. Aceste nume vor fi utilizate ca prefix la alte opiuni pentru a furniza opiuni specifice preconfigurarii. De exemplu, daca se da PRESET=('custom'), atunci imaginea este specificata prin custom_image='/boot/custom.img'. _kver (implicit valoarea lui ALL_kver -- una din cele doua este necesara) Specifica versiunea nucleului (prin -k in mkinitcpio). _config (implicit valoarea lui ALL_config -- una dintre cele doua este necesara) Ruta catre fiierul de configurare (transmisa prin -c catre mkinitcpio). _uki (una dintre _uki i _image este necesara) Ruta fiierului de ieire pentru o imagine unificata a nucleului (transmisa prin -U catre mkinitcpio). _imagine (una dintre _uki i _imagine este necesara) Ruta fiierului de ieire pentru imaginea generata (transmisa prin -g catre mkinitcpio). _options Alte argumente din linia de comanda pe care sa le transmitei catre mkinitcpio sub forma de ir sau serie de iruri. Acestea vor fi adaugate la sfaritul apelului catre mkinitcpio (dupa toate opiunile menionate mai sus), astfel incat acestea pot fi utilizate pentru a suprascrie opiuni (de exemplu, trecei un -S carlig aici pentru a omite un carlig). DESPRE CARLIGELE DE INSTALARE Carligele de instalare sunt scripturi bash care sunt obinute in timpul rularii mkinitcpio pentru a adauga module, fiiere binare i alte fiiere la imagine. Exista o varietate de funcii pentru a facilita acest lucru. add_module nume-modul Adauga la imagine modulul specificat de nume-modul. Dependenele sunt derivate i adaugate automat. add_binary binar [ destinaie ] [ mod ] Adauga un fiier binar la imagine. Argumentul binar nu trebuie sa fie o ruta absoluta i, daca este necesar, se va efectua o cautare. Daca binarul este un binar ELF legat dinamic, dependenele vor fi adaugate automat. Daca este o legatura simbolica, vor fi adaugate atat legatura simbolica, cat i binarul inta. Opional, poate fi specificata o destinaie in cadrul imaginii initramfs, precum i un mod(permisiuni) de fiier. In mod implicit, destinaia i modul sunt preluate din sursa derivata din binary. add_file ruta [ destinaie ] [ mod ] Adauga la imagine un fiier i orice directoare parinte necesare. Daca este o legatura simbolica, vor fi adaugate atat legatura simbolica, cat i fiierul inta. Opional, poate fi specificata o destinaie in cadrul imaginii initramfs, precum i un mod(permisiuni) de fiier. In mod implicit, destinaia i modul vor fi preluate din sursa i modul fiierului specificat de ruta. add_file_early ruta [ destinaie ] [ mod ] Adauga un fiier i toate directoarele parinte necesare la imaginea necomprimata iniiala. Funcioneaza la fel ca add_file. add_dir ruta Adauga un director i parinii acestuia la imagine. add_dir_early ruta Adauga un director i parinii acestuia la imaginea necomprimata iniiala. Funcioneaza la fel ca add_dir. add_full_dir director [ glob ] [ prefix_de_inlaturat ] Adauga recursiv un director la imagine parcurgand ruta data i apeland add_file, add_dir i add_symlink in consecina. Aceasta funcie nu va urmari legaturile simbolice i nici nu va adauga intele legaturilor simbolice. Daca este trecut argumentul glob, vor fi adaugate numai fiierele i legaturile simbolice care corespund acestui glob. Daca este pasat argumentul prefix_de_inlaturat, acesta va fi utilizat pentru a elimina ruta de destinaie (ruta din imaginea initramfs) din prefixul specificat de argumentul prefix_de_inlaturat. Acest lucru poate fi util la scrierea carligelor rootfs-overlay. add_symlink ruta [ inta-de-legatura ] Adauga o legatura simbolica la imaginea de la ruta specificata, opional indicand spre inta-de-legatura specificata. Daca inta-de-legatura nu este furnizata, se presupune ca aceasta legatura simbolica exista in sistemul de fiiere real, iar inta va fi citita utilizand readlink(1). Nu se efectueaza nicio verificare pentru a se asigura ca inta legaturii simbolice exista, iar legaturile simbolice nu vor fi urmate recursiv. add_all_modules [ -f filtru ] model Adauga module la imagine, fara a ine seama de lista alba de autodetecie. model trebuie sa fie un subdirector din arborele nucleului care descrie un subset de module care urmeaza sa fie incluse. O rafinare suplimentara poate fi furnizata prin intermediul opiunii -f cu o expresie regulata extinsa. add_checked_modules [ -f filtu ] model Similar cu add_all_modules, cu restricia ca numai modulele care corespund listei albe generate de carligul de autodetecie vor fi adaugate la imagine. Daca carligul autodetect nu este prezent in imagine, aceasta funcie este identica cu add_all_modules. add_runscript nume-script Adauga un carlig de timp de execuie la imagine, care este un script shell compatibil cu busybox ash. Numele scriptului este garantat sa corespunda cu numele carligului din care este apelat scriptul. add_udev_rule fiier-reguli Adauga o regula udev la imagine. Dependenele de binare vor fi descoperite i adaugate. Argumentul poate fi un nume de fiier de reguli (descoperit din rutele udev bine cunoscute) sau o ruta absoluta. add_all_modules_from_symbol simbol rute Adauga la imagine module din directoarele rute care conin simbolul. add_checked_modules_from_symbol simbol rute Similar cu add_all_modules_from_symbol, cu constrangerea ca numai modulele care corespund listei albe generate de carligul autodetect sa fie adaugate imaginii. Daca carligul autodetect nu este prezent in imagine, aceasta funcie este identica cu add_all_modules_from_symbol. DESPRE CPIO INIIAL mkinitcpio are suport pentru CPIO iniial. Acestea sunt arhive CPIO necomprimate anexate la arhiva CPIO principala comprimata. Acestea sunt utilizate pentru incarcarea iniiala a microcodului CPU sau pentru incarcarea suprascrierilor tabelei ACPI. Carligele de instalare pot instala fiiere in aceasta arhiva prin adaugarea lor la $EARLYROOT. DESPRE CARLIGELE IN TIMPUL EXECUIEI Carligele de timp de execuie adaugate la imagine prin intermediul funciei add_runscript dintr-un carlig de instalare sunt capabile sa furnizeze funcionalitai suplimentare in timpul spaiului de utilizator iniial. Funciile specifice din aceste fiiere vor rula la momente diferite. Un carlig poate defini una sau mai multe dintre acestea. La fiecare punct al carligului, carligele sunt executate in ordinea in care sunt definite in variabila HOOKS, cu excepia carligelor de curaare care sunt executate invers. run_earlyhook Funciile cu acest nume vor fi executate dupa ce montarile API au fost configurate i linia de comanda a nucleului a fost analizata. Demonii necesari pentru spaiul de utilizator iniial ar trebui sa fie lansai din acest punct de activare. run_hook Funciile cu acest nume vor fi executate dupa orice carlige iniiale i dupa ce modulele definite de utilizator au fost instalate. Acesta este cel mai comun punct de conectare, iar funcionalitai precum scanarea volumelor LVM i cartografierea volumelor criptate ar trebui sa fie efectuate aici. run_latehook Funciile cu acest nume vor fi executate dupa ce radacina a fost montata. Aceasta este utilizata in general pentru alte configurari necesare in radacina reala, cum ar fi montarea altor partiii de sistem. run_cleanuphook Functions of this name are run as late as possible. Any daemons started from a run_earlyhook function should be shut down here in preparation for switching to the real root. run_emergencyhook Funciile cu acest nume sunt executate inainte de lansarea shell-ului de salvare in caz de eec a pornirii. De exemplu, aceasta permite ecranelor de pornire (splash) sa ii incheie procesul, astfel incat utilizatorii sa observe eecul. getarg argument [ default ] Aceasta funcie poate fi utilizata in carligele din timpul execuiei pentru a obine un argument din linia de comanda a nucleului. Daca argument exista cu o valoare, valoarea este returnata. Daca argument exista fara o valoare, y este returnat. Daca argument nu exista, se returneaza default. Daca default nu este specificat, nu se returneaza nimic. DESPRE CARLIGELE POST GENERARE Carligele post-* sunt executabile sau scripturi care sunt executate dupa ce imaginea a fost generata cu succes i pot fi utilizate pentru procesarea ulterioara (de exemplu, semnarea). Acestea primesc nucleul ca prim argument, imaginea ca al doilea i, opional, imaginea unificata a nucleului ca al treilea argument. Reinei ca primul argument va fi gol atunci cand mkinitcpio a fost invocat cu -k none sau -k versiune i imaginea nucleului nu poate fi gasita in sistemul de fiiere. Sunt pasate urmatoarele variabile de mediu: KERNELVERSION Conine versiunea completa a nucleului din care a fost construita imaginea. KERNELDESTINATION Locaia implicita in care ar trebui sa fie localizat nucleul pentru pornire. Aceasta este de obicei aceeai cu primul argument, dar poate fi diferita daca mkinitcpio nu a fost invocat cu -k /boot/*. Daca nu a fost gasita nicio imagine a nucleului, aceasta variabila va fi i ea goala. MEDIUL DE INIIERE INIIAL mkinitcpio ofera un tratament special anumitor variabile de mediu transmise in linia de comanda a nucleului: break[=] Daca este specificata, mkinitcpio va lansa un shell in timpul iniierii incipiente. Parametrul opional controleaza momentul in care se intampla acest lucru: atunci cand premount sau niciun parametru nu sunt specificai, shell-ul va fi lansat inainte de montarea radacinii. Daca este specificat postmount, shell-ul va fi lansat dupa montarea radacinii. disablehooks=lista-carlige Aceasta este o lista separata prin virgule de carlige care vor fi ignorate in timpul iniierii iniiale. earlymodules=lista-module Aceasta este o lista de module, separate prin virgule, care vor fi incarcate inainte de oricare altele. In general, acest lucru nu este necesar i indica de obicei o problema de configurare sau de nucleu. quiet Face ca mkinitcpio sa emita mai puine mesaje in timpul pornirii. Erorile nu vor fi suprimate. ro Specifica faptul ca radacina trebuie sa fie montata cu permisiuni de numai-citire. Acesta este comportamentul implicit. rw Specifica faptul ca radacina trebuie sa fie montata cu permisiuni de citire. In general, acest lucru este util numai daca initramfs utilizeaza carligul fsck. root=dispozitiv-radacina Aceasta variabila descrie partiia radacina pe care iniierea incipienta o va monta inainte de a trece controlul la iniierea reala. mkinitcpio inelege o varietate de formate, dintre care cel mai de baza este ruta catre dispozitivul bloc, fie direct, cum ar fi /dev/sda2, fie utilizand un symlink udev, cum ar fi /dev/disk/by-label/CorsairF80-root. De asemenea, se accepta identificarea prin etichete LABEL sau UUID, cum ar fi LABEL=CorsairF80-root. Incepand cu util-linux 2.22, sunt acceptate i PARTUUID i PARTLABEL. Identificarea prin ID-ul dispozitivului major/minor codificat hexazecimal este acceptata din motive de tradiie, dar ar trebui evitata deoarece tinde sa fie fragila. rootdelay[=secunde] Stabilete intarzierea, in secunde, pe care mkinitcpio este dispus sa o atepte pentru ca dispozitivul radacina sa apara, daca acesta nu este disponibil imediat. Valoarea implicita este 10 secunde. Daca este trecut un numar intreg nevalid, aceasta variabila nu va avea niciun efect. rootflags=lista-fanioane O lista de fanioane separate prin virgule care vor fi transmise comenzii mount(8) la montarea sistemului de fiiere radacina. Valorile acceptabile sunt specifice sistemului de fiiere. rootfstype=tip_sistem-fiiere Suprascrie tipul de sistem de fiiere care este montat ca radacina. Acest lucru nu ar trebui sa fie necesar aproape niciodata, deoarece mount(8) detecteaza de obicei singur acest lucru. rd.debug Activeaza depanarea shell-ului (xtrace). Daca rd.log nu este, de asemenea, un parametru pe linia de comanda a nucleului, acest parametru implica rd.log=console. rd.log[=] Activeaza inregistrarea mesajelor iniiale din spaiul utilizatorului. Daca este specificata, parametrul opional descrie unde sunt inregistrate aceste informaii. Opiunile multiple pot fi puse impreuna prin operatorul logic SAU- folosind caracterul pipe (|). Mesajele sunt intotdeauna inregistrate la consola, cu excepia cazului in care este trecut parametrul quiet. Daca parametrul opional nu este specificat, se presupune kmsg|console. Daca rd.log nu este prezent in linia de comanda a nucleului, nu va avea loc nicio inregistrare. console Scrie ieirea in /dev/console. file Scrie ieirea in /run/initramfs/init.log. kmsg Scrie ieirea pe dispozitivul /dev/kmsg (introdusa in Linux 3.5). Aceasta opiune este inutila daca nucleul dvs. nu are suport pentru /dev/kmsg. all Scrie rezultatul la toate intele de jurnal cunoscute. Acestea sunt doar variabilele pe care nucleul mkinitcpio le onoreaza. Carligele suplimentare pot cauta alte variabile de mediu i ar trebui documentate prin ieirea de ajutor pentru carlig. REPRODUCTIBILITATE mkinitcpio urmarete sa creeze imagini initramfs reproductibile in mod implicit. Aceasta inseamna ca doua rulari succesive ale mkinitcpio ar trebui sa produca doua fiiere care sunt identice la nivel binar. Marcajele de timp din initramfs sunt stabilite in raport cu epoca Unix 1970-01-01. Reinei ca, pentru ca compilarea sa fie complet reproductibila, programul de comprimare specificat (de exemplu, gzip, xz) trebuie sa produca i arhive reproductibile. La momentul redactarii, ca exemplu neexhaustiv, programul de comprimare lzop este incapabil sa produca arhive reproductibile din cauza inserarii unui marcaj de timp in timpul execuiei. Mai multe informaii pot fi gasite la adresa . FIIERE /etc/mkinitcpio.conf Fiierul de configurare implicit pentru mkinitcpio. /etc/mkinitcpio.conf.d Directorul care conine fiierele de configurare drop-in. /etc/mkinitcpio.d Directorul care conine preconfigurarile mkinitcpio. /etc/initcpio/install, /usr/lib/initcpio/install Ruta de cautare pentru carligele de timp de construire. /etc/initcpio/hooks, /usr/lib/initcpio/hooks Ruta de cautare pentru carligele iniiale de execuie din spaiul utilizatorilor. /etc/initcpio/post, /usr/lib/initcpio/post Ruta de cautare pentru carligele de generare a post-urilor. EXEMPLE mkinitcpio Realizeaza o rulare in gol. Aceasta va genera un ramdisk iniial, dar nu va scrie nimic. Utilizai -g pentru a crea imaginea reala. mkinitcpio -p linux Creeaza o imagine ramdisk iniiala pe baza preconfigurarii linux. mkinitcpio -g /boot/initramfs-linux.img -k /boot/vmlinuz-linux Creeaza un ramdisk iniial pentru nucleu la /boot/vmlinuz-linux. Imaginea rezultata va fi scrisa la /boot/initramfs-linux.img. mkinitcpio -U /efi/EFI/Linux/systemd-linux.efi Creeaza un ramdisk iniial pentru nucleu impreuna cu o imagine unificata a nucleului. Executabilul rezultat va fi scris in /efi/EFI/Linux/systemd-linux.efi. mkinitcpio -U /efi/EFI/Linux/systemd-linux.efi --splash /usr/share/systemd/bootctl/splash-arch.bmp Creeaza un ramdisk iniial pentru nucleu i o imagine unificata a nucleului. Aceasta include, de asemenea, o imagine splash care va fi utilizata in timpul pornirii. CONSULTAI I Un articol mai detaliat despre configurarea mkinitcpio: initrd(4), lsinitcpio(1), mkinitcpio.conf(5), bootparam(7) ERORI La momentul redactarii acestei pagini de manual, nu existau erori notabile. Va rugam sa vizitai pentru o lista actualizata. AUTORI <> este intreinut de comunitatea Arch Linux. Consultai fiierul AUTHORS pentru o lista completa a contribuitorilor. DREPTURI DE AUTOR Drepturi de autor contribuitorii mkinitcpio. Doar GPL-2.0. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . " 27 aprilie 2024 MKINITCPIO(8)