LinuxForum.Fans
Тема

Установка нового ядра из консоли

Автор: drac753 53 сообщений 13914 просмотров 🔒 закрыта
#123585
Человек-коржик написал:
скажите, пожалуйста (или дайте ссылок, если есть, я не могу путного найти), как установить ядро на дебан, не имея на нем ядра.

скачать исходные тексты ядра.
http://wiki.debian.org/DebianKernel
а лучше пакеты
http://kernel-handbook.alioth.debian.org/ch-packaging.html

Lupo Alberto написал:
или не имея ядра, как такового?

не бывает линуксов без ядер :)

#123590
drBatty написал:
не бывает линуксов без ядер smile

Без установленных на жёсткий диск — бывают oO

#123597
Lupo Alberto написал:
Без установленных на жёсткий диск — бывают

это которые Live ? дык можно-же скопировать ядро оттуда. Не?
командой cp... Наверное даже будет работать. только ещё надо загрузчик скопировать. ну и его настроить.

#123598
drBatty написал:
это которые Live ? дык можно-же скопировать ядро оттуда. Не?
командой cp... Наверное даже будет работать. только ещё надо загрузчик скопировать. ну и его настроить.

Они самые. В Gentoo для неосвоивших «дао ядра» (либо, когда сроки поджимают) — это один из способов получить загружаемую систему: скопировать ядро, модули, inird-файл, установить загрузчик.

#123600
Lupo Alberto написал:
В Gentoo для неосвоивших «дао ядра»

genkernel?

#123602

загрузчик работает. Я компилил ядро такой же версии, как стоявшее (это уже плохо) установил уже ядро, отошел, закрыв крышку ноута, он впал в спячку и не включился. Модули не установлены => не загружается. Пробовал установить через chroot, не получилось. В установке в режиме эксперта вроде видел вариант "без ядер", значит, наверно как-то можно ставить ядро в систему, в которой нет ядра. Гугл выдает мне только про компиляцию, а в лив сд особо не покомпилируешь, так как нет библиотек, и ставить ничего не хочет. Через интернет скачать тоже не получилось, так как у меня vpn, под него нужно устанавливать пакет

#123605
Coldead написал:
genkernel?

genkernel только помогает собрать ядро, но слепо ему доверять нельзя.

#123606
Lupo Alberto написал:
Они самые. В Gentoo для неосвоивших «дао ядра» (либо, когда сроки поджимают)

а... но то в генте. в обычных дистрибутивах (бинарных) это не нужно, там уже готовые ядра есть, причём обычно много разных. можно и своё ядро пакетом сделать, если есть желание (и время) покрасноглазить. :)
а так ставить плохо... я помню в слаке примерно так делал (ядро из другой слаки взял), быстрее собрать

#123607
Человек-коржик написал:
загрузчик работает. Я компилил ядро такой же версии, как стоявшее (это уже плохо) установил уже ядро, отошел, закрыв крышку ноута, он впал в спячку и не включился. Модули не установлены => не загружается. Пробовал установить через chroot, не получилось. В установке в режиме эксперта вроде видел вариант "без ядер", значит, наверно как-то можно ставить ядро в систему, в которой нет ядра. Гугл выдает мне только про компиляцию, а в лив сд особо не покомпилируешь, так как нет библиотек, и ставить ничего не хочет. Через интернет скачать тоже не получилось, так как у меня vpn, под него нужно устанавливать пакет

Опишите последовательность выполненных вами команд при сборке ядра.
Как вы делали chroot?

#123609

Человек-коржик, загрузившись с любого LiveCD, посмотрите, что у вас есть в каталогах /boot и /lib/modules? Покажите конфигурационный файл Grub'а.

#123611

mount dev/sda3 /mnt
mount --bind /dev/ /mnt/dev
mount --bind/proc/ /mnt/proc
chroot /mnt

это все. Подозреваю, что чего-то не хватает, так как о chroot я узнал только вчера :(

#123615

Лучше как-нибудь так:

text

mkdir /mnt/debian
mount /dev/sda3 /mnt/debian
mount -t proc none /mnt/debian/proc
mount -o bind /dev /mnt/debian/dev
chroot /mnt/debian /bin/bash

UPDATE: /dev/sda3 — раздел с корнем вашей системы.
В конце надо бы обновить переменные среды, как сделать это в Debian, я не знаю :(

#123625

[console]debian:/lib/modules# ls
2.6.26-2-686 2.6.32-5-686 2.6.37[/console]

[console]debian:/boot# ls
System.map-2.6.37 config-2.6.37 grub vmlinuz-2.6.37
System.map-2.6.37.old config-2.6.37.old initrd-2.6.37 vmlinuz-2.6.37.old[/console]


граб

Показать
### 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 load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 88d10a08-2b21-4520-b4f3-5d7fd641c406
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 88d10a08-2b21-4520-b4f3-5d7fd641c406
set locale_dir=($root)/boot/grub/locale
set lang=ru
insmod gettext
set timeout=30
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 88d10a08-2b21-4520-b4f3-5d7fd641c406
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
set color_normal=light-gray/black
set color_highlight=white/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.37' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 88d10a08-2b21-4520-b4f3-5d7fd641c406
echo 'Loading Linux 2.6.37 ...'
linux /boot/vmlinuz-2.6.37 root=UUID=88d10a08-2b21-4520-b4f3-5d7fd641c406 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-2.6.37
}
menuentry 'Debian GNU/Linux, with Linux 2.6.37 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 88d10a08-2b21-4520-b4f3-5d7fd641c406
echo 'Loading Linux 2.6.37 ...'
linux /boot/vmlinuz-2.6.37 root=UUID=88d10a08-2b21-4520-b4f3-5d7fd641c406 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-2.6.37
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional RU (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 30d0c7edd0c7b77e
drivemap -s (hd0) ${root}
chainloader +1
}
### 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 ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

#123626

спасибо, сейчас попробую

#123630

dpkg там есть? есть.
чрутится нужно и ставить ядро с сидюка.

#123641

извините за ламерский вопрос: как?

#123645
Lupo Alberto написал:
mkdir /mnt/debian mount /dev/sda3 /mnt/debian mount -t proc none /mnt/debian/proc mount -o bind /dev /mnt/debian/dev chroot /mnt/debian /bin/bash
#123652

я про установку. Это же походу надо брать пакет с другого диска. Или на лив где-то валяется пакет, который можно установить? :o

#123660

Человек-коржик, так у вас же вроде бы всё на месте, переместите куда-либо System.map-2.6.37 config-2.6.37 vmlinuz-2.6.37, а затем переименуйте System.map-2.6.37.old config-2.6.37.old vmlinuz-2.6.37.old в System.map-2.6.37 config-2.6.37 vmlinuz-2.6.37
Какие ошибки, кстати, появляются при попытке загрузиться? На чём обрывается загрузка?

#123691
Lupo Alberto написал:
[quote=drBatty]это которые Live ? дык можно-же скопировать ядро оттуда. Не?
командой cp... Наверное даже будет работать. только ещё надо загрузчик скопировать. ну и его настроить.

Они самые. В Gentoo для неосвоивших «дао ядра» (либо, когда сроки поджимают) — это один из способов получить загружаемую систему: скопировать ядро, модули, inird-файл, установить загрузчик.[/quote]

сделал так, работает! спасибо за помощь, завтра скомпилю с make-kpkg, чтоб не было такого больше и были в запасе пакеты .deb

Войдите или зарегистрируйтесь, чтобы ответить.