Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: После выполнения "update-initramfs -c -k `uname -r`" система не закружается...  (Прочитано 9597 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Добрый день!
Я решил поставить на ноутбук Ubuntu (раньше пользовался на десктопе CentOS, но она как бы... CentOS не совсем десктопная, она у меня на серверах надёжно стоит уже несколько лет)
После установки был доволен, всё удобно, всё работает из коробки, но...
Стало мне необходимо собрать модуль ядра "vloopback", и понеслось...

1. Скачал 2.6.35.2 с kernel.org
2. tar -xjvf...
3. cd kernel_dir
4. modprobe configs
5. zcat /proc/config.gz>.config
6. make menuconfig
7. make all && make modules_install && make install
8. grub-mkconfig>/boot/grub.cfg

!!! ОБНАРУЖИЛОСЬ, ЧТО НЕТ INITRD.GZ, ДЛЯ НОВОГО ЯДРА !!!

Пошарил по форумам, написал:
root@ab:/boot# apt-get install initrd*
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Заметьте, выбирается initramfs-tools-bin из-за регулярного выражения initrd*
Заметьте, выбирается initramfs-tools из-за регулярного выражения initrd*
Заметьте, выбирается multipath-tools-initramfs из-за регулярного выражения initrd*
Заметьте, выбирается bootcd-mkinitrd из-за регулярного выражения initrd*
Заметьте, выбирается linux-initramfs-tool из-за регулярного выражения initrd*
Заметьте, вместо linux-initramfs-tool выбирается initramfs-tools
Заметьте, выбирается classmate-initramfs из-за регулярного выражения initrd*
Заметьте, выбирается busybox-cvs-initramfs из-за регулярного выражения initrd*
Заметьте, выбирается bootcd-mkinitramfs из-за регулярного выражения initrd*
Заметьте, выбирается busybox-initramfs из-за регулярного выражения initrd*
Заметьте, выбирается live-initramfs из-за регулярного выражения initrd*
Будут установлены следующие дополнительные пакеты:
  live-initramfs
Предлагаемые пакеты:
  loop-aes-utils curlftpfs genext2fs httpfs2 squashfs-tools mtd-tools
НОВЫЕ пакеты, которые будут установлены:
  live-initramfs
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 0B/99,4kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 500kB.
Хотите продолжить [Д/н]? y


И понеслось...

root@ab:/boot# update-initramfs -c -k `uname -r`
update-initramfs: Generating /boot/initrd.img-2.6.32-21-generic
.: 6: Can't open /scripts/functions
.: 5: Can't open /scripts/functions
.: 9: Can't open /scripts/casper-functions

Создаёт какой то initrd.gz, но не грузится с ним... если подсунуть initrd из бэкапа (который я сделал tar -cz /boot>boot.tar.gz), то начинает грузиться...

ПППППППАААААААААААААМММММММММААААААААААААААГГГГГГГИИИИИИИИИИИИИИИТТТТТТТТТЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ!!!!

!!! ПРИ ЗАГРУЗКЕ НЕ МОНТИРУЕТСЯ КОРНЕВАЯ ФС, БЕЗ ОБЪЯСНЕНИЯ ПРИЧИН... !!!

root@ab:/boot# ls -la /boot
итого 22064
drwxr-xr-x  3 root root    4096 2010-08-19 12:25 .
drwxr-xr-x 25 root root    4096 2010-08-19 11:50 ..
-rw-r--r--  1 root root  640617 2010-04-16 17:01 abi-2.6.32-21-generic
-rw-r--r--  1 root root  115847 2010-04-16 17:01 config-2.6.32-21-generic
drwxr-xr-x  3 root root    4096 2010-08-19 11:48 grub
-rw-r--r--  1 root root 9429150 2010-08-19 12:28 initrd.img-2.6.32-21-generic
G

-rw-r--r--  1 root root 7959435 2010-08-19 11:27 initrd.img-2.6.32-21-generic.work
-rw-r--r--  1 root root  160280 2010-03-23 12:37 memtest86+.bin
-rw-r--r--  1 root root 1687378 2010-04-16 17:01 System.map-2.6.32-21-generic
-rw-r--r--  1 root root    1196 2010-04-16 17:03 vmcoreinfo-2.6.32-21-generic
-rw-r--r--  1 root root 4029792 2010-04-16 17:01 vmlinuz-2.6.32-21-generic

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Поищи хав-ту, как собирать ядра в Ubuntu.
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
и конфиг граба сюда...

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
и конфиг граба сюда...

root@ab:/archive# cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
set locale_dir=($root)/boot/grub/locale
set lang=ru
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, с Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
   recordfail
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=7eaea5a4-15d6-45dd-8de5-45800a18005e ro   quiet splash
   initrd   /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, с Linux 2.6.32-21-generic WORK' --class ubuntu --class gnu-linux --class gnu --class os {
   recordfail
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=7eaea5a4-15d6-45dd-8de5-45800a18005e ro   quiet splash
   initrd   /boot/initrd.img-2.6.32-21-generic.work
}
menuentry 'Ubuntu, с Linux 2.6.32-21-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
   recordfail
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   echo   'Загружается Linux 2.6.32-21-generic ...'
   linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=7eaea5a4-15d6-45dd-8de5-45800a18005e ro single
   echo   'Загружается начальный ramdisk ...'
   initrd   /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux16   /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux16   /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ ${timeout} != -1 ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###


Пользователь решил продолжить мысль 19 Августа 2010, 14:49:11:
Поищи хав-ту, как собирать ядра в Ubuntu.

Ещё раз перечитал man по сборке ядер: "Ядерная физика для домохозяек!", точнее по ubuntu...

!!! ПЕРЕСОБРАЛ ЯДРО !!! Не грузится ((

100% дело в initrd, к бабке не ходи!
« Последнее редактирование: 19 Августа 2010, 14:50:22 от yury-ef »

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
Ну что же тут сказать...тут записи про ваше 2.6.35.2 нету...да..  :P
Вариант 1, добавить в /etc/grub.d/40_custom Что то вроде этого
menuentry 'Ubuntu Linux 2.6.35.2' --class ubuntu --class gnu-linux --class gnu --class os {
   recordfail
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux   /boot/vmlinuz-2.6.35.2 root=UUID=7eaea5a4-15d6-45dd-8de5-45800a18005e ro quiet splash
   initrd   /boot/initrd-2.6.35.2.img
}
Это раз, Но....
у вас нет файла  /boot/vmlinuz-2.6.35.2, видать make install его либо не скопировал, либо еще что то ....думайте.
Второе, update-initramfs -c -k 2.6.35.2 ибо `uname -r` Обновит рамдиск на ТЕКУЩИЕ ядро...да...
« Последнее редактирование: 19 Августа 2010, 15:04:30 от 666joy666 »

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Ну что же тут сказать...тут записи про ваше 2.6.35.2 нету...да..  :P
Вариант 1, добавить в /etc/grub.d/40_custom Что то вроде этого
menuentry 'Ubuntu Linux 2.6.35.2' --class ubuntu --class gnu-linux --class gnu --class os {
   recordfail
   insmod ext2
   set root='(hd0,1)'
   search --no-floppy --fs-uuid --set 7eaea5a4-15d6-45dd-8de5-45800a18005e
   linux   /boot/vmlinuz-2.6.35.2 root=UUID=7eaea5a4-15d6-45dd-8de5-45800a18005e ro quiet splash
   initrd   /boot/initrd-2.6.35.2.img
}
Это раз, Но....
у вас нет файла  /boot/vmlinuz-2.6.35.2, видать make install его либо не скопировал, либо еще что то ....думайте.
Второе, update-initramfs -c -k 2.6.35.2 ибо `uname -r` Обновит рамдиск на ТЕКУЩИЕ ядро...да...

Я просто очистил /boot от неработающего хлама "2.6.35.2"... оставил старое generic...

Ещё раз...
cd /usr/src/linux-2.6.35.2 && make modules_install && make install && update-initramfs -c -k 2.6.35.2

...
 INSTALL sound/soc/codecs/snd-soc-wm9090.ko
  INSTALL sound/soc/snd-soc-core.ko
  INSTALL sound/sound_firmware.ko
  INSTALL sound/soundcore.ko
  INSTALL sound/synth/emux/snd-emux-synth.ko
  INSTALL sound/synth/snd-util-mem.ko
  INSTALL sound/usb/caiaq/snd-usb-caiaq.ko
  INSTALL sound/usb/snd-usb-audio.ko
  INSTALL sound/usb/snd-usbmidi-lib.ko
  INSTALL sound/usb/usx2y/snd-usb-us122l.ko
  INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
  DEPMOD  2.6.35.2
sh /usr/src/linux-2.6.35.2/arch/x86/boot/install.sh 2.6.35.2 arch/x86/boot/bzImage \
      System.map "/boot"
update-initramfs: Generating /boot/initrd.img-2.6.35.2
.: 6: Can't open /scripts/functions
.: 5: Can't open /scripts/functions
.: 9: Can't open /scripts/casper-functions
root@ab:/usr/src/linux-2.6.35.2#
...

root@ab:/boot/grub# grub-mkconfig >grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35.2
Found initrd image: /boot/initrd.img-2.6.35.2
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 10.04 LTS (10.04) on /dev/sda6
done

Чувствую себя "мелким лохом", 10 лет назад начинал с UNIX и понеслось... 6 лет на RedHat и в итоге 2 дня работы с Ubuntu меня УБИЛИ (демотивировали)

Есть гуру, с большим бубном? Готов приехать с ноутом в любой конец Москвы и М.О., это дело так оставлять нельзя...

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
Ну так, после всего этого вы пробовали загрузиться? И не монтирует root...что то вроде "unknown block device"?

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Ну так, после всего этого вы пробовали загрузиться? И не монтирует root...что то вроде "unknown block device"?


Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
хм, попробуйте так же указать root=/dev/sd... , а не по UUID, всякое бывает:)

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
хм, попробуйте так же указать root=/dev/sd... , а не по UUID, всякое бывает:)

5 минут, но кажется root=/dev/sda1 я уже пробовал...

!!! НЕ РАБОТАЕТ !!!

Проблема в INITRD (очень вероятно)

Пример:
vmlinuz-2.6.32-21-generic - ЯДРО
initrd.img-2.6.32-21-generic (родной, из бэкапа) - ГРУЗИТСЯ
initrd.img-2.6.32-21-generic (после выполнения: update-initramfs -c -k `uname -r`) - НЕ ГРУЗИТСЯ (initrd при этом создаётся, размер ~11МБ, родной ~7МБ)

Ядро одно и то же, initrd - разные!


ПРОВЁЛ ЭКСПЕРЕМЕНТ:
Загрузил свежеустановленную ubuntu 10.04 на другом разделе, выполнил update-initramfs -c -k `uname -r` - СОЗДАЁТСЯ, ГРУЗИТСЯ!
То же самое в "рабочем" разделе... НЕ ГРУЗИТСЯ! Проблема в генерации initrd.img

ЕСТЬ ИДЕИ ПО ПОВОДУ:
root@ab:/boot# update-initramfs -c -k `uname -r`
update-initramfs: Generating /boot/initrd.img-2.6.32-21-generic
.: 6: Can't open /scripts/functions
.: 5: Can't open /scripts/functions
.: 9: Can't open /scripts/casper-functions


????????????????
« Последнее редактирование: 19 Августа 2010, 16:39:07 от yury-ef »

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
еще как вариант, создать initrd сторонними средствами....например Dracut
З.Ы. В репах помойму нет или старое , так что можно взять тут http://sourceforge.net/projects/dracut/
tar -xvf dracut*
cd dracut
./dracut --help
В мане все есть :)
Cам юзаю, проблем с ним не было...
i13 ~ # dmesg | grep -i dracut
[    4.784518] dracut: Remounting /dev/sda3 with -o relatime,ro
[    4.841863] dracut: Mounted root filesystem /dev/sda3
[    4.885523] dracut: Switching root
« Последнее редактирование: 19 Августа 2010, 16:46:43 от 666joy666 »

Оффлайн yury-ef

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
еще как вариант, создать initrd сторонними средствами....например Dracut
З.Ы. В репах помойму нет или старое , так что можно взять тут http://sourceforge.net/projects/dracut/
tar -xvf dracut*
cd dracut
./dracut --help
В мане все есть :)
Cам юзаю, проблем с ним не было...
i13 ~ # dmesg | grep -i dracut
[    4.784518] dracut: Remounting /dev/sda3 with -o relatime,ro
[    4.841863] dracut: Mounted root filesystem /dev/sda3
[    4.885523] dracut: Switching root

Спасибо...
Я тут попробовал заменить /usr/share/initramfs-tools из рабочего дистрибутива...
Ошибок не выдало, но грузиться совсем перестало мигает курсор "_" и всё висит, даже ядро не хочет писать про то, что не найден корневой /
« Последнее редактирование: 19 Августа 2010, 17:05:27 от yury-ef »

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
а это уже видео драйвер, который нужно переустановить...

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Я ж писал собери по хав-ту для убунты деб пакеты сразу.
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

 

Страница сгенерирована за 0.077 секунд. Запросов: 23.