லினக்ஸ் கருநிரலை உள்ளமைத்தல்
விரும்பினால்: திடப்பொருள் அல்லது நுண் குறிமுறையை நிறுவுதல்
திடப்பொருள்
சில இயக்கிகள் வேளை செய்வதற்கு முன் கூடுதல் திடப்பொருட்கள் முறைமையில் நிறுவப்பட்டிருக்க வேண்டும். இதை பெரும்பாலும் வலையமைப்பு இடைமுகங்களின் குறிப்பாகக் கம்பியில்லா வலையமைப்பு இடைமுகங்களின் வழக்கில் காணலாம். மேலும், AMD, NVidia மற்றும் Intel ஆகிய விற்பவர்களின் அண்மைக் காலத்து ஒளிஉரு சில்லுகள் திறந்த மூல இயக்கிகளைப் பயன்படுத்தும்போது, வெளி திடப்பொருள் கோப்புகள் பெரும்பாலும் தேவைப்படும். பெரும்பாலான திடப்பொருட்கள் sys-kernel/linux-firmware என்னும் தொகுப்பில் பொதி கட்டப்பட்டுள்ளன:
It is recommended to have the sys-kernel/linux-firmware package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:
root #
emerge --ask sys-kernel/linux-firmware
Installing certain firmware packages often requires accepting the associated firmware licenses. If necessary, visit the license handling section of the Handbook for help on accepting licenses.
It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.
நுண் குறிமுறை
In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other miscellaneous bugs in CPU hardware.
Microcode updates for AMD CPUs are distributed within the aforementioned sys-kernel/linux-firmware package. Microcode for Intel CPUs can be found within the sys-firmware/intel-microcode package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.
Kernel configuration and compilation
இப்போது கர்னல் மூலங்களை உள்ளமைத்து தொகுப்பதற்கான நேரம் வந்துவிட்டது. இதற்கு இரண்டு வழிகள் உள்ளன:
Ranked from least involved to most involved:
- கருநிரலை கைமுறையாக உள்ளமைத்து உருவாக்குதல்.
- genkernel என அழைக்கப்படும் கருவியைப் பயன்படுத்தி தானியக்கமாக லினக்ஸ் கருநிரலை உருவாக்கி நிறுவுதல்.
எல்லா வழங்கல்களின் கட்டுமானத்திற்கும் கருவாக விளங்குவது லினக்ஸ் கருநிரலாகும். இது பயனர் நிரல்கள் மற்றும் முறைமை வன்பொருட்களின் இடையில் உள்ள ஒரு அடுக்காகும். ஜென்டூ அதன் பயனர்களுக்கு வாய்ப்புள்ள பல கருநிரல் மூலங்களை அளிக்கிறது. அளிக்கப்படும் கருநிரல்களின் முழுப் பட்டியல் விளக்கங்களுடன் கருநிரல் கண்ணோட்ட பக்கத்தில் உள்ளது.
Distribution kernels
Distribution Kernels are ebuilds that cover the complete process of unpacking, configuring, compiling, and installing the kernel. The primary advantage of this method is that the kernels are updated to new versions by the package manager as part of @world upgrade. This requires no more involvement than running an emerge command. Distribution kernels default to a configuration supporting the majority of hardware, however two mechanisms are offered for customization: savedconfig and config snippets. See the project page for more details on configuration.
Installing the correct installkernel package
Before using the distribution kernels, please verify that the correct installkernel package for the system has been installed. When using systemd-boot (formerly gummiboot) as the bootloader, install:
root #
emerge --ask sys-kernel/installkernel-systemd-boot
When using a traditional a /boot layout (e.g. GRUB, LILO, etc.), the gentoo variant should be installed by default. If in doubt:
root #
emerge --ask sys-kernel/installkernel-gentoo
Installing a distribution kernel
To build a kernel with Gentoo patches from source, type:
root #
emerge --ask sys-kernel/gentoo-kernel
System administrators who want to avoid compiling the kernel sources locally can instead use precompiled kernel images:
root #
emerge --ask sys-kernel/gentoo-kernel-bin
Upgrading and cleaning up
Once the kernel is installed, the package manager will automatically update it to newer versions. The previous versions will be kept until the package manager is requested to clean up stale packages. To reclaim disk space, stale packages can be trimmed by periodically running emerge with the --depclean
option:
root #
emerge --depclean
Alternatively, to specifically clean up old kernel versions:
root #
emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin
Post-install/upgrade tasks
Distribution kernels are capable of rebuilding kernel modules installed by other packages. linux-mod.eclass provides the dist-kernel
USE flag which controls a subslot dependency on virtual/dist-kernel.
Enabling this USE flag on packages like sys-fs/zfs and sys-fs/zfs-kmod allows them to automatically be rebuilt against a newly updated kernel and, if applicable, will re-generate the initramfs accordingly.
Manually rebuilding the initramfs
If required, manually trigger such rebuilds by, after a kernel upgrade, executing:
root #
emerge --ask @module-rebuild
If any kernel modules (e.g. ZFS) are needed at early boot, rebuild the initramfs afterward via:
root #
emerge --config sys-kernel/gentoo-kernel
root #
emerge --config sys-kernel/gentoo-kernel-bin
மூலங்களை நிறுவுதல்
This section is only relevant when using the following genkernel (hybrid) or manual kernel management approach.
When installing and compiling the kernel for amd64-based systems, Gentoo recommends the sys-kernel/gentoo-sources package.
Choose an appropriate kernel source and install it using emerge:
root #
emerge --ask sys-kernel/gentoo-sources
இது லினக்ஸ் கருநிரல் மூலத்தை /usr/src/ என்னும் இடத்தில் நிறுவும். மேலும் linux என்றழைக்கப்படும் குறியீட்டுத் தொடுப்பு நிறுவப்பட்ட கருநிரல் மூலத்தை நோக்கி இருக்கும்:
It is conventional for a /usr/src/linux symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.
For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.
First, list all installed kernels:
root #
eselect kernel list
Available kernel symlink targets: [1] linux-5.15.52-gentoo
In order to create a symbolic link called linux, use:
root #
eselect kernel set 1
root #
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-5.15.52-gentoo
மாற்றாக: Genkernel ஐ பயன்படுத்துதல்
கைமுறை உள்ளமைவு பார்ப்பதற்கு மிகவும் அச்சுறுத்துவதாக இருந்தால், genkernel ஐ பயன்படுத்தவும். இது தானியக்கமாக கருநிரலை உள்ளமைத்து உருவாக்கும்.
Genkernel provides a generic kernel configuration file, automatically generates the kernel, initramfs, and associated modules, and then installs the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.
Be informed: while using genkernel to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.
For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a predetermined kernel configuration that supports most generic hardware and automatically handles the make commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.
Binary redistributable software license group
If the linux-firmware package has been previously installed, then skip onward to the to the installation section.
As a prerequisite, due to the firwmare
USE flag being enabled by default for the sys-kernel/genkernel package, the package manager will also attempt to pull in the sys-kernel/linux-firmware package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.
This license group can be accepted system-wide for any package by adding the @BINARY-REDISTRIBUTABLE
as an ACCEPT_LICENSE value in the /etc/portage/make.conf file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a /etc/portage/package.license/linux-firmware file.
If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.
If in analysis paralysis, the following will do the trick:
root #
mkdir /etc/portage/package.license
/etc/portage/package.license/linux-firmware
Accept binary redistributable licenses for the linux-firmware packagesys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
நிறுவல்
இப்போது genkernel ஐ எவ்வாறு பயன்படுத்துவது என்பதைக் காணலாம். முதலில் sys-kernel/genkernel தொகுப்பை நிறுவவும்:
root #
emerge --ask sys-kernel/genkernel
Generation
இப்போது genkernel all என்பதை இயக்கி கருநிரல் மூலத்தைத் தொகுக்கவும். நினைவில் கொள்ளவும், ஏறக்குறைய எல்லா வன்பொருட்களிலும் இயங்கக்கூடிய ஒரு கருநிரலை genkernel தொகுப்பதால் இந்த செயல் முடிய மிக நீண்ட நேரம் ஆகும்!
வேர் பகிர்வு/கனவளவு ext2, ext3 அல்லது ext4 ஐ கோப்பு முறைமையாகப் பயன்படுத்தவில்லை என்றால், genkernel --menuconfig all ஐ பயன்படுத்தி கருநிரலை கைமுறையாக உள்ளமைத்து குறிப்பிட்ட கோப்பு முறைமைக்கான ஆதரவை கருநிரலில் சேர்த்தல் இன்றியமையாததாக இருக்கலாம். LVM2 பயனர்கள்
--lvm
என்னும் வாதத்தைச் சேர்க்க வேண்டியிருக்கும்.Users of LVM2 should add
--lvm
as an argument to the genkernel command below.root #
genkernel all
genkernel முடிந்தவுடன், ஒரு கருநிரல், முழு கூறுகளின் தொகுப்பு மற்றும் துவக்க ram வட்டு (initramfs) உருவாக்கப்பட்டிருக்கும். இதில் கருநிரல் மற்றும் துவக்க ram வட்டை ஆவணத்தில் பின்வரும் பகுதியில் துவக்கஏற்றியை உள்ளமைக்கும்போது பயன்படுத்தப்படும். கருநிரல் மற்றும் துவக்க ram வட்டின் பெயரை எழுதி வைத்துக்கொள்ளவும். இந்த தகவல்கள் துவக்க ஏற்றி உள்ளமைவு கோப்பை திருத்தும்போது தேவைப்படும். துவக்கச் செயலுக்குப் பின்னும் "உண்மையான" முறைமை துவங்குவதற்கு முன்னும், உடனே வன்பொருள் தானியக்க-கண்டறிதலை நிகழ்த்தத் துவக்க ram வட்டு தொடங்கப்படும்.
root #
ls /boot/vmlinu* /boot/initramfs*
கைமுறை உள்ளமைவு
முன்னுரை
கைமுறையாக ஒரு கருநிரலை உள்ளமைப்பதை பெரும்பாலும் ஒரு லினக்ஸ் பயனர் இதுவரை செய்ததிலேயே மிகவும் கடினமான செயலாகப் பார்க்கப்படுகிறது. இது உண்மைதான் - பலமுறை கருநிரல்களை உள்ளமைத்தை பின் ஒருவருக்கு இது கடினம் என்பதே மறந்துபோய் இது எளிமையானதாகத் தோன்றத் தொடங்கிவிடும் (அல்லது பழகிவிடும்) ;)
இருப்பினும், ஒரு விடையம் உண்மையானது: கருநிரலை கைமுறையாக உள்ளமைக்க வேண்டுமென்றால் முறைமையைப் பற்றி அறிந்திருக்க வேண்டியது இன்றியமையாததாகும். பெரும்பாலான தகவல்கள் sys-apps/pciutils தொகுப்பை நிறுவி அதில் உள்ள lspci கட்டளையை இயக்குவதன் மூலம் அறிந்துகொள்ளலாம்:
root #
emerge --ask sys-apps/pciutils
chroot இனுள் lspci ஏதாவது pcilib எச்சரிக்கைகளை (pcilib: /sys/bus/pci/devices திறக்க முடியவில்லை போன்ற) அளித்தால் அதைத் தவிர்ப்பது பாதுகாப்பானதுதான்.
முறைமை தகவலை அளிக்கும் மற்றொரு வழியாக, lsmod கட்டளையை இயக்குவதன் மூலம் நிறுவல் குறுந்தகடு என்னென்ன கருநிரல் கூறுகளைப் பயன்படுத்துகிறது என்பதைக் கண்டறிந்து நாம் என்னென்னவற்றை இயக்க வேண்டும் என்னும் நல்ல சிறுகுறிப்பை அளிக்கலாம்.
இப்போது கர்னல் மூல அடைவிற்குச் சென்று make menuconfig கட்டளையை இயக்கவும். இது பட்டி-இயக்கு உள்ளமைவு திரையைத் துவக்கும்.
root #
cd /usr/src/linux
root #
make menuconfig
லினக்ஸ் கருநிரல் உள்ளமைவில் பல பிரிவுகள் உள்ளன. முதலில் செயல்படுத்தப்பட வேண்டிய சில விருப்பத்தேர்வுகளின் பட்டியலைக் காணலாம் (இல்லையென்றால் ஜென்டூ செயல்படாது அல்லது கூடுதல் திருத்தங்கள் செய்யாத வரை முறையாகச் செயல்படாது). உங்களுக்கு மேலும் உதவ எங்களிடம் ஜென்டூ கருநிரல் உள்ளமைவு வழிகாட்டியானது ஜென்டூ விக்கியில் உள்ளது.
தேவையான விருப்பத்தேர்வுகளைச் செயல்படுத்துதல்
நீங்கள் sys-kernel/gentoo-sources ஐ பயன்படுத்தினால், ஜென்டூ சார்ந்த உள்ளமைவு விருப்பத்தேர்வுகளைச் செயல்படுத்த உறுதியாகப் பரிந்துரைக்கிறோம். இதன்மூலம் முறையாக இயங்குவதற்கான குறைந்தபட்ச கருநிரல் தனிச்சிறப்புகள் கிடைப்பதை உறுதி செய்கிறது:
Gentoo Linux ---> Generic Driver Options ---> [*] Gentoo Linux support [*] Linux dynamic and persistent device naming (userspace devfs) support [*] Select options required by Portage features Support for init systems, system and service managers ---> [*] OpenRC, runit and other script based systems and managers [*] systemd
இயற்கையாக இறுதியில் உள்ள இரண்டு வரிகளின் தேர்வு நீங்கள் தேர்வு செய்யும் init முறைமையை (OpenRC அல்லது Systemd) பொறுத்துள்ளது.
Gentoo Linux ---> Generic Driver Options ---> [*] Gentoo Linux support [*] Linux dynamic and persistent device naming (userspace devfs) support [*] Select options required by Portage features Support for init systems, system and service managers ---> [*] OpenRC, runit and other script based systems and managers [*] systemd
Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.
நீங்கள் sys-kernel/vanilla-sources ஐ பயன்படுத்தினால், தேவையான விருப்பத்தேர்வுகளை நீங்களாகத்தான் கண்டுபிடிக்க வேண்டும்.
Enabling support for typical system components
முறைமையின் துவக்கத்திற்கு இன்றியமையாததாக இருக்கும் எல்லா இயக்கிகளும் (SCSI கட்டுப்படுத்திகள் முதலியவை) கூறுகளாகக் கருதாமல் கருநிரலில் தொகுக்கப்பட்டதா என்பதை உறுதிசெய்து கொள்ளவும். இல்லையென்றால் முறைமையை முழுவதுமாக துவக்க முடியாது.
அடுத்து, மிகச்சரியான செயலாக்கி வகையைத் தேர்வு செய்யவும். பயனர்களுக்கு ஏதேனும் வன்பொருள் சிக்கல்கள் உள்ளதா என்பதைத் தெரியப்படுத்தும் MCE தனிச்சிறப்பை (கிடைத்தால்) செயல்படுத்தப் பரிந்துரைக்கப்படுகிறது. சில கட்டமைப்புகளில் (x86_64 போன்றவற்றில்) இவ்வகை பிழைகள் dmesg க்கு பதிலாக /dev/mcelog க்கு அச்சிடப்படுகிறது. இதற்கு app-admin/mcelog தொகுப்பு தேவைப்படுகிறது.
மேலும் தீவிர சாதன கோப்புகள் துவக்க செயலுக்கு முன்னர் கிடைப்பதற்கு Maintain a devtmpfs file system to mount at /dev ஐ தேர்ந்தெடுக்கவும் (CONFIG_DEVTMPFS மற்றும் CONFIG_DEVTMPFS_MOUNT):
Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
SCSI வட்டிற்கான ஆதரவு செயல்படுத்தப்பட்டுள்ளதா என்பதைச் சரிபார்க்கவும் (CONFIG_BLK_DEV_SD):
Device Drivers ---> SCSI device support ---> <*> SCSI disk support
Device Drivers ---> <*> Serial ATA and Parallel ATA drivers (libata) ---> [*] ATA ACPI Support [*] SATA Port Multiplier support <*> AHCI SATA support (ahci) [*] ATA BMDMA support [*] ATA SFF support (for legacy IDE and PATA) <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)
Verify basic NVMe support has been enabled:
Device Drivers ---> <*> NVM Express block device
Device Drivers ---> NVME Support ---> <*> NVM Express block device
It does not hurt to enable the following additional NVMe support:
[*] NVMe multipath support [*] NVMe hardware monitoring <M> NVM Express over Fabrics FC host driver <M> NVM Express over Fabrics TCP host driver <M> NVMe Target support [*] NVMe Target Passthrough support <M> NVMe loopback device support <M> NVMe over Fabrics FC target driver < > NVMe over Fabrics FC Transport Loopback Test driver (NEW) <M> NVMe over Fabrics TCP target support
இப்போது கோப்பு முறைமைகள் என்பதற்குள் நுழைந்து நீங்கள் பயன்படுத்தும் கோப்பு முறைமைக்கான ஆதரவை தேர்வு செய்யவும். வேர் கோப்புமுறைமைக்காக பயன்படுத்தப்படும் கோப்பு முறைமையை கூறாக கருதி தொகுக்க வேண்டாம், இல்லையென்றால் ஜென்டூ முறைமையால் பகிர்வை ஏற்ற முடியாது. மேலும் மெய்நிகர் நினைவகம் (Virtual memory) மற்றும் /proc கோப்பு முறைமை (/proc file system) ஐ தேர்வு செய்யவும். பின்வரும் விருப்பத்தேர்வுகளில் முறைமைக்கு தேவைப்படும் ஒன்றிறண்டு விருப்பத்தேர்வுகளை தேர்ந்தெடுக்கவும் (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS மற்றும் CONFIG_TMPFS):
File systems ---> <*> Second extended fs support <*> The Extended 3 (ext3) filesystem <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support <*> Btrfs filesystem support DOS/FAT/NT Filesystems ---> <*> MSDOS fs support <*> VFAT (Windows-95) fs support Pseudo Filesystems ---> [*] /proc file system support [*] Tmpfs virtual memory file system support (former shm fs)
இணைய இணைப்பிற்கு அல்லது அழைப்புவழி இணக்கியிற்கு PPPoE பயன்படுத்தப்பட்டிருந்தால், பின்வரும் விருப்பத்தேர்வுகளை செயல்படுத்தவும் (CONFIG_PPP, CONFIG_PPP_ASYNC மற்றும் CONFIG_PPP_SYNC_TTY):
Device Drivers ---> Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
இவ்விரண்டு அமுக்கல் விருப்பத்தேர்வுகள் எவ்வகை பாதிப்பையும் ஏற்படுத்தாது என்றாலும் கண்டிப்பாகத் தேவை. ஈத்தர்வலைக்கு பதிலாக PPP விருப்பத்தேர்வை எடுத்துக்கொண்டாலும், இதுவும் கருநிரல் பயன்முறை PPPoE ஐ உள்ளமைக்கப்பட்டு ppp யால் மட்டுமே பயன்படுத்தப்படும்.
வலையமைப்பு (ஈத்தர்வலை அல்லது கம்பியில்லா) அட்டைக்கான ஆதரவை கர்னலில் சேர்க்க மறந்துவிடாதீர்.
பெரும்பாலான முறைமைகள் பல கருக்களை அவைகளின் வசம் உள்ளதால் சமச்சீரான பல-செயலாக்க ஆதரவை இயக்குவது முக்கியமானதாகும் (CONFIG_SMP):
Processor type and features ---> [*] Symmetric multi-processing support
பல-கருவுள்ள முறைமைகளில், ஒவ்வொரு கருவும் ஒரு செயலாக்கியாக கருதப்படும்.
USB உள்ளீடு சாதனங்கள் (விசைப்பலகை அல்லது சுட்டி) அல்லது மற்ற USB சாதனங்களைப் பயன்படுத்தப் போவதாக இருந்தால், அவற்றையும் செயல்படுத்த மறந்துவிடாதீர்கள் (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):
Device Drivers ---> HID support ---> -*- HID bus support <*> Generic HID driver [*] Battery level reporting for HID devices USB HID support ---> <*> USB HID transport layer [*] USB support ---> <*> xHCI HCD (USB 3.0) support <*> EHCI HCD (USB 2.0) support <*> OHCI HCD (USB 1.1) support
கட்டமைப்பு சார்ந்த கருநிரல் உள்ளமைவு
32 இரும நிரல்கள் ஆதரிக்கப்பட வேண்டும் என்றால் IA32 Emulation ஐ தேர்வு செய்வதை உறுதிப்படுத்திக் கொள்ளவும் (CONFIG_IA32_EMULATION). ஜென்டூவானது multilib முறைமையை (கலந்த 32 இருமம் / 64 இருமம்) முன்னிருப்பாக நிறுவுகிறது. அதனால் no-multilib தனியமைப்பைப் பயன்படுத்தாத வரை இது தேவையில்லை.
Processor type and features ---> [ ] Machine Check / overheating reporting [ ] Intel MCE Features [ ] 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 / Emulations ---> [*] IA32 Emulation
இதற்கு முன் வட்டை பகிர்வு செய்யும்போது பயன்படுத்தியிருந்தால் GPT பகிர்வு முத்திரை ஆதரவை செயல்படுத்தவும் (CONFIG_PARTITION_ADVANCED மற்றும் CONFIG_EFI_PARTITION):
-*- Enable the block layer ---> Partition Types ---> [*] Advanced partition selection [*] EFI GUID Partition support
முறைமையைத் துவக்குவதற்கு UEFI பயன்படுத்தப்பட்டிருந்தால் லினக்ஸ் கருநிரலில் உள்ள EFI முளை ஆதரவு மற்றும் EFI மாறிகளைச் செயல்படுத்தவும் (CONFIG_EFI, CONFIG_EFI_STUB, CONFIG_EFI_MIXED மற்றும் CONFIG_EFI_VARS):
Processor type and features ---> [*] EFI runtime service support [*] EFI stub support [*] EFI mixed-mode support Firmware Drivers ---> EFI (Extensible Firmware Interface) Support ---> <*> EFI Variable Support via sysfs
தொகுத்தல் மற்றும் நிறுவுதல்
இப்போது உள்ளமைவு முடிந்துவிட்டதால், கருநிரலை தொகுத்து நிறுவுவதற்கான நேரம் வந்துவிட்டது. உள்ளமைவை விட்டு வெளியேறித் தொகுத்தல் செயல்முறையைத் தொடங்கவும்:
root #
make && make modules_install
make -jX ஐ பயன்படுத்தி இணை உருவாக்கல்களைச் செயல்படுத்த வாய்ப்புகள் உள்ளது. இதில்
X
என்பது உருவாக்கல் செயல்பாடுகளால் துவக்க அனுமதிக்கப்படும் இணை வேளைகளின் எண்ணிக்கைகளாகும். இது முன்னர் கூறிய MAKEOPTS மாறியைக் கொண்ட /etc/portage/make.conf ஐ பற்றிய வழிகாட்டுதல்களை ஒத்ததாகும்.கருநிரல் தொகுத்தலை முடித்தவுடன், /boot/ என்னும் இடத்தில் கருநிரல் படத்தை நகலெடுத்து வைக்கவும். இந்த செயல் make install கட்டளையின் மூலம் கையாளப்படுகிறது:
root #
make install
இது கருநிரல் படத்தை System.map கோப்பு மற்றும் கருநிரல் உள்ளமைவு கோப்பு உடன் சேர்த்து /boot/ என்னும் இடத்தில் நகலெடுத்து வைக்கும்.
விரும்பினால்: initramfs ஐ உருவாக்குதல்
சில சூழல்களில் initramfs என அழைக்கக்கூடிய தொடக்க ram-அடிப்படையிலான கோப்பு முறைமையை உருவாக்க வேண்டிய தேவை ஏற்படும். இதற்கு பொதுவான காரணம் முக்கியமான கோப்பு முறைமை இடங்களான /usr/ அல்லது /var/ போன்றவை தனி பகிர்வுகளாக இருப்பதுதான். initramfs மூலம் இந்த பகிர்வுகளை initramfs இனுள் உள்ள கருவிகளைப் பயன்படுத்தி ஏற்றலாம்.
கோப்பு முறைமைகளை ஏற்றுவதற்குப் பொறுப்பான கருவிகளுக்குத் தேவைப்படும் தகவல்கள் initramfs கோப்பு முறைமையில் இருப்பதால் இது இல்லையென்றால் முறைமை முறையாகத் துவங்காமல் போகும் பெரிய சூழ் இடர் உள்ளது. initramfs தேவையான கோப்புகளை ஒரு காப்பக கோப்பில் இட்டு வைக்கும். இது உடனடியாக கருநிரல் துவக்குவதற்குப் பின், கட்டுப்பாடு init கருவிகளின் கைகளுக்குச் செல்வதற்கு முன் பயன்படுத்தப்படுகிறது. initramfs இல் உள்ள குறிமுறைகள் முறைமை துவக்கம் தொடங்குவதற்கு முன் பகிர்வுகள் முறையாக ஏற்றப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தும்.
கருநிரல் உருவாக்கல் மற்றும் initramfs என இவ்விரண்டிற்கும் genkernel ஐ பயன்படுத்தப் பரிந்துரைக்கப்படுகிறது. initramfs ஐ மட்டும் உற்பத்தி செய்ய genkernel ஐ பயன்படுத்தினால்
--kernel-config=/path/to/kernel.config
ஐ genkernel ற்குள் செலுத்துதல் இன்றியமையாததாகும். இல்லையென்றால் உங்கள் கைமுறையாக உருவாக்கப்பட்ட கருநிரலோடு initramfs வேளை செய்யாதுinitramfs ஐ நிறுவ, முதலில் sys-kernel/genkernel தொகுப்பை நிறுவி பின் அதன்மூலம் initramfs ஐ உற்பத்தி செய்யவும்:
root #
emerge --ask sys-kernel/genkernel
root #
genkernel --install --kernel-config=/path/to/used/kernel.config initramfs
initramfs /boot/ இல் சேமிக்கப்பட்டுவிடும். initramfs எனத் தொடங்கும் கோப்புகளைப் பட்டியலிடுவதன் மூலம் விளைந்த கோப்பை கண்டறியலாம்:
root #
ls /boot/initramfs*
இப்போது கருநிரல் கூறுகள் இல் தொடரவும்.
கர்னல் கூறுகள்
கூறுகளை உள்ளமைத்தல்
பட்டியலிட வேண்டிய வன்பொருள் கூறுகளை விரும்பினால் கைமுறையாகப் பட்டியலிடலாம். பெரும்பாலான வழக்கில் இணைக்கப்படுவதற்காகக் கண்டறியப்பட்ட எல்லா வன்பொருள் கூறுகளையும் udev ஏற்றும். இருந்தாலும் தானியக்கமாகக் கண்டறியப்பட்ட கூறுகளைப் பட்டியலிடுவதால் எந்தவித தீங்கும் ஏற்படாது. சில நேரங்களில் அயல்நாட்டு வன்பொருட்கள் அதன் இயக்கிகளை ஏற்றுவதற்கு உதவி தேவைப்படுகிறது.
ஒரு வரிக்கு ஒரு கூறு என்னும் வீதத்தில் தானியக்கமாக ஏற்றப்பட வேண்டிய கூறுகளை /etc/modules-load.d/*.conf கோப்புகளில் பட்டியலிடவும். கூறுகளுக்கான கூடுதல் விருப்பத்தேர்வுகள் தேவைப்பட்டால் /etc/modprobe.d/*.conf கோப்புகளில் அமைக்கவும்.
கிடைக்கும் எல்லா கூறுகளையும் காண, பின்வரும் find கட்டளையை இயக்கவும். மறக்காமல் "<கருநிரல் பதிப்பு>" என்பதற்குப் பதிலாகத் தொகுக்கப்பட்ட கருநிரலின் பதிப்பை இடவும்:
root #
find /lib/modules/<கர்னல் பதிப்பு>/ -type f -iname '*.o' -or -iname '*.ko' | less
Force loading particular kernel modules
எடுத்துக்காட்டாக, 3c59x.ko கூறை (இது குறிப்பிட்ட 3Com வலையமைப்பு அட்டை குடும்பத்திற்கான இயக்கியாகும்) தானியக்கமாக ஏற்ற, /etc/modules-load.d/network.conf கோப்பை திருத்தி அதில் கூறின் பெயரை இடவும். உண்மையான கோப்பு பெயர் ஏற்றிக்கு தேவையில்லாததாகும்.
root #
mkdir -p /etc/modules-load.d
root #
nano -w /etc/modules-load.d/network.conf
Note that the module's .ko file suffix is insignificant to the loading mechanism and left out of the configuration file:
/etc/modules-load.d/network.conf
3c59x கூறை கட்டாயபடுத்தி ஏற்றுதல்3c59x
நிறுவலை முறைமையை உள்ளமைத்தல் இல் தொடரவும்.