Как обновить ядро ​​Debian Wheezy в автономном режиме?

Я использую Debian ( Wheezy ) с 3.2.0-4 ядра 3.2.0-4 amd64 и хочу обновить свое ядро ​​до 3.13.3 stable новой версии, например 3.13.3 stable , но у меня нет подключения к Интернету для моей операционной системы Debian. Я установил оба пакета «usb-modeswitch» и «usb-modeswitch-data», но Debian не обнаруживает мой 3g-модем-usb-ключ.

Я загрузил 3.13.3 tar.xz с kernel.org . Как я могу скомпилировать и обновить с 3.2 до 3.13.3 без подключения к Интернету?

4 Solutions collect form web for “Как обновить ядро ​​Debian Wheezy в автономном режиме?”

Простой способ: backports

Я предполагаю, что вам нужно новое ядро, чтобы заставить ваш модем работать. Если вы можете жить с 3.12 вместо 3.13, по крайней мере на данный момент, вместо того, чтобы перекомпилировать ядро ​​из исходного кода, вы можете просто использовать Debian Backports. [обновление: теперь backports до 3,14]

Вы можете вручную захватить пакет с packages.debian.org (обновление: теперь 3.14) на компьютере с подключением к Интернету. Также возьмите initramfs-tools (там будет ссылка на странице). Поместите оба на USB-накопитель и установите с помощью dpkg -i .

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

После того, как у вас есть подключение к Интернету на компьютере, веб-страница backports содержит полные инструкции о том, как ее настроить, чтобы вы получали обновления, но вкратце:

  1. Измените /etc/apt/sources.list и добавьте deb http://YOURMIRROR.debian.org/debian wheezy-backports main
  2. Чтобы установить пакет из backports, используйте -t wheezy-backports , например aptitude -t wheezy-backports install linux-image-amd64

Трудный путь: исходные источники ядра

Обратите внимание, что вы потеряете патчи Debian таким образом, если вы не примените их вручную.

Настройте ядро, как в разделе « Конфигурирование, компиляция и установка пользовательского ядра Linux», но не устанавливайте его. (Вы также можете проделать файл конфигурации Debian, но будьте осторожны, он строит почти все, поэтому для компиляции потребуется очень много времени). Вместо этого запустите make deb-pkg . Это создаст несколько пакетов Debian. Вы захотите установить linux-headers- linux-image- и, возможно, linux-headers- и linux-firmware-image- linux-headers- linux-firmware-image- ones. Вам не нужно устанавливать (абсолютно огромный) пакет linux-image-*-dbg .

Как указывает Грэм, в настоящее время в экспериментах находится 3,13. Мое предложение – загрузить его, а затем применить процедуру, приведенную в Разделе 4.2 Справочника ядра Debian: Восстановление официальных пакетов ядра Debian . если все будет хорошо, это создаст настраиваемый пакет Debian для wheezy.

Я сам на самом деле не использовал эту процедуру, но мне интересно узнать, как это сделать. Если у вас возникают проблемы, спросите здесь. Я хотел бы добавить ответ на вопрос Goldilock, в котором описывается, как создать пакет Debian из источников ядра Debian.

ПРИМЕЧАНИЕ. Я могу дать этой процедуре вихрь, если у меня появится шанс. Вероятность этого была бы значительно увеличена, если кто-то попробует сначала, и сообщит о проблемах. 🙂

ПРИМЕЧАНИЕ 2: См. Также Раздел 1.2 Справочника ядра Debian: Авторы и участники . Текущий помощник – Бен Хатчингс. который также является разработчиком ядра и отвечает на вопросы и комментарии. Поэтому я призываю всех внести улучшения в справочник.

ПРИМЕЧАНИЕ 3. Предварительный прогон этой процедуры показывает, что в пакете 3.13 перечисляется gcc 4.8 как зависимость. Трудно поверить, что 4.8 действительно требуется в качестве зависимости, но в любом случае, если необходимо изменить изменения сборки, это делает процедуру намного сложнее.

ПРИМЕЧАНИЕ 4. Благодаря некоторой детективной работе derobert мы выяснили, что изменение версии компилятора в debian/config/defines вероятно, было возможным. Для полноты, патч, который я использую сейчас в отношении источников Debian, приведен ниже.

Я использую следующие команды, чтобы попытаться построить:

 fakeroot debian/rules source 

с последующим

 fakeroot make -f debian/rules.gen binary-arch_amd64_none_amd64 

Тем не менее, это по-прежнему выглядит 4.8 и сбоев, хотя первая команда явно сделала некоторые перезаписи для 4.7.

ОБНОВЛЕНИЕ: Я забираю его обратно. Это работает до тех пор, пока исправленные файлы будут достаточно новыми (более новыми, чем другие исходные файлы в сборке). Я заметил, что это сработало, когда я выскочил и нажал мой патч (используя Mercurial Queues), который автоматически обновлял метку времени в файлах. Да, это так же странно, как кажется, но я могу воспроизвести проблему.

Я опубликовал список рассылки debian-kernel и список рассылки для руководства по ядру. См. Исправление в сценариях сборки ядра Debian . Я не опубликовал официальный отчет об ошибках, потому что я не уверен, какой пакет подал ошибку.

ОБНОВЛЕНИЕ 2: похоже, что это может быть форма ошибки пользователя. Как видно из сообщения, которое я написал, проблема связана с отметками времени. Make использует временные метки, и мое использование контроля версий путало его, также принимая во внимание тот факт, что make в этом случае восстанавливает некоторые исходные файлы.

 # HG changeset patch # Parent 81a16b960a67fa08c9a298bc03c5acfd3d6f7437 diff -r 81a16b960a67 debian/config/amd64/defines --- a/debian/config/amd64/defines +++ b/debian/config/amd64/defines @@ -5,7 +5,7 @@ kernel-arch: x86 [build] -debug-info: true +debug-info: false [image] bootloaders: grub-pc extlinux lilo diff -r 81a16b960a67 debian/config/defines --- a/debian/config/defines +++ b/debian/config/defines @@ -23,7 +23,7 @@ sparc sparc64 x32 -compiler: gcc-4.8 +compiler: gcc-4.7 featuresets: none rt @@ -50,4 +50,4 @@ # initramfs-generators initramfs-fallback: linux-initramfs-tool -initramfs-tools: initramfs-tools (>= 0.110~) +initramfs-tools: initramfs-tools (>= 0.109.1) diff -r 81a16b960a67 debian/config/i386/defines --- a/debian/config/i386/defines +++ b/debian/config/i386/defines @@ -28,7 +28,7 @@ i386/config.486 [686-pae_build] -debug-info: true +debug-info: false [686-pae_description] hardware: modern PCs 

Компиляция ядра из исходного источника является очень сложной задачей, я бы не рекомендовал этого, если у вас уже нет опыта или много времени для изучения. Вероятно, лучшая идея – загрузить Debian .deb для последнего ядра, перенести его, а затем установить с помощью dpkg .

Ядро 3.12, которое в настоящее время используется в тестировании / нестабильности Debian, можно скачать здесь

http://ftp.uk.debian.org/debian/pool/main/l/linux/linux-image-3.12-1-amd64_3.12.9-1_amd64.deb

Ядро 3.13, находящееся в настоящее время в экспериментальных хранилищах Debian, можно найти здесь:

http://ftp.uk.debian.org/debian/pool/main/l/linux/linux-image-3.13-trunk-amd64_3.13-1~exp1_amd64.deb

Как отметил @Faheem, двоичный код ядра зависит от другой версии initramfs-tools чем в настоящее время доступен в stable. Можно загрузить установку вместе с ядром, пакет можно загрузить с:

http://ftp.uk.debian.org/debian/pool/main/i/initramfs-tools/initramfs-tools_0.115_all.deb

Чтобы установить, поместите оба загруженных файла пакета в тот же каталог (скажем, dir ) и запустите:

 sudo dpkg -Ri dir 

Этот процесс в настоящее время возможен. Поскольку Debian Jessie (тестирование) и Wheezy растут дальше друг от друга, может потребоваться больше зависимостей, делая менее выполнимыми и в конечном итоге невозможными. Вышеупомянутые ссылки, конечно же, истекают, однако прямые ссылки для загрузки новых версий этих пакетов всегда можно найти, просмотрев http://ftp.uk.debian.org/debian/pool/main/

Обновить

Как предложил @derobert, лучше использовать ядро ​​backport, а не тестовое / нестабильное / экспериментальное. В настоящее время backport для Wheezy – 3.12.9, так же как и для тестирования и нестабильности. Прямая ссылка для скачивания находится здесь:

http://ftp.uk.debian.org/debian/pool/main/l/linux/linux-image-3.12-0.bpo.1-amd64_3.12.9-1~bpo70+1_amd64.deb

initramfs-tools пакет initramfs-tools остается таким же, как и инструкции по установке.

Кроме того, то, что я не понял (кроме удаленной мусорки об удалении текущего ядра), заключается в том, что ссылки загрузки для пакетов можно найти в нижней части страниц пакета на https://packages.debian.org, что проще просматривать. В нем также есть ссылки для загрузки ко всем зеркалам, а не только те, которые я использовал.


Если вам нужно скомпилировать исходный код, лучше начать с исходного пакета Debian. Вот несколько ссылок на работу с исходными пакетами Debian:

https://wiki.debian.org/SourcePackage

https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html

Вы можете загрузить три необходимых файла для вышеуказанного 3.12 непосредственно по ссылкам в правой части следующей страницы:

https://packages.debian.org/testing/linux-image-3.12-1-amd64

И экспериментальное ядро ​​здесь:

https://packages.debian.org/experimental/kernel/linux-image-3.13-trunk-amd64

@Faheem на самом деле пробовал это, хотя, поэтому его ответ лучше для этого.

На сайте уже много информации, поэтому я просто повторю то, что общеизвестно:

  • базовые знания ядра см. в этом Q & A под названием « Конфигурирование, компиляция и установка ядра Linux » от @Goldilocks
  • использовать kernel-package для создания ядра Kpkg

Для kpkg существует несколько преимуществ:

  • любое ядро ​​будет делать, если все требования выполнены
  • вы можете быстро установить, а также быстро удалить свое ядро ​​с помощью dpkg
  • Расширенный монитор - прокрутка вправо для доступа к левому экрану
  • Невозможно увидеть Fedora 20, когда он загружает три раза с Debian 7 и openSuSe 13.1
  • После перезагрузки нет подключения к Интернету
  • Доступ к двум сетям невозможен одновременно
  • как я могу изменить то, что ищет команда «apt-get update» при выполнении обновления?
  • выход из веб-браузера на debian (без GUI)
  • Debian растягивается на thinkpad: отключается от внешнего, черный экран после приостановки
  • Расписание soft raid1 resync
  • Почему GnuPG 2 и gpg-connect-agent не работают с «ERR 67108983 No SmartCard daemon»?
  • debian без dbus: login / systemd жалуется на невозможность подключения к d-bus после motd
  • Проблемы с обновлением apt-get на Debian (404 не найдены)
  • Interesting Posts

    Должен ли я включить Intel-микрокод (Linux Mint 18)?

    Как сделать ls, предупреждающий меня о родительском каталоге, является symlink

    Есть ли способ контролировать порт зарядки аккумулятора ноутбука?

    список устройств, связанных с логическими томами, без использования команд пакета lvm2

    удаленный процесс, запущенный через ssh, убивается, если пользовательский интерфейс закрыт

    hack mac g4 powerbook для загрузки Linux?

    Невозможно отключить полноэкранный режим из сценария i3

    Почему apache не определяет, где log по умолчанию?

    Этого достаточно для рабочего почтового сервера?

    Как можно обеспечить цвет для завершения табуляции в tcsh?

    Каковы различия между расколом и раном?

    Найти и установить man-файл вручную

    Список файлов, отсортированных по количеству строк, которые они содержат

    Как мы можем переименовать файл с точкой с запятой в качестве части имени файла?

    Kali Linux Rolling Alfa NHA Wireless Ошибка -22, Кали в виртуальной коробке (хост Кали) Режим реального времени

    Linux и Unix - лучшая ОС в мире.