Собрал новое ядро - странно себя ведет.....
Вообще задачей было включить intelfb в ядре, но сразу я этот пункт не нашел, оказывается там есть зависимости, пока зависимости отыскал много чего поправил. Ядро собрал, intelfb заработал, нормальное разрешение нормальный рефреш и курсор не тормозит -). Но загрузка не проходит до конца, где то сразу после надписи openrc выскакиват предложение залогинится, после логина ругается на то что корневая система ro, ни один скрипт демон нормально не работает большиство просто не находит, если в грабе прописать rw происходит ровно тоже самое только без указание на то что корневая фс ro. Т.е вот банально пишу ifconfig и ничего не происходит, совсем ничего никаких сообщений, а когда я написал reboot или init 0..... no such file or directory и главное на той же самой системе другое ядро с vesafb и тяжелее на 400кб прекрасно грузится и все работает вот. Где взять конфиг от уже утсановленого ядра или чего в этом исправить чтоб нормально работало?
- Для комментирования войдите или зарегистрируйтесь
Если включена данная опция,
Если включена данная опция, то в /proc/config.gz
данная опция не включена
данная опция не включена
.
В /usr/src/linux и в /boot
Мы тоже не всего читали Шнитке!.. © В. Вишневский
там лежит конфиг из которого
там лежит конфиг из которого собранно неработающее ядро. вот смотрите: последняя версия ядра в которой все было нормально = 5 это ядро есть работает до сих пор прописано вторым пунктом в загрузке. Ядро которое не работает это уже 8 сборка. Соотвественно конфиг который лежит в linux имеет набор параметров от последнего собранного ядра. Мне нужно сделать работающее ядро. 1.либо найти конфиг от 5 сборки
2.взять дефолтный конфиг 3. исправит существующий конфиг. Что из этого реальнее всего и как это сделать?
white_ghost написал(а): там
Скопировать в директорию последнего ядра работающий .config и сделать make oldcofig
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
что значит в директорию
что значит в директорию последнего ядра? это где?
white_ghost написал(а): что
Это то ядро, которое хотите компилить: /usr/src/linux-бла-бла-бла
Покажите:
# ls -al /usr/src
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
total 2 drwxr-xr-x 3 root
total 2
drwxr-xr-x 3 root root 136 Oct 19 12:09 .
drwxr-xr-x 12 root root 328 Oct 19 11:14 ..
-rw-r--r-- 1 root root 0 Oct 9 20:38 .keep
lrwxrwxrwx 1 root root 18 Oct 19 12:09 linux -> linux-3.3.8-gentoo
drwxr-xr-x 24 root root 1608 Oct 21 11:09 linux-3.3.8-gentoo
Ясно... Старый, работающий
Ясно... Старый, работающий конфиг вытягивать неоткуда...
А в /boot конфигов нет?
Покажите:
# ls -al /boot
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
total 9834 drwxr-xr-x 3 root
total 9834
drwxr-xr-x 3 root root 192 Oct 21 10:39 .
drwxr-xr-x 21 root root 488 Oct 20 01:50 ..
-rw-r--r-- 1 root root 0 Oct 9 20:38 .keep
lrwxrwxrwx 1 root root 1 Oct 19 13:43 boot -> .
drwxr-xr-x 2 root root 600 Oct 21 01:29 grub
-rw-r--r-- 1 root root 3473040 Oct 19 19:26 kernel
-rw-r--r-- 1 root root 3410512 Oct 20 14:15 kernel2
-rw-r--r-- 1 root root 3174128 Oct 21 03:21 kernel4
Нда... Ошибки молодости.
Нда... Ошибки молодости. Резервное копирование конфига работающего ядра не сделано. Осталось только опечалиться и.... приступить к конфигурации ядра вновь... вручную...вдумчиво, внимательно...
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
как конфиг сбросить на
как конфиг сбросить на дефолтный?
Можно взять с livecd
Можно взять с livecd
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
.
Если это имена ваших ядер, то каковы же имена каталогов с их модулями в /lib/modules/ ?!?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
в /lib/modulesодин каталог
в /lib/modulesодин каталог /3.3.8-gentoo у меня почти нет модулей все встраиваю в ядро
.
Хуже, что у вас нет таблицы символов ядра (/boot/System.map-{kernel-version}), без которой, как минимум, не сможет работать klogd (и вы не увидите никаких сообщений), но это далеко не всё: "...A few drivers need System.map to resolve symbols since they're linked against kernel headers instead of glibc). They won't work correctly without the System.map for the particular kernel currently running. This is NOT the same thing as a module not loading because of a kernel version mismatch, which has to do with the kernel version, not the kernel symbol table which changes between kernels of the same version..." Попробуйте собрать ядро командами:
make mrproper make defconfig make nconfig make (-jn) make modules_install install
Мы тоже не всего читали Шнитке!.. © В. Вишневский
вообщем я в папке с ядром
вообщем я в папке с ядром покопался нашел какой то defconfig, старый конфиг удалил вообще заменил на defconfig, заново отконфигурировал, короче завелось, работает. При сборке ядра заметил warning когда собирался intelfb это нормально? vesa и uvesa я не собирал а разрешение в консоле сейчас еще лучше чем в windows, но тем не менее как то страно. Может gcc обновить?
А что эти команды делают?
Может не правильно но я делаю так:
make menuconfig
make && make modules_install
затем копирую bzimage в /boot
можно после сборки сделать make install тогда появится system.map с ядром в /boot но чего делать и куда прописывать этот system.map я не знаю.
разобрался со всеми командами
разобрался со всеми командами кроме последней чего она делает?
.
Это совокупность "make modules_install" и того, что вы делаете руками ("копирую bzimage в /boot"), т.е. в вашем случае вместо "make && make modules_install + руки" делайте "make -jn && make modules_install install". А прописывать system.map никуда не надо - с правильным именем в правильном месте она и так будет найдена
P.S. nconfig существенно удобнее, чем menuconfig. IMHO...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
nconfig действительно
nconfig действительно удобнее. с install тоже все ясно это скрипт колторый копирует ядро в бут. Только вот если я ядро переименую ничего страшного не случится? Как узнать что система видит и понимает что имеется system.map? а то как то от его наличия ничего не изменилось. И еще интересует можно ли ядро собирать для этой системы на другом компьютере? И еще почему качается из обновлений ядро 3.3.8 а на kernels.org лежат намного более свежие версии ядер, есть ли разница между официальными ядрами и теми что для gentoo? чем они отличаются?
На счёт обновлений, если я
На счёт обновлений, если я правильно понял вопрос - Вы скорее всего используете стабильную ветку portage и соответственно gentoo-sources из неё. Если есть такое желание - можно размаскировать самые свежие версии: /etc/portage/package.keywords
Я несу пингвина во имя луны! *WALL*
Spoiler написал(а): Хуже, что
А у меня её тоже нет :)
Правда, есть
/boot/.map
(скрытый)...При использовании genkernel-специфичных параметров хорошо бы предупреждать.
Всё работает.
Правда вопрос физического смысла в части привязки к версии ядра потенциально интересен.
:wq
--
Live free or die