Я имел ввиду - подключить поддержку AMD64, для начала...
Совершенно без проблем... не факт, правда, что оно у тебя с первой попытки заработает.. 2.6.хх - наверняка, 2.4 - раз на раз... зависит от чипсета. у мну, напр. под новую тачку звук на 2.4 не воркал, собрал 2.6.13 - пашет на ура
Я имел ввиду - подключить поддержку AMD64, для начала...
Сюды make menuconfig в настройки проца.
Поделюсь и я своим способом сборки ядер 1. копируешь архив с исходниками в каталог /usr/src и распаковываешь
tar -xjf linux-2.6.13.3tar.bz2
2. make menuconfig (настраиваешь все как тебе надо)
3. make-kpkg --initrd kernel_image (создаешь deb-пакет с поддержкой initrd)
4. dpkg -i kernel-image.....deb (собственно ставишь пакет с ядром)
Вот собственно и все Но это только для Debian-подобных дистров.
xconfig rules! а текстовый почему-то не прет, к тому же в 2.6 xconfig намного удобнее, чем в 2.4
$ cd /usr/src/linux
$ make xconfig
----------------
$ [make dep only =< 2.4.xx ]make clean && make bzImage && make modules && make install && make modules_install && reboot надо еще в lilo.conf дописать путь к старому ядру, лежащему в /boot, предварительно переместив vmlinuz & System.map например, в /root
вопчем удачи
Вот перекомпилировал ядро 2.6.15.1, теперь такая проблема:
При загрузке вот что:
VFS: Cannot open root device "307" or unknown-block (3,7)
Please append a coorect "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount fs on unknown-block (3,7)
Дистрибутив Slackware 10.2. Lilo после компиляции не правил, т.к. в каталоге /boot название ядра не поменялось.
Я дал команду /sbin/lilo. Скорее всего я модулем поставил файловую систему Reiserfs(у меня /boot и / такие. Уже все отформатировал, поставил, осталось ядро заново собрать.
Переустановил, опять перекомпилировал, включил поддержку reiserfs, выполнил mkinitrd -o /boot/initrd.img-linux-2.6.15.1 linux-2.6.15.1
Далее добавил в lilo:
initrd = /boot/initrd.img-linux-2.6.15.1
Все равно не помогло. Что делать?
/boot каталог - ext3, / - reiserfs
столкнулся с такой-же проблемой:
VFS:Cannot open root device "sda5" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing : VFS : Unable to mount root fs on unknown-block(0,0)
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. /dev/sda1 /boot ext2 noauto,noatime 0 2 /dev/sda2 none swap sw 0 0 /dev/sda5 / reiserfs notail,rw 0 1 /dev/sda7 /home reiserfs notail,rw 0 2 #/dev/sda9 /mnt/fat vfat rw,noatime 0 0 # NOTE: The next line is critical for boot! proc /proc proc rw 0 0 tmpfs /tmp tmpfs rw 0 0
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for # POSIX shared memory (shm_open, shm_unlink). # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will # use almost no memory if not populated with files) shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
поддержку reiserfs при сборке ядра делал встроенную, не модулем
а может быть дело в том что sda5 находится в расширенном разделе?
Member
Статус: Не в сети Регистрация: 06.05.2004 Откуда: Подмосковье
Хм... Почему корневую файловую систему пытается смонтировать на (0,0)? Я вот немножно позанимался смежным вопросом и достиг некоторой степени просветления. (0,0) это major и minor числа, major и minor чего не знаю, не знаю что они значат, но у всех устройств разные. У /dev/hda2, например (3,2). Почему же он пытается на (0,0) смонтировать? Знатоки, ваше мнение?
Member
Статус: Не в сети Регистрация: 21.06.2004 Откуда: Санкт-Петербург
BMR Обычно, один из двух вариантов. В initrd нет драйвера sata (либо он не загружается) - это можно проверить, посмотрев, выводит ли ядро сообщения о винчестере и разделах на нем до этой ошибки. Если выводит, проблема может быть в другом - в initrd банально нет файла /dev/sda5. В твоем случае initrd вообще не указан, исправь для начала это. Можно и без него, конечно, но тут уж сам ищи..
Camel Это устаревший метод, больше он не нужен (работал, когда все было просто, а сейчас не везде адекватен). Не в смысле major и minor идентификаторов, а в смысле выбора корневой фс по ним. Сейчас обычно делают так: в initrd в каталоге /dev размещают несколько файлов, типа /dev/sda*, и когда указывают root=/dev/sda5, оно видит файл /dev/sda5 (8,5) внутри initrd и понимает, к какому устройству нужно обращаться. Сейчас там (0;0) именно потому, что устройство из строчки "/dev/sda5" не смогло понять, что имеется ввиду - а файла такого не нашла.
Такой подход, вместо захардкоденых в ядро отображений вида hda2 -> (3,2) позволяет много полезных вещей, например сейчас считается дурным тоном указывать устройства при монтировании по именам, т.к. имена могут меняться (добавили раздел в середину - и все съехало, перешли на 2.6.19 и hda стал sda - опять все сломалось, изменили порядок устройств в биосе или переткнули шлейф - sda стал sdb, и опять проблемы). Чтобы этой проблемы не было, сейчас во всех дистрибутивах идет переход на другие способы указания устройства, благо придумали их давно (через метку или uuid). А подобные способы просто не работали бы, если бы использовались старые способы определения корневой фс.
Я указываю по меткам, т.е. root=LABEL=/ в конфиге grub и строчки вида LABEL=/boot в fstab, это решает проблемы. Но по-настоящему идеален только способ с UUID - кстати, на него перешли в новой юбунте. Строчки, к сожалению, получаются неудобоваримыми, поэтому в fstab/grub обычно прописывают по UUID, а если нужно руками, то по метке. К тому же, например своп-раздел обычно можно указать только по метке - в юбунте наложены специальные патчи для поддержки uuid у своп-раздела, которые в другие дистрибутивы просто еще не вошли. Но, через несколько лет, все перейдем на чистые uuid, а пока метки или старый способ вместе с геморроем, когда что-то меняется..
Обычно, один из двух вариантов. В initrd нет драйвера sata (либо он не загружается)
Не пользовался genkernel, потому и initrd нету. Как сейчас помню, руками SATA-драйвер включал, не модулем, у меня вообще нет ни одного модуля (так можно?). Пару дней репу ещё почешу, потом снесу рейзер и сделаю всё пожалуй на ext3 и ядро заново соберу...
Member
Статус: Не в сети Регистрация: 06.05.2004 Откуда: Подмосковье
Тут дело не в ReiserFS, так что не торопись сносить. А монолитное ядро, в смысле вообще не модульное, попробуй собрать. И драйверов устройств, на всякий случай побольше. И genkernel'ом тоже попробуй собрать. А ещё попробуй мои дурацкие советы не слушать.
Народ, простите за такой вопрос, с Линухой пока-что не на "ты"... тут надо в Мандриве 2006 "установить" ядро 2.6.19.1 + патч 2.6.20. реально ли? Как ето делать я то в принцепе понимаю, зачем - нужно чтобы модем заработал. Просто посоветовали перейти на Мандриву 2007, по с рубасами проблемка, а качать для меня ето не реально.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения