операционная система

Подождите немного, страница загружается.
Отвечайте на запросы клиента так же быстро, как Вы хотите, чтобы он оплачивал Ваши счета!

"Философия Linux - смейся в лицо опасностям." Линус Торвальдс

Join Us

QR

Содержание:

Установка исходных кодов ядра

Для корректной работы некоторых драйверов требуется установка дополнительных файлов прошивки. Часто подобное требуется для сетевых интерфейсов, особенно беспроводных. Также, современные видеочипы от AMD, NVidia и Intel, при использовании отрытых драйверов, часто нуждаются во внешних файлах firmware. Большинство файлов прошивки поставляется в пакете sys-kernel/linux-firmware:
Принимаем лицензии linux-fw-redistributable, так и лицензии без исходного кода.

nano /etc/portage/package.license
app-arch/unrar unRAR
sys-kernel/linux-firmware linux-fw-redistributable no-source-code
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE

emerge --ask sys-kernel/linux-firmware

Запуская ручную настройку ядра, следует знать состав аппаратуры своего компьютера.
Большую часть информации можно собрать, установив пакеты lspci и lsusb.
Устанавливаем их:

emerge --ask sys-apps/pciutils
emerge --ask sys-apps/usbutils

Скачиваем исходник ядра:

USE="-doc symlink" emerge --ask sys-kernel/gentoo-sources

Просмотр папки с исходными кодами ядра

ls -l /usr/src/

Вызов меню настройки

cd /usr/src/linux
make menuconfig

Включение devtmpfs поддержку
Device Drivers --->
Generic Driver Options --->
-*- Maintain a devtmpfs filesystem to mount at /dev
[ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Выбор необходимых файловых систем
File systems --->
(Select one or more of the following options as needed by your system)
< > Second extended fs support
< > Ext3 journalling file system support
<*> The Extended 4 (ext4) filesystem
[*] Use ext4 for ext2/ext3 file systems
[*] Ext4 POSIX Access Control Lists
[*] Ext4 Security Labels
< > Ext4 Encryption
[*] EXT4 debugging support
...
<*> FUSE (Filesystem in Userspace) support
Поддержка CD-ROM
CD-ROM/DVD Filesystems --->
<M> ISO 9660 CDROM file system support
[*] Microsoft Joliet CDROM extensions
[*] Transparent decompression extension
<*> UDF file system support
...
-*- Native language support --->
--- Native language support
(utf8) Default NLS Option
<*> Codepage 437 (United States, Canada)
...
Кодовая страница ISO8859-1 должна быть включена, чтобы смонтировать раздел EFI
[*] NLS ISO 8859-1 (Latin 1; Western European Languages)
...
<*> NLS KOI8-R (Russian)
...
<*> NLS UTF-8
Pseudo Filesystems --->
-*- /proc file system support
-*- Tmpfs virtual memory file system support (former shm fs)
Поддержка, активация SMP
Processor type and features --->
[*] Symmetric multi-processing support
Включение поддержки USB для устройств ввода
Device Drivers --->
HID support --->
[*] USB support --->
...
<*> USB Monitor
...
<*> EHCI HCD (USB 2.0) support
...
<*> UHCI HCD (most Intel and VIA) support
Выбор типа процессора и возможностей:
Processor type and features --->
[ ] Machine Check / overheating reporting
[ ] Intel Features MCE
[ ] AMD MCE Features
Processor family (AMD-Opteron/Athlon64) --->
( ) Opteron/Athlon64/Hammer/K8
( ) Intel P4 / older Netburst based Xeon
( ) Core 2/newer Xeon
( ) Intel Atom
( ) Generic-x86-64
Executable file formats --->
Binary Emulations --->
[*] IA32 Emulation
Поддержка меток GPT
-*- Enable the block layer --->
Partition Types --->
[*] Advanced partition selection
...
[*] EFI GUID Partition support
Поддержка UEFI
Processor type and features --->
[*] EFI runtime service support
[*] EFI stub support
Device Drivers --->
Firmware Drivers --->
EFI (Extrusible Firmware Interfacc) Support --->
<*> EFI Variable Support via sysfs

Компилируем ядро:
Возможно включить параллельную сборку, используя make -jX,
где X это число параллельных задач + 1, которые может запустить процесс сборки

make && make modules_install
make install

Проблема INSTALL /boot Cannot find LILO может возникнуть из-за отсутствия в системе /sbin/installkernel.
Это часть пакета sys-kernel/installkernel, который может быть не установлен по какой-либо причине.
В данном случае install.sh просто пытается выполнить установку с помощью LILO.
Необходимо установить данный пакет до запуска 'make install'.

Обновление ядра

В процессе установки не требуется!!!

Настройка символьной ссылки:

eselect kernel list
Available kernel symlink targets:
[1] linux-3.14.14-gentoo *
[2] linux-3.16.3-gentoo

Эта команда выводит доступные исходные коды ядра.
Звездочкой отмечены выбранные исходные коды.
Для того чтобы изменить исходные коды ядра, например выбрать второй пункт, сделаем следующее:

eselect kernel set 2

Если возникли проблемы при пересборке текущего ядра, может помочь очистка исходных кодов ядра. Убеждаемся, что сохранили файл .config, так как данная операция удалит в том числе и его. Убеждаемся, что не используем окончание файла .bak или ~ для бэкапа, так как make distclean очищает и такие файлы тоже.

cp .config /usr/src/kernel_config_bk
make distclean
mv /usr/src/kernel_config_bk .config

Конфигурацию работающего в данный момент ядра необходимо скопировать в новую. Ее можно найти в нескольких местах:
В файловой системе procfs, если параметр ядра Enable access to .config through /proc/config.gz был включен в ядре работающем в данный момент.

zcat /proc/config.gz > /usr/src/linux/.config

В каталоге /boot, если Вы установили файл конфигурации туда:

cp /boot/config-3.14.14-gentoo /usr/src/linux/.config

В каталоге ядра, которое работает в данный момент:

cp /usr/src/linux-3.14.14-gentoo/.config /usr/src/linux/

Перезагружаемся.
Обновляем предыдущий файл конфигурации для нового ядра:

cd /usr/src/linux
make syncconfig

Настройка повторяет конфигурацию с помощью текста.
Для каждого различия между версиями ядра, спрашивается хотите ли Вы включить драйвер или параметр, например:
Anticipatory I/O scheduler (IOSCHED_AS) [Y/n/m/?] (NEW)
Метка (NEW) в конце строки отмечает параметр как новый.
Слева метки в квадратных скобках даны возможные ответы: Yes, no, module или ? для того чтобы вызвать помощь.
Рекомендуемый ответ выделен заглавными буквами (в данном случае Y). Помощь описывает параметр или драйвер.

make oldconfig

Все внешние модули ядра, такие как binary kernel modules, необходимо перекомпилировать для каждого нового ядра.
Если ядро ещё не собрано, оно должно сперва быть подготовлено для компиляции его внешних модулей:

make modules_prepare

Переходим к компиляции ядра. 👆


После каждой компиляции ядра для внешних модулей, необходимо собрать пакеты заново, используя набор:

emerge --ask @module-rebuild

Если была установлена новая версия ядра, и запущена команда --depclean до того, как переключились на новый исходный код, текущие исходный код будет удалён. Однако, если необходимо сохранить текущий исходный код, это удаление нежелательно, так как может понадобиться исходный код, например, для компиляции внешних модулей ядра. Поэтому хорошей практикой считается добавление конкретной версии ядра в world-файл для защиты его от операций --depclean.

emerge --ask --noreplace gentoo-sources:3.X.Y

Заметьте слотовую нотацию, использование двоеточия вместо тире. Каждая версия ядра занимает свой собственный слот.
Удаление остатков ядра.
app-admin/eclean-kernel это программа для очистки/удаления старого ядра. Она удаляет сборочные файлы и каталоги ядра, если на них не ссылается никакое сохранённое ядро.
Например, чтобы сохранить четыре последних ядра:

eclean-kernel -n 4

Удаление старых ядер в ручную:

rm -r /usr/src/linux-3.X.Y-gentoo
rm -r /lib/modules/3.X.Y-gentoo
rm /boot/vmlinuz-3.X.Y-gentoo
rm /boot/System.map-3.X.Y-gentoo
rm /boot/config-3.X.Y-gentoo

Что то пошло не так?
Не отчаивайтесь! Вот решение Ваших проблем...

ядро linux
ядро linuxядро linux

Продаются
книги

Оставить отзыв
opensuse
Помощь сайту!
Номер счёта: P1033771335
Приму в добрые руки!
Bitcoin 3LN3XUH45XvnRWCgYr4ZcB4P51zfPzKXYe
Dash XhaN3NWmxSXKK8dMpzotWSBk5As6KvFxog
Dogecoin DL1LyCQkKEUrgBBuWBbgvzb2RR5yeW5RQ9
Litecoin ltc1qr5ntqxafw9jcmq5jfgdhrm0uq306mqntntmhwf
Ethereum 0x0A476b0Fa1DF5a97c911AF4271897153800D23Db
Cardano
addr1q8q2ratx2fj3gnfj7y8vmggaj0wmyxs0r2lh6v5sfvkqeuwfwcteneggk0dhkv42u75ykq0f2vlgac5738urscf0ef6sr65rsw
Ryo
RYoLsdrYL7sTGXUrtvC9BLLTqTq3YfHdLga33GyhBy4sJ9zV7P8N49RKZmZpU563QsbBLC1UobmCTcwp1QnD6pAXStEtyxVerqn
Monero
4B8tc66Y136YHHEGSioVnpSAW7H5qU5W5MSaXH9RX2QSW6Uy6fFba2S7SndPsJqCXaH7Q4mLduGgZ1UXDx1FAgpoK4Rzvow
Scrooge
Dollar
Ruble
Ruble
Gold