5,161 pregleda

Kako podići sustav bez boot managera?

26

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.

VN:F [1.9.22_1171]
Rating: 4.7/5 (12 votes cast)
Kako podići sustav bez boot managera?, 4.7 out of 5 based on 12 ratings

Povezani članci:

Uredite Grub s lakoćom: S...
GRUB je konačno ušao u 2....
Grub Customizer 3.0
Španjolska udruga Linux k...
Boot Linux sustava za 0.8...

26 Responses

  1. b4sh kaže:

    jesi isprobo ?

    LP b4sh

  2. b4sh kaže:

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

    LP b4sh

  3. Zlatko kaže:

    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.

  4. devil kaže:

    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 kaže:

      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 kaže:

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

        • Lutherus kaže:

          Hoću hvala :D ljepih želja nikad dosta :D
          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 kaže:

    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 kaže:

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

  7. Iljo kaže:

    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.

  8. Captain Hook kaže:

    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.

  9. Lemi kaže:

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

  10. Tomislav kaže:

    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 kaže:

      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 kaže:

    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.

Ostavi komentar

© 2014 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.