Здравствуйте.
В общем возникла необходимость проапгрейдить ядро до 2.6.х (нужен параметр HZ, которого в 2.4.х нет). Зашел на kernel.org, скачал последнюю стабильную версию 2.6.20. Распаковал, взял конфиг из /usr/src/linux-2.4.21-4.EL, скопировал в папку с 2.6.20. Выполняю команду make oldconfig, отмечаю необходимые мне опции. Далее пытаясь руководствоваться мануалом по установке ядра с http://linuxcenter.ru/lib/articles/system/kernel26_install.phtml пытаюсь выполнить пошагово:
make bzImage
make modules
make modules_install
make install, уже на первом этапе происходит ошибка
<div class='indent'> AS arch/i386/boot/bootsect.o
LD arch/i386/boot/bootsect
AS arch/i386/boot/setup.o
LD arch/i386/boot/setup
AS arch/i386/boot/compressed/head.o
CC arch/i386/boot/compressed/misc.o
OBJCOPY arch/i386/boot/compressed/vmlinux.bin
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc02a0000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] ÏÛÉÂËÁ 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] ÏÛÉÂËÁ 2
make: *** [bzImage] ÏÛÉÂËÁ 2</div>
Далее читаю readme, там упоминания о make bzImage нет, говорят мол сделайте только make. Если есть модули, то make modules, а далее make install. Чищу make mrproper, копирую конфиг, пытаюсь выполнить make, выдает следующую ошибку (конец лога)
<div class='indent'> AS arch/i386/boot/bootsect.o
LD arch/i386/boot/bootsect
AS arch/i386/boot/setup.o
LD arch/i386/boot/setup
AS arch/i386/boot/compressed/head.o
CC arch/i386/boot/compressed/misc.o
OBJCOPY arch/i386/boot/compressed/vmlinux.bin
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc02a0000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] ÏÛÉÂËÁ 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] ÏÛÉÂËÁ 2
make: *** [bzImage] ÏÛÉÂËÁ 2</div>
Т.е. тоже самое.
Далее решаю пойти другим путем - скачать src.rpm с ftp.redhat.com. В апгрейдах для 3го AS SRPM'ов ядра 2.6.х нет, иду в раздел для 4го AS, скачиваю файл kernel-2.6.9-42.0.8.EL.src.rpm, устанавливаю его, захожу в /usr/src/redhat/specs/ и выполняю rpmbuild -bi kernel-2.6.spec, выдает
<div class='indent'>ïÛÉÂËÁ: áÒÈÉÔÅËÔÕÒÁ i386 ÎÅ ×ËÌÀÞÅÎÁ</div>
Меняю в spec файле строку %define all_x86 i686 на %define all_x86 i386 и пытаюсь запустить снова
требует: module-init-tools нужен для kernel-2.6.9-42.0.8.EL
Лезу на ftp, для RH 3AS нет такого модуля, качаю rpm для FC4, ругается на libc.so.6(GLIBC_2.3.4), качаю для FC3, начинает конфликтовать с файлами из modutils-2.4.25-9.EL. Все, тупик, что дальше делать не знаю =(. Ставить с --nodeps не хотелось. Помогите подскажите, что делать в такой ситуации.
cnyx: RH AS3 kernel upgrade 2.4.21 - 2.6.20 (2.6.9) проблемы
Для 2.6 нужен module-init-tools, который собой заменяет modutils, плюс я думаю для RH это не все, что нужно сделать, для перехода с 2.4 на 2.6. В Gentoo по этому случаю есть мануал, наверное кто-то написал подобное и для RH: http://www.gentoo.org/doc/en/migration-to-2.6.xml
Нашел миниFAQ как ставить
<div class='indent'>
õÓÔÁÎÏ×ËÁ module-init-tools(ÚÁÍÅÎÁ modutils)
1. wget -c ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-ini...
2. tar -jxvf module-init-tools-0.9.14.tar.bz2
3. cd module-init-tools-0.9.14
4. less INSTALL
5. ./configure --prefix=/
6. make moveold -ÜÔÏ ÄÁÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÓÏÈÒÁÎÉÔØ ÐÒÅÖÎÉÅ modutils ÄÌÑ
ÒÁÂÏÔÙ ÓÏ ÓÔÁÒÙÍÉ ÑÄÒÁÍÉ
7. make
8. make install
9. ./generate-modprobe.conf /etc/modprobe.conf
10. depmod -a
</div>
Вроде все прошло без ошибок, пытаюсь rpmbuild -bb kernel-2.6.spec, а все-равно ругается, что нет module-init-tools. Скачал module-init-toolsюsrc.rpm, пытался поставить, выдает
<div class='indent'>
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i386-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
îÅ×ÅÒÎÙÊ ËÏÄ ×ÏÚ×ÒÁÔÁ /var/tmp/rpm-tmp.215 (%build)
ïÛÉÂËÉ ÓÂÏÒËÉ ÐÁËÅÔÏ×:
îÅ×ÅÒÎÙÊ ËÏÄ ×ÏÚ×ÒÁÔÁ ÉÚ /var/tmp/rpm-tmp.215 (%build)
</div>
Может gcc старый?
<div class='indent'> rpm -qa | grep gcc
gcc-g77-3.2.3-20
gcc-objc-ssa-3.5ssa-0.20030801.41
gcc-objc-3.2.3-20
libgcc-3.2.3-20
gcc-3.2.3-20
gcc-java-3.2.3-20
gcc-g77-ssa-3.5ssa-0.20030801.41
compat-gcc-c++-7.3-2.96.122
libgcc-ssa-3.5ssa-0.20030801.41
gcc-gnat-3.2.3-20
gcc-c++-ssa-3.5ssa-0.20030801.41
compat-gcc-7.3-2.96.122
gcc-ssa-3.5ssa-0.20030801.41
gcc-c++-3.2.3-20
gcc-java-ssa-3.5ssa-0.20030801.41
</div>
И чего он каракули вместо русских букв подставляет? Форум в смысле. Пытаюсь вручную исправить, а все-равно не получается.
<span class='smallblacktext'>[ Редактирование 06.02.2007 - 18:43:56 ]</span>
А насколько можно допустим довериться утилите apt-get, запустив ее apt-get upgrade gcc и apt-get upgrade glibc ?
[quote=cnyx]А насколько можно допустим довериться утилите apt-get, запустив ее apt-get upgrade gcc и apt-get upgrade glibc ?[/quote]
Смотря откуда будешь апгрейтится, если с "родных" источников, то проблем не должно возникнуть.
Не хочет gcc апгрейдить, говорит стоит последняя версия =(
А как на rpm based дистрибутив поставить пакет из исходников так, чтобы он был виден? Просто вроде module-init-tools устанавливается из исходников, а при попытке собрать rpm ядра, говорит что нет такого. И вообще для RH 3AS искать rpm и srpm от RH9 или от fedora4-5-6? От каких версий?
з.ы.
Был бы это не сервак, я бы поставил новый дистрибутив и не парился бы, а так зависимости это кошмар какой-то =(
1. Я бы не стал на боевом сервере эксперементировать с ядрами.
2. Разве в AS есть apt-get. по моему там дело ограничивалось up2date и yum. Хотя конечно прикрутить можно всё, что угодно.
3. gcc у вас не делает выполняемые файлы скорее всего из-за того, что не полностью установлен. Линковщика нет, например или libtools.
4. И неужто Вы думаете, что сможете ядро собрать лучше, чем это делают в Red Hat? Поищите готовые сборки.
1. А что такого? Будет падать, вернусь к старому и буду сидеть на 2.4
2. Нет, просто установил. yum почему-то не работает, выдает ошибку. Пробовал разные версии от 1, 2, 2.2 и 3.
Traceback (most recent call last):
File "/usr/bin/yum", line 22, in ?
import yummain
ImportError: Bad magic number in /usr/share/yum/yummain.pyc
3. Дело в том, что некоторые пакеты из spec файлов собирает, а на некоторых именно эта ошибка вылезает. Как проверить есть ли линковщик и его версию?
libtool-libs-1.4.3-6
libtool-1.4.3-6
4. Дак я же не спорю, что RH неплохо собирают, я с их сайта и брал, но там srpm, чистой готовой rpm'ки нет. А ядро нужно с поддержкой параметра HZ, которого в 2.4 нет.
Последние комментарии
10 лет 1 неделя назад
10 лет 20 недель назад
10 лет 30 недель назад
10 лет 31 неделя назад
11 лет 20 недель назад
11 лет 20 недель назад
11 лет 20 недель назад
11 лет 21 неделя назад
11 лет 21 неделя назад
11 лет 22 недели назад