Для поддержки нового пишущего сидюка мне пришлось перекомпилить ядро. Я положил его на дискету, перегрузил с ним машину. Худо-бедно система завелась, писалка заработала. Потом я зделал так:
make dep make bzImage make modules make modules_install make bzlilo И новое ядро, по идее, должно было установиться в системе, заместо старого. Система, действительно, чем-то шмыгала, ни на что не ругалась. Но новое ядро не положила, так как моих изменений после перезагрузке не оказалось. несколько попыток ни к чему не привели. Не ставится новое ядро и все. Может быть, кто-нибудь знает в чем дело? Неохота каждый раз перегружаться с дискеты, чтобы записать диск. |
Попробуй вместо make bzlilo набрать make install - тогда ядро установится и пропишет себя в загрузчик
|
лБЛ С РПОЙНБА, make install - ЬФП ФП ЦЕ УБНПЕ, ЮФП Й bzlilo, ФПМШЛП РПУМЕ ХУФБОПЧЛЙ СДТБ ОЕ ЪБРХУЛБЕФ lilo. фБЛ Ч ЮЕН ЦЕ ТБЪОЙГБ?
|
Бррр!
Ну, во-первых, какой Линукс и какое ядро(вопрос бессмысленный, но всё же)? Вот строчка, которую я обычно выполняю (опять же - на любителя): make mrproper && make menuconfig && make dep && make clean && make bzImage && make modules && make modules_install А вот далее предпочитаю делать всё ручками. В каталоге "/<где_исходники_ядра>/linux/arch/i386/boot" есть файлик "bzImage". Скопируй его в "vmlinuz-2.4.18-55" к примеру и перенеси получившийся файл в каталог "/boot" . Только смотри, не замочи рабочее ядро. В целях сохранности системы лучше его не трогать. Затем в "/<где_исходники_ядра>/linux/" скопируй файл "System.map" в "System.map-2.4.18-55" (тоже, к примеру, но версии в именах "vmlinuz" и " System.map" должны совпадать) а потом снеси полученный файл в "/boot". Каталог "/boot", будет выглядеть гле-то так: ./ ../ System.map@ System.map-2.2.21-3 System.map-2.2.5-15 boot.0300 boot.b chain.b map module-info@ module-info-2.2.5-15 os2_d.b vmlinux-2.2.5-15* vmlinuz@ vmlinuz-2.2.21-3 vmlinuz-2.2.5-15 Кстати, а какой у тебя boot-loader. Если GRUB, то там никакой мороки, просто допиши по аналогии несколько строк с указанием нового имени ядра (всё остальное оставь без изменений). Только надо ДОБАВИТЬ эти строки, а не исправлять имеющиеся - опять же, из соображений сохранности системы, чтобы, в случае обвала, её можно было загрузить. Да, и не забудь поменять строчку "label", указав в ней новое имя системы (ну, например, "new"). Перегружайся и, как говорится, have fun. Для LILO, в принципе, должно хватать "make install", однако лучше всё сделать ручками - надёжнее. После того, как файлы скопированы в "/boot", поправь файл "/etc/lilo.conf", так же ДОБАВИВ в него по аналогии строчки для загрузки новой версии. Получится что-то вроде: boot=/dev/hda map=/boot/map install=/boot/boot.b prompt default=mod timeout=40 image=/boot/vmlinuz-2.2.5-15 label=base root=/dev/hda1 read-only image=/boot/vmlinuz-2.2.21-3 label=mod root=/dev/hda1 read-only Здесь "base" - то, что в начале называлось "linux" (я его переименовал для своего удовства), а "mod" - новое ядро. Затем запусти "/sbin/lilo" - он пропишет новую конфигурацию. Если у тебя используется бут-сектор для загрузки через WinNT/2000/XP, то запиши его через "dd if=/dev/<где_сидит_LILO> bs=512 count=1 of=/root/bootsect.lnx" и снеси его на Win раздел в загрузочную область. Вот, вроде бы, и всё. |
После совета уважаемого Seg Rendol кое-что уже начало получаться. Новая бага такая - при перезагрузке с новым ядром появляется буковка L (вместо LILO) и все глохнет. Это связано с дисковой геометрией, но я ее не трогал. И старое ядро не имеет ничего против нее (геометрии). В чем может быть бага?
А победа была так близко... |
Читаю книжку, и нахожу, что появление одной буквы "L" указывает на то, что (доыловно) " ... the first stage boot loader has been loaded and started, but it can't load the second stage boot loader ...". Если я правильно понял сию белиберду, то часть, которая находится в бут-секторе (512 байт) он загрузил и выполнил, однако ту часть, которую он собирается читать с диска (boot.b) он прочитать не смог.
Вопрос следующий: а где, собственно говоря, находистя у тебя раздел, с которого грузится Linux (имеется ввиду, "/boot" или корень, в котором должен находится этот каталог). Тут фича в том, что возможно, при загрузке с дискеты, никаких траблов. Если у тебя загрузочный раздел "разлёгся" за пределами 1024-го цилиндра, тоды - траблы. Он (LILO) не очень то дружит с этим. У меня была такая же хрень. Выход я увидел в следующем: "откуси" от первого раздела 32 Mb в самом начале и помести туда раздел "/boot" (если нужна метода, как это сделать - пиши письмо, а то мои посты и так очень длинные). А всё остальное может остаться там, где и сидит. |
Беда в том, что /boot стоит у меня отдельным разделом как раз в начале диска. Так что проблема не в этом. И что делать - не понятно.
|
было у меня такое =)
чинил так: загрузился с загр.дискеты винды и запустил fdisk /mbr //т.о. вынес лило из МБР перезагружаюсь - теперь сразу грузится винда =) гружусь снова с установочным сидюком linux и произвожу обновление ,но ничего не выбираю всё должно работать , можешь дальше продолжать опыты =) |
Честно говоря, ставить такие эксперименты я не могу, так как эта машина - расчетный сервер у меня на работе. Ее простой невозможен, а здесь олн непременно будет. Такой способ вряд ли поможет. Но за совет - спасибо
|
СТОП! Такие эксперименты для рабочей машины не годятся.
Andro? А ты откуда (расчёты, енто интересно). Ты можешь загрузит родное ядро? Свяжись по аське, могет в режиме on-line чего-то придумаем (номер смотри в моём профиле)... [s]Исправлено: Barracuda, 18:51 5-07-2002[/s] |
Andro, а каким размером у тебя /boot? Когда у меня он был большим, то были такие же траблы, урезал, все запахало.
|
Спасибо всем. Честно говоря, возиться дальше у меня нет времени. А пишущий сидюк (ради которого ядро и пересобиралось) я итак уже прикрутил.
Кстати, когда пытаешься настраивать будущее ядро - какие настройки там уже стоят? Как я понимаю это настройки далеко не текущего ядра. |
mioni
А к чему большлй "/boot" - 32 Мб хватит по-уши (16 Мб - рекомендуемый), ведь размер ядра не более 2 Мб плюс всякая фигня, ну на 5 Мб максимум. Парочка другая ядер займёт всего метров десять. И всё. Кстати Andro а какой у тебя тип файловой системы на "/boot"? |
У меня там ext2, а размер /boot точно не помню. Мегов что-то около 500
|
to Andro: не великоват /boot то? Правильно Barracuda говорит, 30 мегов хватает выше крыши. Попробуй уменьшить /boot до мегов 30, может поможет.
|
mioni
Угу, дофига будет. Одного я ни как не пойму - что-то Andro у тебя не всё в порядке, посмотри внимательно в "/etc/fstab" и конфиг LILO. После его переустановки всё должно пофиксится. Попробуй загрузиться с родным ядром, проверь конфиги и перпиши лило в бут-сектор (просто запусти "lilo"). Я перекраивал диски, после чего грузился в режим инсталляции но ничего не ставил, монтировал получившиеся диски, правил конфиги, после чего переписывал LILO и всё работало.:confused: Andro выложи конфиги: /etc/fstab конфиг LILO раскладку диска [s]Исправлено: Barracuda, 18:41 8-07-2002[/s] |
хммммм, делаю всё по описанию Barracuda, пробую на дистрибутиве Redhat7.3, все make прошли без проблем, (что
странно - точно то же делал на Redhat8.0 и на make modules вылетали ошибки!), дописываю в grub.conf новое ядро по аналогии со старым (кстати, я не нашел в info ничего про параметр initrd=, откуда брать и что это за образ initrd-2.4.18-3.img?) и при загрузке на новом ядре наблюдаю облом следующего содержания: kmod: failed to exec /sbin/modprobe -s -k block-major-8, errno=2 VFS:cannot open root device sda1 or 08:01 please append a correct "root=" boot option kernel panic: VFS: unable to mount root fs on on 08:01 Что я опять не так сделал? |
Не компилируется ядро 2.2.18 и 2.4.2, у меня Mandrake RE Spring 2001, gcc 2.96 ядро
2.2.18, glibc 2.2.2 Выдаёт: [root@enzo linux]# make install gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c In file included from /usr/include/errno.h:36, from scripts/split-include.c:26: /usr/include/bits/errno.h:25:26: linux/errno.h: No such file or directory make: *** [scripts/split-include] Ошибка 1 Может кто объянит в чём дело? |
Время: 16:58. |
Время: 16:58.
© OSzone.net 2001-