LINUX.ORG.RU

UEFI не грузит ядро

 ,


0

1

Собственно сабж, ставлю Gentoo на ноутбук HP ProBook 450 G1. Порядок действий:

  • Загружаюсь в режиме UEFI при помощи SysrescueCD
  • Размечаю диск и монтирую разделы
    parted -l /dev/sda1
    Model: ATA HGST HTS545050A7 (scsi)
    Disk /dev/sda: 500GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system     Name  Flags
     1      1049kB  139MB   138MB   fat32                 boot
     2      146MB   2293MB  2147MB  linux-swap(v1)  SWAP
     3      2293MB  23.8GB  21.5GB  ext4            ROOT
     4      23.8GB  34.5GB  10.7GB  ext4            VAR
     5      34.5GB  500GB   466GB   ext4            HOME
    
  • cat /mnt/gentoo/fstab
    /dev/sda1		/boot/efi	vfat		defaults	0 2
    /dev/sda2		none		swap		sw		0 0
    /dev/sda3		/		ext4		noatime		0 1
    /dev/sda4		/var		ext4		noatime		0 1
    /dev/sda5		/home		ext4		noatime		0 1
    /dev/cdrom		/mnt/cdrom	auto		noauto,user	0 0
    tmpfs			/tmp		tmpfs	mode=1777,size=512M,noatime	0
  • Далее компилирую ядро, создаю initramfs
    make && make modules_install
    cp arch/x86_64/boot/bzImage /boot/kernel-3.10.25-gentoo
    genkernel --install --no-ramdisk-modules initramfs
  • Переношу все это в /boot/efi/EFI/gentoo/
    cp /boot/kernel-3.10.25-gentoo /boot/efi/EFI/gentoo/vmlinux.efi
    cp /boot/initramfs-genkernel-x86_64-3.10.25-gentoo /boot/efi/EFI/gentoo/initrd.img
    
  • Вношу запись в UEFI
    efibootmgr --create --disk /dev/sda --part 1 --label="Gentoo" -u --loader '\efi\gentoo\vmlinux.efi' root=/dev/sda3 initrd=/efi/gentoo/initrd.img acpi_backlight=vendor

При последующей перезагрузке ноутбук выпадает в меню UEFI, такое чувство, что загрузчик не видит раздел с ядром.

Трачу на это вторые выходные, ЛОР - моя последняя надежда.

P.S. Ubuntu ставил без проблем.

P.S.S. Grub2 ставил, но не помогло.

Запись добавилась?
efibootmgr -v

anonymous ()
Ответ на: комментарий от anonymous
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0000
Boot0000* Gentoo	HD(1,800,42000,17f111fc-14e9-46af-bfaa-ea6510992e1b)File(\efi\gentoo\vmlinux.efi)r.o.o.t.=./.d.e.v./.s.d.a.3. .i.n.i.t.r.d.=./.e.f.i./.g.e.n.t.o.o./.i.n.i.t.r.d...i.m.g. .a.c.p.i._.b.a.c.k.l.i.g.h.t.=.v.e.n.d.o.r...
Majesty911 ()

не понял, копируешь в efi/EFI а указываешь только efi

не сходятся пути.

irton ★★★★★ ()
Ответ на: комментарий от irton

Я копирую на раздел который монтируется как /boot/efi. Потому пути и не сходятся.

Majesty911 ()
Ответ на: комментарий от irton

UEFI ведь не зависит от регистра. Но все равно попробовал, не помогло.

Majesty911 ()

1. EFI надо скармливать полный путь до ядра.

2. ядро знает свой initrd?

3. ядро знает путь к корню?

4. ты efibootmgr пользуешь уже загрузившись в EFI?

5. EFI в пути использует обратные «\», а не прямые «/» слэши.

6. на крайний случай прошивку EFI обнови.

funeralismatic ★★★ ()
Последнее исправление: funeralismatic (всего исправлений: 1)
Ответ на: комментарий от funeralismatic

1. Например?

2-5. да

6. Но Ubuntu ставиться и с этой прошивкой. Хотя, если ничего другого не в голову не придет, попробую.

Majesty911 ()

переименуй ядро в bootx64.efi и подправь запись в efibootmgr

Torvus ()
Ответ на: комментарий от Majesty911

1. \EFI\gentoo\vmlinux.efi у тебя должно быть, ибо /boot у тебя — каталог, /boot/efi — точка монтирования (тоже каталог), а раздел имеет дерево, которое я привёт в начале.

6. сейчас даже самые свежие прошивки бажные, а те, с которыми мамки поступают в продажу, так я вообще молчу.

funeralismatic ★★★ ()
Последнее исправление: funeralismatic (всего исправлений: 1)
Ответ на: комментарий от Torvus

переименуй ядро в bootx64.efi

у меня ядро зовётся gentoo-3.12.0-experiment.efi и работает. не вся чушь с хабра полезна для применения.

funeralismatic ★★★ ()

-u --loader

неверно же написано

parrto ()
Ответ на: комментарий от parrto

и вообще загрузи шел и пробуй загрузить ядро. познаешь дзен и только потом добавляй boot record

parrto ()
efibootmgr -c -d /dev/sda -p 1 -L "Gentoo 3.12.7" -l "\EFI\gentoo\3.12.7-gentoo.efi"

так делаю я. и потом не забудь очередь поправить, и проверить правильность, запустив efibootmgr без параметров.

funeralismatic ★★★ ()
Ответ на: комментарий от funeralismatic

Вроде все так и делаю, efibootmgr ошибок не выдает. Остается только шел, да прошивка.

Хотя можно накатить ubuntu и сделать из нее gentoo.

Majesty911 ()
Ответ на: комментарий от funeralismatic

у меня ядро зовётся gentoo-3.12.0-experiment.efi и работает.

возможно дело в прошивке, но у меня с подобным именем ядро тоже не грузилось

Torvus ()

ядро собрано с поддержкой загрузки из efi (CONFIG_EFI_STUB)?

anonymous ()

позвольте оффтоп: правильно ли выделять под / 20 гигов? просто и на половину не забивается... я тоже 20 гигов даю сузе, потому что настройка по умолчанию столько и предлагает, хотя что я не ставлю, идёт вроде в /home/user/

YLoS ★★★ ()
Ответ на: комментарий от Torvus

возможно дело в прошивке, но у меня с подобным именем ядро тоже не грузилось

возможно, потому и порекомендовал обновить EFI.

funeralismatic ★★★ ()
Ответ на: комментарий от Majesty911

Вроде все так и делаю,

вроде должно работать.

efibootmgr ошибок не выдает.

и не должен.

funeralismatic ★★★ ()

Проблему решил

У меня была точь-в-точь такаяже проблема. Спасибо за этот пост! Я смог добавить запись в UEFI c помощью efibootmgr. И теперь этот gentoo у меня появляется в списке загрузчиков.

Я уж думал что проблема решена и всё хорошо, но опять у меня проблема! У меня не бутится этот gentoo... После выбора в rEFInd gentoo у меня зависает загрузка в следующем положении:

rFEInd - Booting OS
Starting kernel-3.10.25-gentoo.efi
Using load options "
_

И дальше не хочет грузить! Пожалуйста, подскажите, в чём может быть проблема? P.S. initramfs я не создавал, т.к. считаю это ненужно. Может в этом проблема?

anonymous ()
Ответ на: Проблему решил от anonymous

Re: Проблему решил

Переустановил rEFInd, изменил в конфиге refind/refind.conf путь к моему ядру kernel-3.10.25-gentoo (без разширения). Но всёже при попытки загрузится ошибка:

Starting kernel-3.10.25-gentoo
Using load options 'root=/dev/sda6 ro rootfstype=ext4'
Invalid loader file!
Error: Not found while loading kernel-3.10.25-gentoo
* Hit any key to continue *

anonymous ()

Проблема решена. Нужно было «всего то» дать EFI 520МиБ.

link

Majesty911 ()
Ответ на: комментарий от Toxx1c

я понимаю, всего 12 дней прошло, но «фу» таким некропостером быть, особенно к решенной теме

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.