Handbook:X86/Blocks/Bootloader/ta

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Blocks/Bootloader and the translation is 25% complete.
Outdated translations are marked like this.


Although installing for a 32-bit CPU, almost all x86 motherboards (starting from around 2006-2007 until the present) that were produced with support for UEFI have 64-bit UEFI firmware. Some users may notice "64" in the name of configuration settings and files in the coming sections below. This is expected in nearly every case.

There are a few very small exceptions to this 64-bit UEFI firmware rule, namely few early Apple Macs and some Intel Atom powered Dell tablet PCs had support for 32-bit UEFI firmware. The vast majority of readers will never encounter 32-bit UEFI firmware in the wild. For this reason 32-bit UEFI firmware is not covered in the x86 Handbook.


துவக்க ஏற்றியை தேர்ந்தெடுத்தல்

லினக்ஸ் கர்னல் உள்ளமைக்கப்பட்டு, முறைமை கருவிகள் நிறுவப்பட்டு, உள்ளமைவு கோப்புகள் எல்லாம் திருத்தப்பட்டுவிட்டதால், இப்போது லினக்ஸ் நிறுவலின் இறுதி முக்கியமான பாகமான துவக்க ஏற்றியை நிறுவ வேண்டிய நேரம் வந்துவிட்டது.

துவக்க ஏற்றி, துவக்கத்தின்போது லினக்ஸ் கர்னல் துவங்குவதற்கு இது பொறுப்பாகும் - இது இல்லாமல் முறைமைக்குத் திறன் பொத்தானை அழுத்தியவுடன் எவ்வாறு மேற்கொண்டு செல்வது என்று தெரியாது.

x86 கட்டமைப்பிற்கு, BIOS அடிப்படையிலான முறைமைகளுக்கு GRUB2 அல்லது LILO வையும், UEFI அடிப்படையிலான முறைமைகளுக்கு GRUB2 அல்லது efibootmgr வையும் எவ்வாறு உள்ளமைப்பது என நாங்கள் ஆவணப்படுத்தியுள்ளோம்.

கையேட்டின் இந்த பிரிவில், துவக்க ஏற்றித் தொகுப்பை emerge செய்தல் ற்கும், துவக்க ஏற்றியை முறைமை வட்டில் install செய்தல் ற்கும் உள்ள வேறுபாடு விரித்துரைக்கப்பட்டுள்ளது. இங்கு emerge செய்தல் என்பது ஒரு மென்பொருள் தொகுப்பை Portage இடம் கேட்டு முறைமைக்குக் கிடைக்கும்படி செய்வதாகப் பொருள் கொள்ளப்படும். மேலும், install செய்தல் என்பது துவக்க ஏற்றி, கோப்புகளை நகலெடுப்பது அல்லது முறைமையின் வட்டு இயக்ககத்தில் உள்ள பொருத்தமான பிரிவுகளில் மாற்றங்களைச் செய்வது மூலம் துவக்க ஏற்றி செயல்படுத்தப்பட்டு அடுத்த திறன் சுழலில் வேளை செய்ய ஆயத்தமான நிலையில் வைப்பதைக் குறிக்கிறது.

முன்னிருப்பு: GRUB2

இயல்பாக, பெரும்பாலான ஜென்டூ முறைமைகள் GRUB மரபுவழி யின் நேரடி பின்வருநரான GRUB ஐ சார்ந்துள்ளது (sys-boot/grub தொகுப்பில் காணப்படும்). கூடுதல் உள்ளமைவுகள் எதுவும் இல்லாமல் GRUB2 ஆனது பழைய BIOS ("pc") முறைமைகளை ஆதரிக்கிறது. கட்டுதல் நேரத்திற்கு முன் தேவைப்படும் சிறு அளவிலான உள்ளமைவுகள் மூலம், ஆறிற்கும் அதிகமான கூடுதல் இயங்குதளங்களை GRUB2 ஆதரிக்கும். மேலும் தகவல்களுக்கு, GRUB2 கட்டுரையில் உள்ள முன் தேவை பிரிவை காணவும்.

இ-ஒன்றாக்குதல் (Emerge)

MBR பகிர்வு அட்டவணைகளை மட்டுமே ஆதரிக்கும் பழைய BIOS முறைமையைப் பயன்படுத்தும் போது, GRUB ஐ emerge செய்யக் கூடுதல் உள்ளமைவுகள் எதுவும் தேவையில்லை:

root #emerge --ask --verbose sys-boot/grub:2

UEFI பயனர்களுக்கான குறிப்பு: மேலுள்ள கட்டளையை இயக்குவது செயல்படுத்தப்பட்டுள்ள GRUB_PLATFORMS மதிப்புகளை emerge செய்வதற்கு முன் வெளியிடும். UEFI திறனுடைய முறைமைகளைப் பயன்படுத்தும்போது, GRUB_PLATFORMS="efi-64" என்பது செயல்படுத்தப்பட்டுள்ளதைப் பயனர்கள் உறுதிசெய்ய வேண்டும். அவ்வாறு இல்லையென்றால், GRUB2 வை emerge செய்வதற்கு முன் /etc/portage/make.conf கோப்பில் GRUB_PLATFORMS="efi-64" என்பதைச் சேர்க்க வேண்டும். இதன்மூலம் தொகுப்பு EFI செயல்பாட்டுடன் உருவாக்கப்படும்.

root #echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #emerge --ask sys-boot/grub:2
If GRUB2 was somehow emerged without enabling GRUB_PLATFORMS="efi-64", the line (as shown above) can be added to make.conf and then dependencies for the world package set can be re-calculated by passing the --update --newuse options to emerge:
root #emerge --ask --update --newuse --verbose sys-boot/grub:2

GRUB2 மென்பொருள் முறைமையோடு ஒன்றாக்கப்பட்டுள்ளது, ஆனால் இன்னும் நிறுவப்படவில்லை.

நிறுவுதல்

அடுத்து, grub-install கட்டளையின் மூலம் தேவையான GRUB2 கோப்புகளை /boot/grub/ அடைவில் நிறுவவும். முதல் வட்டு (முறைமை துவங்கும் இடம்) /dev/sda என்னும் கருதலில், பின்வரும் கட்டளைகளுள் ஒன்று இதைச் செய்யும்:

  • BIOS ஐ பயன்படுத்தும்போது:
root #grub-install /dev/sda
  • UEFI ஐ பயன்படுத்தும்போது:
முக்கியமானது
grub-install ஐ இயக்குவதற்கு முன் EFI முறைமை பகிர்வு ஏற்றப்பட்டுள்ளதா என்பதை உறுதிசெய்து கொள்ளவும். ஏனென்றால் grub-install ஆனது GRUB EFI கோப்பை (grubx64.efi) எந்தவொரு அடையாளத்தையும் காட்டாமல் தவறான அடைவில் நிறுவி விட வாய்ப்புள்ளது.
root #grub-install --target=x86_64-efi --efi-directory=/boot
குறிப்பு
--efi-directory விருப்பத்தேர்விற்கு EFI முறைமை பகிர்வின் வேர் அடைவை அளிக்கவும். /boot பகிர்வு FAT திரிபாக வடிவமைக்கப்படாதபோது இது இன்றியமையாததாகும்.
முக்கியமானது
grub_install ஆனது Could not prepare Boot variable: Read-only file system போன்ற பிழைகளை அளித்தால், வெற்றி அடைவதற்கு, efivars சிறப்பு ஏற்றத்தைப் படிக்க-எழுதக் கூடியதாக மறு ஏற்றம் செய்ய வேண்டிய தேவை ஏற்படலாம்.
root #mount -o remount,rw /sys/firmware/efi/efivars

Some motherboard manufacturers seem to only support the /efi/boot/ directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can perform this operation automatically with the --removable option. Verify the ESP is mounted before running the following commands. Presuming the ESP is mounted at /boot (as suggested earlier), execute:

root #grub-install --target=x86_64-efi --efi-directory=/boot --removable

இது UEFI தனிக்குறிப்பீட்டால் வரையறுக்கப்பட்ட முன்னிருப்பு அடைவை உருவாக்கி, பின் அதில் உள்ள 'முன்னிருப்பு' EFI கோப்பு இருப்பிடத்தில் grubx64.efi கோப்பை நகலெடுத்து வைக்கும்.

உள்ளமைத்தல்

அடுத்து, /etc/default/grub கோப்பு மற்றும் /etc/grub.d குறுநிரல்களில் குறிப்பிட்டுள்ள பயனர் உள்ளமைவுகளின் அடிப்படையில் GRUB2 உள்ளமைவை உருவாக்கவும். பெரும்பாலான வழக்கில், எந்த கருநிரலை துவக்க வேண்டும் (/boot/ இல் கிடைக்கக்கூடிய மிக உயர்ந்த ஒன்று) மற்றும் என்ன வேர் கோப்பு முறைமை என்பதைத் தானியக்கமாக GRUB2 ஆனது கண்டறியும் என்பதால் பயனர் அளிக்கக்கூடிய உள்ளமைவுகள் எதுவும் தேவைப்படாது. GRUB_CMDLINE_LINUX மாறியைப் பயன்படுத்தி /etc/default/grub இல் கருநிரல் அளவுருக்களை பின்னொட்டு செய்ய இயலும்.

இறுதி GRUB2 உள்ளமைவை உருவாக்க, grub-mkconfig கட்டளையை இயக்கவும்:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.16.5-gentoo
Found initrd image: /boot/initramfs-genkernel-x86-3.16.5-gentoo
done

The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

துணுக்கு
இணைக்கப்பட்டுள்ள இயக்ககத்தில் உள்ள மற்ற இயக்குதளங்களைக் கண்டறிய GRUB2 உடன் os-prober பயன்கூறு நிரலைப் பயன்படுத்திக் கொள்ளலாம். இது Windows 7, 8.1, 10 மற்றும் இதர லினக்ஸ் வழங்கல்களைக் கண்டறியும். இரு துவக்க முறைமையாகப் பயன்படுத்த விரும்புவோர், sys-boot/os-prober தொகுப்பை நிறுவி பின் grub-mkconfig கட்டளையை (மேலே உள்ளது போல்) மறு-இயக்கவும். இதில் எதாவது இடர்ப்பாடு ஏற்பட்டால், ஜென்டூ சமூகக்குழுவிடம் உதவி கேட்பதற்கு முன் GRUB2 கட்டுரையை முழுவதுமாக படித்து பொருள் உணர்ந்திருப்பதை உறுதிசெய்து கொள்ளவும்.

மாற்றுவழி 1:LILO

இ-ஒன்றாக்குதல் (Emerge)

LILO, the LInuxLOader, is the tried and true workhorse of Linux boot loaders. However, it lacks features when compared to GRUB. LILO is still used because, on some systems, GRUB does not work and LILO does. Of course, it is also used because some people know LILO and want to stick with it. Either way, Gentoo supports both bootloaders.

LILO வை எளிமையாக நிறுவலாம்; இதற்கு emerge ஐ பயன்படுத்தவும்.

root #emerge --ask sys-boot/lilo

உள்ளமைத்தல்

LILO வை உள்ளமைக்க, முதலில் /etc/lilo.conf கோப்பை உருவாக்கவும்:

root #nano -w /etc/lilo.conf

In the configuration file, sections are used to refer to the bootable kernel. Make sure that the kernel files (with kernel version) and initramfs files are known, as they need to be referred to in this configuration file.

குறிப்பு
வேர் கோப்பு முறைமையானது JFS ஆக இருந்தால், படித்தல்-எழுதல் ஏற்றுதலுக்கு முன் அதன் குறிப்புப்பதிவை JFS மீண்டும் இயக்க வேண்டும் என்பதால் append="ro" வரியை ஒவ்வொரு துவக்க உருப்படிக்குப் பின் சேர்க்கவும்.
FILE /etc/lilo.confஎடுத்துக்காட்டு LILO உள்ளமைவு
boot=/dev/sda             # LILO வை MBR இல் நிறுவும்
prompt                    # மற்றொரு பிரிவைத் தேர்வு செய்வதற்குப் பயனர்களுக்கு வாய்ப்பளிக்கும்
timeout=50                # முன்னிருப்பு பிரிவைத் துவக்குவதற்கு முன் 5 (ஐந்து) வினாடிகள் காத்திருக்கும்
default=gentoo            # காத்திருப்பு நேரம் முடிந்தவுடன் "gentoo" பிரிவைத் துவக்கும்
compact                   # இது கடுமையாக ஏற்ற நேரத்தைக் குறைத்து வரைபட கோப்பை சிறியதாக வைத்திருக்க உதவுகிறது; சில முறைமைகளில் தோல்வியடையலாம்
  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo            # இந்த பிரிவிற்கு நாம் அளித்த பெயர்
  read-only               # படிக்க-மட்டும் வேர் உடன் தொடங்கும். இதை மாற்ற வேண்டாம்!
  root=/dev/sda4          # வேர் கோப்பு முறைமையின் இருப்பிடம்
  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo.rescue     # இந்த பிரிவிற்கு நாம் அளித்த பெயர்
  read-only               # படிக்க-மட்டும் வேர் உடன் தொடங்கும். இதை மாற்ற வேண்டாம்!
  root=/dev/sda4         # வேர் கோப்பு முறைமையின் இருப்பிடம்
  append="init=/bin/bb"   # ஜென்டூ நிலையான மீட்பு செயற்றளத்தை ஏவும்
  
# அடுத்து வரும் இரண்டு வரிகள் Windows முறைமையோடு இரும-துவக்கம் செய்வதற்காகும்.
# இந்த எடுத்துக்காட்டில், /dev/sda6 என்னும் இடத்தில் Windows புரவல் செய்யப்படுகிறது.
other=/dev/sda6
  label=windows
குறிப்பு
வெவ்வேறு பகிர்வு திட்டம் மற்றும்/அல்லது கர்னல் படம் பயன்படுத்தப்பட்டால், அதன்படி சரிசெய்துகொள்ளவும்.

initramfs இன்றியமையாததாக இருந்தால், இந்த initramfs கோப்பை குறிப்பிட்டு, வேர் சாதனம் எங்கு உள்ளது என்பதை initramfs இடம் கூறுவதன் மூலம் உள்ளமைவை மாற்றவும்:

FILE /etc/lilo.confinitramfs தகவல்களை துவக்க பதிவில் சேர்த்தல்
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  append="root=/dev/sda4"
  initrd=/boot/initramfs-genkernel-x86-3.16.5-gentoo

கூடுதல் விருப்பத்தேர்வுகளை கருநிரலுக்கு தர வேண்டும் என்றால், append கூற்றைப் பயன்படுத்தவும். எடுத்துக்காட்டாக, சட்ட இடையகத்தை செயல்படுத்த video கூற்றைச் சேர்க்கவும்:

FILE /etc/lilo.confஒளிஉரு அளபுருக்களை துவக்க விருப்பத்தேர்வுகளுக்கு சேர்த்தல்
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  root=/dev/sda4
  append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

genkernel ஐ பயன்படுத்திய பயனர்கள் தங்கள் கருநிரல் நிறுவல் குறுந்தகட்டிற்குப் பயன்படுத்திய துவக்க விருப்பத்தேர்வுகளைத் தான் பயன்படுத்துகிறதா என்பதை அறிந்திருக்க வேண்டும். எடுத்துக்காட்டாக, SCSI சாதனங்களுக்கான ஆதரவு செயல்படுத்தப்பட்டிருக்க வேண்டும் என்றால் doscsi என்பதை கருநிரல் விருப்பத்தேர்வாகச் சேர்க்கவும்.

இப்போது கோப்பை சேமித்து பின் வெளியேறவும்.

நிறுவுதல்

To finish up, run the /sbin/lilo executable so LILO can apply the /etc/lilo.conf settings to the system (i.e. install itself on the disk). Keep in mind that /sbin/lilo must be executed each time a new kernel is installed or a change has been made to the lilo.conf file in order for the system to boot if the filename of the kernel has changed.

root #/sbin/lilo

மாற்றுவழி 2: efibootmgr

On UEFI based systems, the UEFI firmware on the system (in other words the primary bootloader), can be directly manipulated to look for UEFI boot entries. Such systems do not need to have additional (also known as secondary) bootloaders like GRUB2 in order to help boot the system. With that being said, the reason EFI-based bootloaders such as GRUB2 exist is to extend the functionality of UEFI systems during the boot process. Using efibootmgr is really for those who desire to take a minimalist (although more rigid) approach to booting their system; using GRUB2 (see above) is easier for the majority of users because it offers a flexible approach when booting UEFI systems.

நினைவில் கொள்ளவும், sys-boot/efibootmgr செயலியானது துவக்க ஏற்றி இல்லை; இது UEFI திடப்பொருளுடன் ஊடாடி அதன் அமைப்புகளை இற்றைப்படுத்தும் ஒரு கருவியாகும், இதன் விளைவாக முன்னதாக நிறுவப்பட்ட லினக்ஸ் கருநிரல் கூடுதல் விருப்பத்தேர்வுகளுடன் (இன்றியமையாததாக இருந்தால்) துவக்க இயலும், அல்லது பல துவக்கப் பதிவுகளை அனுமதிக்கும். இந்த ஊடாடல் EFI மாறிகள் மூலம் நடக்கிறது (எனவே EFI மாறிகளின் கருநிரல் ஆதரவு தேவை).

Be sure to read through the EFI stub kernel article before continuing. The kernel must have specific options enabled to be directly bootable by the system's UEFI firmware. It might be necessary to recompile the kernel. It is also a good idea to take a look at the efibootmgr article.

Note
To reiterate, efibootmgr is not a requirement to boot an UEFI system. The Linux kernel itself can be booted immediately, and additional kernel command-line options can be built-in to the Linux kernel (there is a kernel configuration option called CONFIG_CMDLINE that allows the user to specify boot parameters as command-line options. Even an initramfs can be 'built-in' to the kernel.

இந்த வழியைத் தேர்ந்தெடுக்க முடிவு செய்தவர்கள் இந்த மென்பொருளைக் கட்டாயம் நிறுவ வேண்டும்:

root #emerge --ask sys-boot/efibootmgr

பிறகு, /boot/efi/boot/ இருப்பிடத்தை உருவாக்கி அதில் கர்னலை நகலெடுத்து வைக்கவும், இதை bootx64.efi என அழைக்கலாம்:

root #mkdir -p /boot/efi/boot
root #cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi

அடுத்து, UEFI திடப்பொருளிடம் "Gentoo" என அழைக்கப்படும் துவக்கப் பதிவு உருவாக்கப்பட வேண்டும் எனக் கூறவும், இது புதிதாகத் தொகுக்கப்பட்ட EFI முளை கர்னலை கொண்டிருக்கும்:

root #efibootmgr --create --disk /dev/sda --part 2 --label "Gentoo" --loader "\efi\boot\bootx64.efi"

தொடக்க RAM கோப்பு முறைமை (initramfs) பயன்படுத்தப்பட்டால், முறையான துவக்க விருப்பத்தேர்வுகளைச் சேர்க்கவும்:

root #efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi" initrd='\initramfs-genkernel-x86-3.16.5-gentoo'
Note
UEFI வரையறுத்தல்களைப் பயன்படுத்தும்போது, \ ஐ அடைவு பிரிப்பானாகப் பயன்படுத்துவது கட்டாயமாகும்.

இந்த மாற்றங்கள் எல்லாம் முடிந்தவுடன், முறைமை மறு இயக்கம் செய்யும்போது, "Gentoo" என அழைக்கப்படும் துவக்கப் பதிவு கிடைக்கப்பெறும்.

மாற்றுவழி 3: Syslinux

Syslinux is yet another bootloader alternative for the x86 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.