The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Миграция RedHat 9 на Linux ядро 2.6 (kernel upgrade linux install redhat)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: kernel, upgrade, linux, install, redhat,  (найти похожие документы)
From: polachok <http://www.polachok.narod.ru>; Date: Mon, 28 Feb 2004 14:31:37 +0000 (UTC) Subject: Миграция RedHat 9 на Linux ядро 2.6 Оригинал: http://www.polachok.narod.ru/articles/migrate26.html Миграция на Linux 2.6 Перевод: polachok Примечание: мой первый перевод, извините за ужасный стиль. Введение Я потратил целый день переводя свой Red Hat 9 на ядро 2.6. Этот документ не претендует на полноценность, здесь решены только те проблемы, которые были меня. Вот они: sysfs, QM_MODULES, rpm, module-init-tools, Hotplug, Wireless, linux-wlan-ng, prism2_pci, USB, sound, realplay, VMware, и ACPI и APM. Это инфа не полная. Пожалуйста присылайте комментарии, исправления и т.д.. Мое мыло в конце страницы. Также посмотри HowTo Upgrade To The 2.6 Kernel на http://kerneltrap.org/node/view/799 Хард / Софт У меня IBM ThinkPad T30. Я делал все это с ядром версии 2.6.0-test2, но я думаю это подойдет и для 2.6.0-test3, 2.6.0-test4, 2.6.0-test5, 2.6.0-test6, 2.6.0-test7, 2.6.0-test8, 2.6.0-test9, 2.6.0-test10. Вот мой файл конфигурации ядра (http://thomer.com/linux/.config). Ядро 2.6.0-test{2,3,4,5,6,7,8,9,10} Если ты получаешь ошибки прерываний во время запуска ядра, попробуй откомпилтровать его с помощью GCC 2.95.3. RPM (and realplay) rpm перестает работать на ядре 2.6. Сначала он ничего не делает, апотом выводит сообщение: rpmdb: unable to join the environment error: db4 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages index using db3 - Resource temporarily unavailable(11) error: cannot open Packages database in /var/lib/rpm no packages Ты можешь профиксить этот баг вот так: export LD_ASSUME_KERNEL=2.2.5 (или эквивалент в твоей оболочке) а затем запустив rpm снова. Stephane Raimbault говорит что ты можешть также скачать и использовать последнюю версию rpm (ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x), но я не проверял. У меня была такая же проблема с realplay, она исправляется также. Вот что Penelope Fudd сказал об этой проблеме: Оригинальная glibc из RH9 c багом, обновленная glibc - нет: ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-2.3.2-27.9.i386.rpm А после этого надо обновить еще: ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-common-2.3.2-27.9.i386.rpm ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-devel-2.3.2-27.9.i386.rpm ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-utils-2.3.2-27.9.i386.rpm Я попытался сделать это командой rpm -Uvh glibc*, но это не сработало. Я набрал rpm -e <старая версия> и rpm -Uvh --force <новая>. Это работало. Modutils / module-init-tools Тебе нужны новые modprobe, insmod, rmmod, и тд. Если их не будет, будут ошибки типа "QM_MODULES: Function not implemented.'' Скачай последнюю версию module-init-tools (ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/ ). Прочти README. I запусти: ./configure --prefix=/ make moveold make make install Теперь переведи /etc/modules.conf в /etc/modprobe.conf с помощью ./generate-modprobe.conf который входит в состав module-init-tools: ./generate-modprobe.conf /etc/modprobe.conf Обрати внимание на результат, особенно конец файла. Вот моя копия /etc/modprobe.conf (http://thomer.com/linux/modprobe.conf). Hotplug Hotplug нужен для подключения беспроводных устройств. Включи CONFIG_HOTPLUG в конфигурации ядра. Затем замени все строки "/proc/ksyms'' на "/proc/kallsyms'' в /etc/rc.sysinit. Вот моя копия /etc/rc.sysinit (http://thomer.com/linux/rc.sysinit). Файловая система Sysfs Step 1: Создай /sys. Step 2: Где строка: mount -f /proc в/etc/rc.sysinit, добавь: mount -f /sys на следующей строке. Step 3: Где строка: action $"Mounting proc filesystem: " mount -n -t proc /proc /proc в /etc/rc.sysinit, добавь: action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys на следующей строке. Step 4: Добавь: none /sys sysfs defaults 0 0 в /etc/fstab. Step 5: В функции halt_get_remaining в файле /etc/init.d/halt, измени awk '$2 ~ /^\/$|^\/proc|^\/dev/{next} на awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next} Вот моя копия /etc/rc.sysinit (http://thomer.com/linux/rc.sysinit). А это моя копия /etc/init.d/halt (http://thomer.com/linux/halt). USB Названия модулей USB различны. Это затрагивает и /etc/modprobe.conf (посмотри на "usb-controller'') и на, /etc/rc.sysinit. Я переименовал все "keybdev'' в "usbkbd'' и "mousedev'' в "usbmouse''. Также, я заменил все "/proc/bus/usb'' на "/sys/bus/usb''. (Также сделай это в /etc/init.d/halt.) Посмотри на "needusbstorage'' в /etc/rc.sysinit. Я изменил эту секцию на: needusbstorage= if [ $usb = "1" ]; then needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/n ull` action $"Initializing USB HID interface: " modprobe hid 2> /dev/null action $"Initializing USB keyboard: " modprobe usbkbd 2> /dev/null action $"Initializing USB mouse: " modprobe usbmouse 2> /dev/null fi Вот моя копия /etc/rc.sysinit (http://thomer.com/linux/rc.sysinit). Беспроводные устройства (linux-wlan-ng, prism2_pci) Я использую драйвер linux-wlan-ng prism2_pci, которому нужен hotplug для работы.Я использовал версию 0.1.16-pre9, но перешел на 0.2.1-pre9. Скрипт /etc/wlan/shared содержит ошибкиr. Вот моя копия /etc/wlan/shared (http://thomer.com/linux/shared). Она содержит исправления. Воспользуйся diff если хочешь узнать что я изменил. Я полагаю что остальные файлы /etc/wlan могут остаться без изменений. Звук IBM ThinkPad T30 поставляется со звуковой картой Intel 810 + ac97. Теперь модуль называеся "snd-intel8x0''. Вот секция моего /etc/modprobe.conf. alias char-major-14 soundcore alias sound-slot-0 snd-intel8x0 alias snd-card-0 snd-intel8x0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss install sound-slot-0 /sbin/modprobe --ignore-install sound-slot-0 && \ { /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1; /bin/true; } remove sound-slot-0 { /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1;\ /bin/true; }; /sbin/modprobe -r --ignore-remove sound-slot-0 Вот моя копия /etc/modprobe.conf (http://thomer.com/linux/modprobe.conf) VMware Сначала замени все "/proc/ksyms'' на "/proc/kallsyms'' в /usr/bin/vmware-config.pl. Запуск vmware-config.pl даст ошибки компиляции. Разархивируй vmnet.tar в /usr/lib/vmware/modules/source. Получится папка vmnet-only. В ней отредактируй bridge.c. На 368-й строке измени: atomic_add(skb->truesize, &sk->wmem_alloc); на: atomic_add(skb->truesize, &sk->sk_wmem_alloc); и также, на 618-й и 817-й ситроках, измени protinfo на sk_protinfo. Затем заархивируй эту папку vmnet-only, заменив старый vmnet.tar, и перезапусти vmware-config.pl. Проверь что vmware-config.pl тот же компилятор, каким ты откомпилировал ядро. Я использовал GCC 2.95, но возможно тебе повезет с GCC 3 {Мне повезло --прим. polachok}. Jose Luis Domingo Lopez (спасибо!) написал мне следующее: [...] Последние изменения в task_struct сделали компиляцию сетевого модуля vmware невозможной. Исправить это просто: разархивируй vmmon.tar, открой vmmon-only/linux/driver.c и замени все: current->uid, current->euid, current->fsuid, current->egid, current->gid and current->fsgid на current->__uid, current->__euid, current->__fsuid, current->__egid, current->__gid and current->__fsgid, respectively. PS1: это изменение есть в tast_struct с ядра 2.6.0-test6-mm1, но этого нет в 2.6.0-test6. PS2: ядро и модули VMware откомпилированы gcc 3.2.3 из Debian Sid Nick Atkins написал мне мыло в котором отметил, что можно запустить vmware-config.pl для ядра 2.6 и GCC 3.x. Файл есть на http://ftp.cvut.cz/vmware/. Он сказал что последний тарбол (типа vmware-any-any-updateXX.tar.gz) должен быть разархивирован и запущен вместо vmware-config.pl. Я не пробовал. (Спасибо Jose Luis Domingo Lopez за советы.) Слово об ACPI и APM BIOS у ThinkPad T30's сломанный, это затрагивает ACPI. Можно скачать обновления с IBM'ского сайта. Однажды я попробовал, ACPI заработало, но только частично. И я решил вернуться к APM, т.к. уровень зарядки батарей отображался неверно RPM-ки Попробуй вот эти kernel 2.6 RPMs. Я сам не пробовал, но они выглядят многообещающе. http://people.redhat.com/arjanv/2.5/RPMS.kernel/ Я Это моя любимая часть. Меня зовут Thomer M. Gil, я студент Computer Science в MIT. У меня есть проблемы с р-р-речью (http://www.thomer.com/misc/stutter.html) и домашняя страница (http://www.thomer.com). Эта страница была создана 9 Августа, 2003. Последние изменения 2 Декабря, 2003. Мое мыло [my first name]@[my last name].com. Мое имя Thomer, моя фамилия Gil. Перевод: polachok, 16.01.04 (c) Polachok, 2003.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру