Назад | Перейти на главную страницу

Понижение версии ядра на сервере Ubuntu 9.10 с помощью apt-get?

Можно ли понизить версию ядра на сервере Ubuntu с 9.10 до 2.6.30 (или любого ядра 2.6 ниже 2.6.31) с помощью диспетчера пакетов apt-get?

Вот мотивация:

Я установил сервер Ubuntu 9.10 на машину с сетевой картой NetXen NXB-10GCX4 10GbE. Драйвер netxen_nic, поставляемый с Linux 2.6.31, жаловался, что прошивка на сетевой карте была слишком старой (прошивка была 3.4.114, а ядро ​​требует версия прошивки 3.4.216 или выше).

Я зашел на сайт производителя (QLogic, который приобрел NetXen), скачал последние версии драйверов, и прошил прошивку. К сожалению, сетевые карты по-прежнему не работали должным образом. Согласно документации по драйверам, мне нужно установить коммерческие драйверы, чтобы правильно работать с последней прошивкой.

Я пытался скомпилировать коммерческие драйверы в модуль ядра. К сожалению, они не будут компилироваться в Ubuntu 9.10, потому что они были написаны для более старой версии сетевого API Linux, которая была удалено из ядра в 2.6.31.

Поскольку QLogic считает это устаревшим продуктом, дополнительных обновлений драйверов не будет. Поэтому мне нужно запустить ядро, которое все еще поддерживает старый API. Я все еще хотел бы использовать Ubuntu 9.10. Я бы предпочел использовать диспетчер пакетов, чтобы зависимости обрабатывались правильно, а не вручную выполнять понижение версии ядра.

Изменить: для всех, кто попадает на эту страницу путем поиска этой конкретной сетевой карты, я решил свою конкретную проблему, загрузив версию 3.4.216 драйверов Linux с японского сайта NetXen и прошивки прошивки путем копирования 3.4.216 / bin / cx4_romimage в /lib/firmware/nxroming.bin и перезагрузки модуля netxen_nic.

В большинстве случаев старое ядро ​​все еще будет присутствовать в вашей системе, все, что вам нужно сделать, это отредактировать конфигурацию grub, чтобы указать на старое, и перезагрузиться. (/boot/grub/grub.conf)

Если старое ядро ​​было удалено, вам нужно будет снова установить его с помощью apt-get, я сомневаюсь, что диспетчер пакетов позволит вам это сделать.

Другой вариант - добавить свой голос в кампанию за стабильный интерфейс драйвера, чтобы эти проблемы больше не возникали.

У меня нет информации об этой сетевой карте, поэтому я сосредоточу свой ответ на понижении версии ядра.

Ядра 2.6.30.x использовались в более ранних выпусках Karmic и, очевидно, недоступны с использованием APT для любого текущего выпуска. Предлагаю вам следовать процедуре Вот для установки пакетов ядра сервера Ubuntu версии 2.6.30 (я не уверен, что все работает нормально). Пакеты сервера ядра не входят в основной архив ядер, но они должны быть доступны на зеркалах архива Ubuntu (список зеркал). Я бы попытался установить последнюю доступную версию (я видел серверные пакеты 2.6.30.7 на зеркале, последняя версия апстрима - 2.6.30.10).

Я только что попробовал ядро ​​2.6.30.10 для настольных ПК с последней установкой Karmic для настольных ПК, и оно, по-видимому, работает без проблем, поэтому процедура, вероятно, будет работать при установке на сервере.

После установки, если она работает, вы можете изменить ядро ​​по умолчанию с помощью команды grub-set-default (см. Grub2 - Документация сообщества Ubuntu) или с помощью StartUp-Manager (пакет startupmanager) в X. Редактировать /boot/grub/grub.cfg не рекомендуется.

есть 2 способа сделать это, во-первых, если это не ваш производственный сервер, вы можете установить обновление с ubuntu 8.04 до ubuntu 9.10. Во-вторых, apt-get удалите этот файл kernel.XX.XX.XX.dep перед запуском, что вам нужно добавить старое ядро ​​на свой сервер.

Я бы попытался найти прошивку, которую хотел драйвер в стандартном ядре Ubuntu, поскольку последняя не работала. В перспективе я бы заменил карту на что-то более поддерживаемое. Понижение версии ядра, чтобы поддерживать проприетарные драйверы, - проигрышное предложение.