Ubuntu 12.04 не удалось обновить до ядра 3.4

8

Прошлой ночью я намеревался обновить свое ядро ​​с 3.2 0-24 до 3.4 ... Я следовал инструкции по этому поводу. Могу ли я установить ядро ​​Linux в приложение Ubuntu по умолчанию? ,

Сначала я скачал deb-файлы ядра на этом http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/

Затем выполните первую команду на терминале

sudo dpkg -i linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb

и, вероятно, это успешно, это вывод:

(Reading database ... 402527 files and directories currently installed.)
Preparing to replace linux-headers-3.4.0-030400 3.4.0-030400.201205210521 (using linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb) ...
Unpacking replacement linux-headers-3.4.0-030400 ...
Setting up linux-headers-3.4.0-030400 (3.4.0-030400.201205210521) ...

Итак, я запускаю вторую команду

sudo dpkg -i linux-headers-3.4.0-030400-generic-pae_3.4.0-030400.201205210521_i386.deb

и вывод здесь:

(Reading database ... 402527 files and directories currently installed.)
Preparing to replace linux-headers-3.4.0-030400-generic-pae 3.4.0-030400.201205210521 (using linux-headers-3.4.0-030400-generic-pae_3.4.0-030400.201205210521_i386.deb) ...
Unpacking replacement linux-headers-3.4.0-030400-generic-pae ...
Setting up linux-headers-3.4.0-030400-generic-pae (3.4.0-030400.201205210521) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.4.0-030400-generic-pae /boot/vmlinuz-3.4.0-030400-generic-pae
ERROR (dkms apport): kernel package linux-headers-3.4.0-030400-generic-pae is not supported
Error! Bad return status for module build on kernel: 3.4.0-030400-generic-pae (i686)
Consult /var/lib/dkms/fglrx-updates/8.960/build/make.log for more information.

Видя ошибки в этом выводе, я прекратил работу ... Я уже ищу на Mr.Google, этом сайте, форумах Ubuntu и любых блогах, которые имеют отношение к этой проблеме, но я не нашел никакого решения ... Единственная подсказка - возможно, моя Драйвер fglrx не может работать с ядром 3.4

Я по-прежнему намереваюсь обновить ядро ​​до версии 3.4, потому что я чувствую, что мой ноутбук все еще нагревается с ядром 3.2, даже после того, как я сделал некоторые обходные пути с помощью инструментов ноутбука-режима, Юпитера, добавления опции загрузки ядра acpi_osi = Linux и т. Д. В Windows 7 ОС моего ноутбука работала намного круче ..

Кто-нибудь может предложить решение для моей проблемы? Как правильно решить эту проблему?

Для вашей информации, это мой ноутбук:

  • ASUS A42JK с процессором Intel® Core ™ i3 M 350 @ 2,27 ГГц × 4
  • 2 ГБ памяти
  • ATI Mobility Radeon HD 5145

и установленная версия драйвера fglrx, если я запускаю fglrxinfo

display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4500 Series
OpenGL version string: 3.3.11627 Compatibility Profile Context

также это содержимое /var/lib/dkms/fglrx-updates/8.960/build/make.log:

DKMS make.log for fglrx-updates-8.960 for kernel 3.4.0-030400-generic-pae (i686)
Kam Jun  7 17:04:31 WIT 2012
/usr/sbin/dkms: line 73: cd: /var/lib/dkms/fglrx/8.960/build: No such file or directory
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-030400-generic-pae/build SUBDIRS=/var/lib/dkms/fglrx-updates/8.960/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
  CC [M]  /var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:5839:5: error: implicit declaration of function ‘__thread_has_fpu’ [-Werror=implicit-function-declaration]
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:5840:9: error: implicit declaration of function ‘__save_init_fpu’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx-updates/8.960/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
make: *** [kmod_build] Error 2
build failed with return value 2

Спасибо = D

ОБНОВИТЬ

@John S Gruber: Привет, Джон, вчера вечером я попробовал твое предложение, сначала удалил драйвер fglrx, а затем успешно обновил до 3.4, но потом возникла другая проблема с моей видеокартой ati. Перед перезагрузкой я пытаюсь установить бесплатный драйвер с открытым исходным кодом из репозитория с использованием Jockey GTK, сначала я пытаюсь установить пост-релизное обновление, но не получилось, затем я пробую второе, и оно кажется успешным и ошибки отсутствуют, поэтому я перезагружаюсь. После перезагрузки плимут не появился, а после входа в систему в моем рабочем столе изменилось на Unity 2D, поэтому я проверяю fglrx

fglrxinfo
X Error of failed request:  BadRequest (invalid request code or no such operation)
Major opcode of failed request:  138 (ATIFGLEXTENSION)
Minor opcode of failed request:  66 ()
Serial number of failed request:  13
Current serial number in output stream:  13

так что кажется, что мой драйвер ati не установлен должным образом, и мой ноутбук стал настолько горячим, как 70 градусов Цельсия, и продолжает нагреваться ... Затем я пытаюсь установить драйвер ATI с веб-сайта AMD, но не получилось, и все закончилось так же, как при попытке установить драйвер Ядро 3.4, ядро ​​не работает с бинарным драйвером. Затем я удаляю fglrx, используя руководство отсюда http://wiki.cchtml.com/index.php/Ubuntu_Oneiric_Installation_Guide#Removing_Catalyst.2Ffglrx и запускаю эти команды

sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
sudo apt-get install xserver-xorg-video-ati
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo rm -rf /etc/ati

перезагрузка, и мой 3D снова заработал без драйвера fglrx, просто используя mesa драйвер, но мой ноутбук продолжает нагреваться ... Я искал в Google и пришел по этой ссылке http://ubuntuforums.org/showthread.php?t=1988444, которая там это патч, который может заставить fglrx работать на ядре 3.4, и я пробую решения, но еще раз ядро ​​все еще отказалось установить драйвер fglrx, даже используя патч по этой ссылке http://ati.cchtml.com/attachment.cgi?id = 464 Снова я пытался установить драйвер несколько раз с несколькими чистками и несколькими перезагрузками, все еще одинаковыми, всегда появляется эта ошибка в /var/lib/dkms/fglrx/8.961/build/make.log

DKMS make.log for fglrx-8.961 for kernel 3.4.0-030400-generic-pae (i686)
Sab Jun 16 07:21:16 WIT 2012
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-030400-generic-pae/build SUBDIRS=/var/lib/dkms/fglrx/8.961/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
  CC [M]  /var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:5812:5: error: implicit declaration of function ‘__thread_has_fpu’ [-Werror=implicit-function-declaration]
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:5813:9: error: implicit declaration of function ‘__save_init_fpu’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.961/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
make: *** [kmod_build] Error 2
build failed with return value 2

После той долгой ночи и не получив решений, я переключился обратно на ядро ​​3.2 ... Разве никто не может дать мне решение для ядра 3.4 ?? Извините за неудобство, связанное с *, я ограничен размещением только 2 гиперссылок. Спасибо за беспокойство, я ценю это ..

udin.elovers
источник
Я рад, что вы установили его и попробовали. Я сожалею, что 3.4 не решил ваши проблемы с теплом. Боюсь, мой ноутбук AMD / ATI (Toshiba) тоже работает довольно тепло, особенно когда я делаю полноэкранное видео (иногда около 80C). Я надеюсь, что ваш новый будет работать круче. Я бы посоветовал вам начать новый вопрос о проблеме жары, а оставить вопрос о тестировании ядер. Просмотр статей с тегом ACPI может оказаться полезным. По вашему вопросу я вижу, что вы экспериментировали с этим. ACPI - это механизм, с помощью которого компьютер сообщает ОС, насколько она горячая и как работают ее вентиляторы.
Джон С. Грубер
К сожалению, лучший (и только поддерживаемый) способ запустить 3.4 - это ждать Quantal (12.10), но я понимаю, что это не то, на что вы надеялись.
Джон С. Грубер
Я просто использую драйвер ATI, установленный в ядре Linux, больше ничего не нужно устанавливать. Я думаю, что X-сообщение, которое вы получили, касалось выполнения некоторых 3D-операций (часть строки GLEXTENSION). Это может означать, что драйвер был установлен нормально, но еще недостаточно знает о вашем оборудовании, чтобы знать, как запустить 3D через него. Это всего лишь догадки, поэтому не надейтесь на них.
Джон С. Грубер
Спасибо Джон, я приму ваше предложение, и поскольку заголовок вопроса касается обновления до ядра 3.4, и я сделал это, поэтому я принял ваш ответ, спасибо = D
udin.elovers

Ответы:

6

Мне кажется, что это fglrx, собственный двоичный драйвер ATI, который не совместим с ядром 3.4. dkms пытается обработать заголовки для взаимодействия с ним. Я предполагаю, что он пытается скомпилировать интерфейсный модуль.

Это имеет определенный смысл, поскольку Ubuntu когда-то получает новые драйверы вендора в цикле разработки новых выпусков, а 3.4 нет в производственном выпуске Ubuntu. Я считаю, что на веб-сайте команды разработчиков ядра Ubuntu упоминается, что только двоичные драйверы могут быть несовместимы с этими пакетами.

Поскольку вы экспериментируете, я бы предложил удалить драйвер fglrx и использовать radeon по умолчанию в вашей текущей системе, а затем снова попробовать обновление. Без установленного fglrx не должно быть хука dkms для перестройки всего, что связано с fglrx.

После того, как вы приступите к работе, вы можете посмотреть в квантовых архивах более актуальный пакет fglrx, который будет совместим с ядром 3.4. Тогда вы действительно будете на переднем крае (или действительно на конечности).

Вы также можете заметить, что драйверы Nvidia не работают с основным ядром для того, что делал кто-то, использующий проприетарный драйвер nvidia.

Если это будет чем-то воодушевляющим, я смог обновить его до 3.5 на прошлой неделе, но я не запускаю fglrx. Мне пришлось переустанавливать пакет libllvm, чтобы обеспечить работоспособность unity-3d, и так и не выяснил, почему.

Джон С. Грубер
источник
В вашем случае, это появляется 3D - рендеринг делается в программном обеспечении с помощью llvmpipe (отсюда libllvm)
иш
1

Насколько я знаю, AMD недавно выпустила версию драйвера катализатора 12.6 (3-4 дня назад), которая совместима с ядром 3.4. Поэтому я предлагаю вам попробовать удалить текущий драйвер "fglrx", обновить ядро, а затем установить последнее ядро. Пожалуйста, опубликуйте ваши выводы, так как я также ищу решение проблемы перегрева. Слышал, что ядро ​​3.4 имеет некоторые возможности автоматического масштабирования процессора

codeguru111
источник
-2
ERROR (dkms apport): kernel package linux-headers-3.4.0-030400-generic-pae is not supported
Error! Bad return status for module build on kernel: 3.4.0-030400-generic-pae (i686)

Мне кажется, что ваш компьютер не совместим с PAE, поэтому вам нужно собрать ядро ​​Linux самостоятельно. Эта ссылка может вам помочь: http://verahill.blogspot.com.es/2012/05/compiling-kernel-34-on-debian.html

Xerz
источник
Но если мой ноутбук не совместим с PAE, почему уже установлено ядро ​​PAE? когда я использую команду "uname -r", вывод говорит -> "3.2.0-24-generic-pae" <- это моя текущая версия ядра.
udin.elovers
Тогда я не знаю, что происходит ... во всяком случае, попробуйте скомпилировать вашу собственную версию ядра.
Xerz
-2

У вас есть ответ там: kernel package linux-headers-3.4.0-030400-generic-pae is not supported

Frantique
источник
значит, я не могу установить ядро ​​3.4 на свой ноутбук? Почему?
udin.elovers
Но OP уже работает с Ubuntu 12.04, что означает, что они должны быть совместимы с PAE.
Джон С. Грубер