Kako podići sustav bez boot managera?

Da, znam, ovo zvuči kao totalna ludost, no ipak je izvedivo i zapravo je vrlo jednostavno.

Ako posjedujete računalo novije generacije – bilo stolno, bilo prijenosno – dakle, UEFI računalo, ovo je svakako must-have feature, a uz njega definitivno systemd. Arch, Fedora i OpenSuse već dolaze sa systemd, dok za Debian, Gentoo i Slackware postoje vrlo kvalitetne upute kako ih prebaciti na systemd. Za Ubuntu se ne preporuča.

desktop-computer

U ovom članku ću vas naučiti kako svoj sustav pokrenuti iz UEFI-a. Pretpostavljam da već svi znaju što je UEFI i koja je razlika između UEFI i Secure Boota, pa ću taj dio preskočiti.

Sve što nam treba je zdrava instalacija Linuxa i kernel 3.3.0 ili noviji. EFI Stub boot koji ćemo koristiti u kernelu je iz kernela 3.3.0 te omogućava bootanje iz UEFI izbornika. Dakle, u istom izborniku gdje se nalaze vaši diskovi, optički uređaji i USB mediji s kojih bootate svoj statični ili mobilni OS se sada nalazi i izravan link na vaš OS.

EFI Stub boot na UEFI hardveru omogućava bootanje bez upotrebe boot managera poput Gruba ili Lilo (opaska: Grub i Lilo se mogu koristiti samo na hardveru koji podržava BIOS legacy; na UEFI hardveru potreban je EFI-kompatibilan boot manager kao Grub2, elilo ili syslinux). Možda će netko misliti da je ovo nepotrebno, no zašto ne bismo iskoristili sve prednosti modernog hardvera? Ovi koraci obavljeni su kod mene na Gentoo i Slackware mašinama, a isprobani su i na Debian i OpenSuse distribucijama.

Za početak trebamo konfigurirati kernel:

CONFIG_EFI=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_VARS=m
CONFIG_EFI_STUB=y

Također, olakšat ćemo si posao ako u kernelovu ugrađenu naredbenu liniju dodamo naredbene parametre koji su se ranije nalazili u Grubu. Kod mene to izgleda ovako:

CONFIG_CMDLINE=”root=/dev/sda2″

Možete zamijetiti i da ne koristim initramfs.

Prekompajlirajte kernel, zatim instalirajte i testirajte nove ugrađene parametre.
U tu svrhu sam napravio još jedan unos u Grubu bez “root=” pa to izgleda ovako:

title=Gentoo GNU/Linux !!TEST!!
root (hd0,2)
kernel /boot/kernel-3.8.0-gentoo

title=Gentoo GNU/Linux
root (hd0,2)
kernel /boot/kernel-3.8.0-gentoo root=/dev/sda2

Još uvijek bootamo pomoću Gruba da bismo utvrdili radi li sve, te uklonili eventualne greške. Dalje, ako sve radi, trebamo paket efibootmgr kojeg imaju sve moderne distribucije. Nakon toga se rad svodi na prvo pravilo Fight Cluba. Ako imamo UEFI, zašto bismo uopće koristili aplikaciju koju UEFI čita i pokreće te preko nje sa diska pokretali svoj OS, kad možemo OS pokrenuti iz samog kernela odabirom u UEFI izborniku?

Pripremite USB stick ili SD karticu. Ne morate se brinuti o kapacitetu jer nam ionako treba par MB. U vlastitom primjeru koristio sam stari USB stick od 256 MB. USB formatirajte u FAT32 particiju tipa EF00 te ga montirajte.

Kod mene se koristi sde i montira se u /mnt. Budući da ovdje upisujem podatke sa svoje Gentoo instalacije, prije nego kopirate sljedeći tekst morat ćete ga prilagoditi svom sustavu:

mount /dev/sde2 /mnt
cd /mnt
mkdir -p efi/boot
cd efi/boot
cp /boot/kernel-3.8.0-gentoo bootx64.efi

Nakon toga ponovno pokrećemo računalo te odlazimo u UEFI boot izbornik i odabiremo svoj USB stick kao boot device.

Odlično! Drugi test prolazi te smo spremni maknuti Grub i koristiti kernel.
Na disku je također potrebno napraviti FAT32 particiju oznake EF00. Kod mene je ta particija ispala /sda8:

mount /dev/sda8 /mnt
cd /mnt
mkdir -p efi/gentoo
cd efi/gentoo
cp /boot/kernel-3.8.0-gentoo gs340x64.efi

Sad imamo kernel tamo gdje ga UEFI može vidjeti, pa je vrijeme da UEFI dobije instrukcije da boota iz kernela. Da bi ovaj korak radio, obavezno moramo imati sustav podignut preko UEFI, zbog čega smo i radili USB korak:

modprobe efivars
efibootmgr –create –part 8 –label “Gentoo GNU/Linux” –loader ‘\efi\gentoo\gs340x64.efi

Napomena:
efibootmgr nativno radi sa /dev/sda, što meni odgovara, no obavezno prije upotrebe i za sve informacije provjerite man stranice.

Nakon ovoga možete mirno maknuti Grub, ugasiti računalo, izvaditi USB i uživati u brzom bootanju.

Click to rate this post!
[Total: 0 Average: 0]
VN:F [1.9.22_1171]
Stari sustav ocjenjivanja
Rating: 4.7/5 (12 votes cast)
Kako podići sustav bez boot managera?, 4.7 out of 5 based on 12 ratings

You may also like...

26 komentara

  1. b4sh napisao:

    jesi isprobo ?

    LP b4sh

  2. b4sh napisao:

    Clanak je boli glava jednom rijeci super i hvala na brzom odgovoru 😉

    LP b4sh

  3. Zlatko napisao:

    A što se za Ubuntu ne preporučuje???? Šta je Ubuntu drugačiji od ovih ostalih???? Lutherus, zašto u svakom članku moraš da imaš tu bespotrebnu negativnu notu … pa mnogo se bre naružiš s takvim stavom i nije u duhu slobodnog softvera. Inače svaka čast za tekst.

    • Lutherus napisao:

      Bilo bi lijepo in da se drugi puta informiraš prije nego počneš neartikulirano napadati. Ubuntu se ne preporuča radi upstarta i radi buga u grub2-efi.

  4. devil napisao:

    Zlatko, ubuntu se ne porporuca jer vec kosriti upstart a ostale distre su na sysv.

    nego, ovo ne bi radio iz ljenosti – svaki put kad se radi upgrade kernela moras paziti da sve kopiras. meni se to neda 🙂 ne bi to proporucal nikome raditi sve dok se to ne skriptira i postane mainstream. ovak je to za entuzijaste, a i realno ne dobije se puno na brzini boota.

    • Lutherus napisao:

      Samo ubuntov upstart je grrrrr…….ružan a rad sa UEFI hardverom je khm..loš.
      systemd je daleko bolje rješenje. Ono može se i Ubunut prebaciti na systemd samo se onda nakon reboot Ubuntu potrga pa je potrebno sve popravljati kaj je nakraju previše posla za 3 sekunde brži boot.

      • devil napisao:

        yup, ubuntu se ne isplati popravljat. previse vremena treba.
        inace, luth, j*** se, sad to moram probati. vec sam napisal novi PKGBUILD.

        gornji, prosti komentar ceka na moderiranje 😀

        • Lutherus napisao:

          Hoću hvala 😀 ljepih želja nikad dosta 😀
          inaće za Arch imaš thread 1090040 sa njihova foruma koj je od velike pomoći kod ovoga, pogotovo za ljude koji koriste initramfs

  5. Lutherus napisao:

    upstart je Canonicalova zmajena za init sustav isto ko i systemd od freedesktop. ili openrc od Gentoo. UEFI booting nije upstart i ne radi najbolje sa upstartom.

  6. Bertone napisao:

    Neću te hvaliti da se ne umisliš i pokvariš 🙂
    Tnx za članak.

  7. Iljo napisao:

    E vidiš zanimljivo 🙂
    Ubrzo mislim nabaviti neke nove komponente, između kojih je i matična na kojoj je UEFI.

    Aha, da ne zaboravim, trebam nabacit nekoliko zvijezdica.

    • Lutherus napisao:

      Preporuka za AMD FX seriju. Ako trebaš CPU to je onda to.APU well…njaaaaaaa

      • Iljo napisao:

        Thnx na preporuci.

        • Iljo napisao:

          Thnx na preporuci, razmišljam baš o tako nečemu.
          Do sada sam uvijek imao Intel procesore (i ne žalim se), no kolko znam, trenutno nemaju nešta slično AMD FX-u. Osobno ionako neću koristiti grafičke mogučnosti procesora, jer već imam grafičku za to… FX kažeš, moglo bi… 🙂

  8. Captain Hook napisao:

    Shit.. morat ću negdje na tečaj jer vi o ovome govorite kao da je to mačji kašalj..
    ima koji online tečaj? možda bi na jesen to obavio da napokon tu i tamo povežem u glavi neke stvari koje su za vas banalne.

    • Big Muzzy napisao:

      bez ‘panike’, linux sasvim dobro sluzi za uobicajene svakodnevne aktivnosti i bez ovakvih i slicnih zahvata

  9. Lemi napisao:

    Canonical koliko se ja secam nesto potpisivao sa M$-om zato ono cudo i radi jer su valjda dobili (kupili) kljuc

  10. Tomislav napisao:

    Postoji li neki poseban razlog zašto se preporučuje systemd? Meni je sve radilo savršeno i uz sys-v (Debian), odnosno openrc (Gentoo).
    Možda ne bi bilo loše spomenuti i rEFInd (http://www.rodsbooks.com/refind/) ako netko želi “ljepši” izbornik 🙂

    • Lutherus napisao:

      Da, ima brzina. rEFInd je boot manager. Ovdje je pak stvar o bootanju bez boot managera, odnosno o korištenju UEFI izbornika i kernela bez potrebe za trećom stranom.

  11. Nedeljko napisao:

    Smem li da pitam u čemu je praktična korist od ovoga? Nekada sam na single boot sistemu jednostavno stavljao pauzu od 0 sekundi u LILO/GRUB.

    • lutherus napisao:

      Nesmeš.

    • lutherus napisao:

      Čemu imati boot manager i sa pauzom 0 ako ti on uopće nije potreban? Čemu koristiti treću stranu da komunicira između kernela i računala ako možeš sve obaviti bržei elegantnije preko kernela?