Совсем недавно состоялся релиз ядра Linux 3.4, в котором более 1200 разработчиков сделали свыше 10000 изменений. Из основных улучшений можно отметить поддержку x32 ABI, модуль Yama для блокирования некоторых типов атак, механизм dm-verity для проверки целостности хранимых блоков данных по криптографическим хэшам и улучшения в реализации Btrfs.
Список наиболее интересных изменений:
- Поддержка автоматической проверки необходимости загрузки дополнительных драйверов для задействования специфичных возможностей x86 CPU
- Расширение возможностей инструментария perf для использования встроенной в ядро отладочной подсистемы Performance Events
- Добавлена опция загрузки ядра "nomodule", при указании которой не производится загрузка модулей
- Добавлена новая утилита btrfs-restore для выполнения недеструктивного восстановления файлов с повреждённой ФС
- В утилиту fsck добавлена начальная поддержка восстановления целостности повреждённой ФС
- Возможность работы с блоками метаданных, размер которых превышает 4 Кб
- Улучшение производительности Btrfs в нескольких областях
- Интеграция подготовленных проектом SUSE патчей с улучшением обработки ошибочных ситуаций
- Возможность подключения внешнего хранилища, доступного в режиме только для чтения в качестве основы для создания типовых LVM-разделов
- Поддержка файловой системы qnx6fs, используемой в новых версиях операционной системы QNX
- Модуль "verity" для Device Mapper, позволяющий обеспечить проверку неизменности загружаемых данных с точки зрения их возможного повреждения или модификации злоумышленниками
- В состав ядра включён модуль Yama, разработанный компанией Canonical и используемый в Ubuntu для блокирования некоторых типов атак
- Реализована новая дисциплина управления очередями пакетов "plug", позволяющая из пространства пользователя используя интерфейс Netlink закрывать и открывать выход из очереди исходящих пакетов
- Для mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking"), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы, добавлена поддержка изменения алгоритма маршрутизации
- Добавлены новые опции сетевых сокетов IP_UNICAST_IF и IPV6_UNICAST_IF, которые были необходимы для улучшения поддержки вызовов Windows в системе Wine
- В Netfilter добавлено расширение для привязки политики использования таймаутов для потока
- В ipset добавлена поддержка опции "nomatch" для типов "hash:*net*", которая позволяет определять исключения из набора правил
- Добавлена поддержка канала мониторинга для отслеживания всех пакетов и событий в подсистеме Bluetooth, а так же добавлены новые команды Bluetooth: Read Supported Commands, Set SSP и Set LE
- С DRM-модуля nouveau снят гриф экспериментального драйвера - в текущей версии ядра модуль nouveau перемещён из экспериментальной области "staging" в основное дерево ядра Linux
- В DRM-модуле для карт Radeon обеспечена поддержка дискретных GPU семейства Southern Islands и нового поколения APU Fusion Trinity
- В драйвер gma500 для интегрированных видеокарт Intel добавлена поддержка графической подсистемы SoC Medfield
- Добавлен новый DRM-драйвер для видеокарт, проекторов и USB2VGA-переходников на базе чипов DisplayLink
- В систему DMA-BUF добавлена поддержка интерфейса PRIME
- В драйвер vmwgfx добавлена поддержка Page Flipping
- Множество других улучшений и изменений, связанных с поддержкой аппаратных устройств, в том числе расширение числа драйверов для ARM-систем, начальная поддержка CPU PowerPC e6500, а также поддержка новых SATA/SCSI контроллеров, сетевых карт, звуковых карт, web-камер и USB-устройств
Полный список изменений: kernelnewbies.org.
Установка Linux 3.4.0 в Ubuntu 12.04/11.10
Команды для Ubuntu i386:
1
2
3
4
5
6
|
mkdir
kernel
cd
kernel
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400_3.4.0
-
030400.201205210521_all.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400
-
generic_3
.
4.0
-
030400.201205210521_i386.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
image
-
3.4.0
-
030400
-
generic_3
.
4.0
-
030400.201205210521_i386.deb
sudo
dpkg
-
i
*
.deb
|
Команды для Ubuntu amd64:
1
2
3
4
5
6
|
mkdir
kernel
cd
kernel
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400_3.4.0
-
030400.201205210521_all.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400
-
generic_3
.
4.0
-
030400.201205210521_amd64.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
image
-
3.4.0
-
030400
-
generic_3
.
4.0
-
030400.201205210521_amd64.deb
sudo
dpkg
-
i
*
.deb
|
Команды для Ubuntu i386 без поддержки PAE:
1
2
3
4
5
6
|
mkdir
kernel
cd
kernel
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400_3.4.0
-
030400.201205210521_all.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
headers
-
3.4.0
-
030400
-
generic
-
pae_3
.
4.0
-
030400.201205210521_i386.deb
wget
http
:
/
/
kernel
.ubuntu
.com
/
~
kernel
-
ppa
/
mainline
/
v3
.
4
-
precise
/
linux
-
image
-
3.4.0
-
030400
-
generic
-
pae_3
.
4.0
-
030400.201205210521_i386.deb
sudo
dpkg
-
i
*
.deb
|
После установки перезагружаемся:
1
|
sudo
shutdown
-
r
now
|
После перезагрузки проверить версию ядра можно следующей командой:
1
|
uname
-
a
|