Встроенное ядро ​​не загружается, отсутствует драйвер AHCI?

Мне нужно применить патч к ядру, и я приступил к сборке ядра. Сначала я получил исходные данные и зависимости для сборки с помощью

# apt-get source linux-image-`uname -r`
# apt-get build-dep linux-image-`uname -r`

. Заходя в исходный каталог, я применил свой патч, а затем взял текущую конфигурацию ядра и выполнил сборку с помощью

# cp -vi /boot/config-`uname -r` .config
# make-kpkg --initrd --append-to-version=-test kernel-image kernel-headers

. Наконец, я установил только что построенное ядро ​​из DEB, созданных в ../

# dpkg -i linux-image-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb
# dpkg -i linux-headers-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb

. При перезагрузке я нашел свое ядро ​​в меню Grub, но, пытаясь его загрузить, я закончил с

Gave up waiting for root device
...
ALERT! /dev/disk/by-uuid/[my-correct-disk-uuid-here] does not exist.

В появившемся приглашении BusyBox я попытался заглянуть в / dev /, и там нет дисководов, что указывает на то, что модуль ядра для моего контроллера дисков не был загружен (его нет в / proc / modules) , Как это может быть, хотя, когда я использовал ту же версию ядра, на которой я работаю, я набираю это - и с той же конфигурацией ? Сборка ядер - это не то, чем я занимаюсь ежедневно или для удовольствия, поэтому я был бы признателен за любую помощь в этом.

Редактировать: Я должен добавить, что я пытался использовать синтаксис / dev / sd ** для root= в командной строке Grub, с тем же результатом. Так что это не значит, что поиск UUID завершается неудачно; контроллер диска даже не существует. В случае необходимости, это Thinkpad X32 с чипсетом Intel 855PM (PATA HDD).

0
задан 3 August 2014 в 17:40

1 ответ

Теперь, из-за ошибки UUID я чувствую, что необходимо проверить информацию в/etc/fstab, потому что это - то, откуда информация о файловой системе (UUID) смонтирована.

Первый, загрузитесь в более старое ядро или сессию живого диска.

Выполняют следующую команду для нахождения UUID для корневого раздела.

sudo blkid -o list

вывод должен быть подобен этому примеру:

/dev/sda1      ext4     home      /                 bac7229a-e019-5679-931d-5e14f15ff4bc 
/dev/sda2      ntfs     c         (not mounted)     40Ajghyr-65uB-EA5C-7y8y9t6g54j5
/dev/sda3      ext4               (not mounted)     640565a9-310b-5d6r-8d8v7-e887do893f80
/dev/sda5      ext4               (not mounted)     e777547b-3a3a-7tgd-9a12-2769wsrbd92
/dev/sda6      swap               <swap>            d72b694e-4976-3333-hso5-7894e6s9d2

Теперь, используйте 'нано', 'vi', 'gedit', 'коврик для мыши' или независимо от того, что Ваш любимый текстовый редактор должен отредактировать или подтвердить перечисленный UUID для Вашего корневого раздела в/etc/fstab. Для этого примера я буду использовать нано:

sudo nano /etc/fstab

Теперь, согласно нашей информации, наша/etc/fstab информация должна выглядеть примерно так, предполагая использование незашифрованной, единственной установки раздела, смонтированной в "/":

# / was on /dev/sda1 during installation
UUID=bac7229a-e019-5679-931d-5e14f15ff4bc /         ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d72b694e-4976-3333-hso5-7894e6s9d2 none        swap    sw              0       0

, Если информация в/etc/fstab была неправильной и Вы обновили эту информацию соответственно, все, что необходимо сделать, теперь перезагрузка , потому что/etc/fstab загружается личинка сообщения и непосредственно не связан с конфигурацией initrd.img.

(Система считает информацию в/etc/fstab и автоматически загрузит корректные разделы оттуда)

<час>

, Если это не решает Вашу проблему или если информация в/etc/fstab точна, Вы, возможно, должны работать:

sudo update-initramfs -v -c -k all

можно хотеть заменить "всеми" с определенной версией ядра, если Вы не хотите обновлять все существующие изображения initrd (этот способ, которым можно обновить просто изображение, которое не загрузится). Посмотрите здесь для большего количества информации: https://stackoverflow.com/questions/9645073/how-to-make-an-initrd-img-in-ubuntu

, Если все подходит, не забывает работать:

sudo update-grub2

перед перезагрузкой.

отправьте любые ошибки.

1
ответ дан 3 August 2014 в 17:40

Другие вопросы по тегам:

Похожие вопросы: