Syslinux (Türkçe)
Syslinux sürücülerden, CD'lerden ve PXE aracılığıyla ağ üzerinden önyükleme yapabilen bir önyükleme yükleyicileri koleksiyonudur. Desteklenen bazı dosya sistemleri şunlardır: FAT, NTFS, ext2, ext3, ext4, XFS, UFS/FFS, ve sıkıştırılmamış tek cihaz Btrfs.
BIOS Sistemleri
Önyükleme sürecine genel bakış
-
Aşama 1: Bölüm 1 - MBR'yi yükle - BIOS açılışta 440 baytlık MBR açılış kodunu diskin başına yükler (
/usr/lib/syslinux/bios/mbr.bin
veya/usr/lib/syslinux/bios/gptmbr.bin
). -
Aşama 1 : Bölüm 2 - Aktif bölümü ara. Aşama 1 MBR önyükleme kodu etkin olarak işaretlenmiş bölümü arar (MBR disklerde önyükleme bayrağı). Örneğin bunun
/boot
bölümü olduğunu varsayalım. -
Aşama 2 : Bölüm 1 - Birim önyükleme kaydını çalıştır - Aşama 1 MBR önyükleme kodu
/boot
bölümünün Birim Önyükleme Kaydını (VBR) çalıştırır. Syslinux durumunda, VBR önyükleme kodu/boot/syslinux/ldlinux.sys
bölümününextlinux --install
komutu tarafından oluşturulan başlangıç sektörüdür.ldlinux.sys
'inldlinux.c32
ile aynı olmadığını unutmayın. -
Aşama 2 : Bölüm 2 -
/boot/syslinux/ldlinux.sys
'i çalıştır - VBR/boot/syslinux/ldlinux.sys
dosyasının geri kalanını yükleyecektir./boot/syslinux/ldlinux.sys
'in sektör konumu değişmemelidir, aksi takdirde Syslinux önyükleme yapmayacaktır.Not: Btrfs durumunda, dosyalarldlinux.sys
'in sektör konumunun değişmesine neden olacak şekilde hareket ettiğinden yukarıdaki yöntem işe yaramayacaktır. Bu nedenle, Btrfs'deldlinux.sys
kodunun tamamı VBR'yi takip eden alana gömülür ve diğer dosya sistemlerinin aksine/boot/syslinux/ldlinux.sys
'e yüklenmez. -
Aşama 3 -
/boot/syslinux/ldlinux.c32
'yi yükle. -/boot/syslinux/ldlinux.sys
,/boot/syslinux/ldlinux.c32
dosyasını yükleyecektir. (çekirdek modül), Syslinux'unldlinux.sys
içine sığdırılamayan çekirdek kısmının geri kalanını içerir. (dosya boyutu kısıtlamaları nedeniyle).ldlinux.c32
dosyası her Syslinux kurulumunda bulunmalı ve bölümde yüklü olanldlinux.sys
sürümüyle eşleşmelidir. Aksi takdirde Syslinux önyükleme yapamayacaktır. Daha fazla bilgi için https://bugzilla.syslinux.org/show_bug.cgi?id=7 adresine bakınız. -
Aşama 4 - Konfigürasyon dosyasını ara ve yükle - Syslinux tamamen yüklendiğinde,
/boot/syslinux/syslinux.cfg
dosyasını arar. (veya bazı durumlarda/boot/syslinux/extlinux.conf
) ve bulunursa yükler. Eğer herhangi bir konfigürasyon dosyası bulunamazsa, Syslinuxboot:
komut istemine düşeceksiniz. Bu adım ve Syslinux'un çekirdek olmayan bölümlerinin geri kalanı (/boot/syslinux/*.c32
modülleri,lib*.c32
veldlinux.c32
hariç)/boot/syslinux/lib*.c32
gerektirir. (kütüphane) modüllerinin mevcut olması gerekir (https://wiki.syslinux.org/wiki/index.php/Common_Problems#ELF).lib*.c32
kütüphane modülleri ve çekirdek olmayan*.c32
modülleri, bölümde yüklü olanldlinux.sys
sürümüyle eşleşmelidir.
BIOS'ta Kurulum
- gptfdisk paketi #Otomatik kurulum bölümünü izliyorsanız GPT desteği için gereklidir.
- Önyükleme bölümünüz FAT ise, mtools paketine de ihtiyacınız olacaktır.
Paketin yüklenmesi ile önyükleyicinin yüklenmesi aynı şey değildir. İlgili paket(ler)i yükledikten sonra, sistemi önyükleyebilmek için önyükleyici kodunun kendisinin (uygun alana, genellikle VBR'ye) yüklenmesi gerekir; aşağıdaki bölümlerde sisteminizin özelliklerine bağlı olarak alternatif talimatlar verilmektedir.
Otomatik kurulum
syslinux-install_update
betiği Arch'a özgüdür ve Syslinux tarafından sağlanmaz/desteklenmez. Lütfen betiğe özgü tüm hata raporlarını Syslinux'a değil Arch Hata Takibi adresine yönlendirin.-
syslinux-install_update
komut dosyasını çalıştırdıktan sonra, #Konfigürasyon ve #Kernel parametreleri bölümlerini izleyerek/boot/syslinux/syslinux.cfg
dosyasını düzenlemeyi unutmayın..
syslinux-install_update
betiği, muhtemelen sisteminize uymayan varsayılan bir root bölüm belirler. Syslinux'u /boot/syslinux/syslinux.cfg
dosyasını düzenleyerek doğru root bölüme yönlendirmek önemlidir, aksi takdirde işletim sistemi önyükleme yapamayacaktır. Bakınız: #Kernel parametreleri.syslinux-install_update
betiği önyükleyici kodunu yükler (genellikle VBR'ye), *.c32
modüllerini /boot/syslinux/
'a kopyalar, önyükleme bayrağını ayarlar ve önyükleme kodunu MBR'ye yükler. Yazılım RAID ile birlikte MBR ve GPT disklerini işleyebilir:
Ayrı bir önyükleme bölümü kullanıyorsanız, bunun bağlı olduğundan emin olun. lsblk
ile kontrol edin; eğer bir /boot
bağlama noktası görmüyorsanız, daha ileri gitmeden önce bağlayın.
- Bayraklarla
syslinux-install_update
'i çalıştırın:-i
(dosyaları yükleyin),-a
("boot" bayrağı ile "aktif" bölümü işaretleyin),-m
(MBR önyükleme kodunu yükleyin):# syslinux-install_update -i -a -m
Bu komut "Syslinux BIOS install failed" ile başarısız olursa, sorun büyük olasılıklaextlinux
ikilisinin/boot
içeren bölümü bulamamasıdır:
# extlinux --install /boot/syslinux/
extlinux: cannot find device for path /boot/syslinux extlinux: cannot open device (null)
Bu, örneğin, mevcut bir özel kerneli önyüklerken root=/dev/sda1
şeklindeki bir kernel komut satırı parametresini /proc/cmdline
ve mount
komutunun çıktısı ile kanıtlandığı gibi root=801
sayısal eşdeğerine dönüştüren LILO'dan yükseltme yaparken meydana gelebilir. Bu durumu ya --device=/dev/sda1
'i extlinux
'a belirtirken aşağıda açıklanan manuel kurulumla devam ederek ya da sadece ilk olarak stok Arch Linux Kerneline yeniden başlatarak düzeltin; bir initramfs kullanımı sorunu önler.
- Sisteminizi şimdi yeniden başlatırsanız, bir Syslinux komut istemi alırsınız. Sisteminizi otomatik olarak başlatmak veya bir önyükleme menüsü almak için yapılandırma dosyası oluşturmanız (düzenlemeniz) gerekir.
- Eğer başka bir root dizindeyseniz (örneğin bir kurulum diskinden) SYSLINUX'u chroot'a yönlendirerek kurun:
# syslinux-install_update -i -a -m -c /mnt
- Şimdi #Konfigürasyon ve #Kernel parametreleri adımlarını takip ederek
/boot/syslinux/syslinux.cfg
dosyasını düzenleme zamanı.
Manuel Kurulum
/dev/
yollarını değil) bağlama noktası ile öncelemeniz gerekir.Syslinux'u kurmayı planladığınız önyükleme bölümünüz bir FAT, ext2, ext3, ext4 veya Btrfs dosya sistemi içermelidir. Syslinux'u bir dosya sisteminin root dizinine, örneğin /dev/sda1
aygıtı /boot
üzerine takılı olarak kurmak zorunda değilsiniz. Örneğin, Syslinux'u syslinux
alt dizinine kurabilirsiniz:
# mkdir /boot/syslinux
Temel önyükleme istemi dışında herhangi bir menü veya yapılandırma kullanmak istiyorsanız, .c32
dosyalarını /usr/lib/syslinux/bios/
'dan /boot/syslinux/
'a kopyalayın. Bunlara sembolik bağlantı kurmayın.
# cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
Şimdi önyükleyiciyi yükleyin. FAT, ext2/3/4 veya btrfs önyükleme bölümü için aygıtın bağlandığı extlinux kullanın:
# extlinux --install /boot/syslinux
Alternatif olarak, bir FAT önyükleme bölümü için aygıtın monte edilmemiş olduğu zaman syslinux kullanın:
# syslinux --directory syslinux --install /dev/sda1
Bundan sonra, bölümleme tablosuna uygun Syslinux önyükleme kodunu yüklemeye devam edin:
- Bir MBR bölümleme tablosu için
mbr.bin
yüklenecektir, veya - Bir GUID bölümleme tablosu için
gptmbr.bin
yüklenecektir
Sonraki bölümlerde açıklandığı gibi.
Daha fazla genel bilgi için Master Boot Record bölümüne bakın.
blkid -s PTTYPE -o value /dev/sda
kullanarak kontrol edebilirsiniz.MBR bölümleme tablosu
Bir MBR bölümleme tablosu için, önyükleme bölümünüzün bölüm tablonuzda "aktif" olarak işaretlendiğinden emin olun ("boot" bayrağı ayarlanmıştır). Bunu yapabilen uygulamalar arasında fdisk ve parted bulunmaktadır. Bu şekilde görünmelidir:
# fdisk -l /dev/sda
[...] Device Boot Start End Blocks Id System /dev/sda1 * 2048 104447 51200 83 Linux /dev/sda2 104448 625142447 312519000 83 Linux
MBR'yi kurun:
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda
Syslinux'un sağladığı alternatif bir MBR: altmbr.bin
. Bu MBR önyüklenebilir bölümler için tarama yapmaz; bunun yerine MBR'nin son baytı hangi bölümden önyükleme yapılacağını gösteren bir değere ayarlanır. Aşağıda altmbr.bin
dosyasının nasıl kopyalanabileceğine dair bir örnek verilmiştir:
# printf '\x5' | cat /usr/lib/syslinux/bios/altmbr.bin - | dd bs=440 count=1 conv=notrunc iflag=fullblock of=/dev/sda
Bu durumda, altmbr.bin
dosyasının içeriğine 5 (onaltılık) değerinde tek bir bayt eklenir ve elde edilen 440 bayt sda
aygıtındaki MBR'ye yazılır. Syslinux diskin ilk mantıksal bölümüne (/dev/sda5
) kurulmuştur.
GUID bölümleme tablosu
GPT için, /boot
bölümü için öznitelik bit 2 "Legacy BIOS bootable" ayarının yapıldığından emin olun. Parted için "legacy_boot" bayrağı kullanılarak ayarlanabilir. Özniteliği ayarlamak için sgdisk komutunu kullanın:
# sgdisk /dev/sda --attributes=1:set:2
Bu, /dev/sda
'nın 1. bölümünde "legacy BIOS bootable" niteliğini ayarlayacaktır. Kontrol etmek için:
# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)
MBR'yi kurun:
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/sda
UEFI Sistemler
-
efi64
x86_64 UEFI sistemlerini belirtir, IA32 (32-bit) EFI için aşağıdaki komutlardaefi64
yerineefi32
yazın. - Syslinux için, kernel ve initramfs dosyalarının EFI sistem bölümü (ESP olarak da bilinir) içinde olması gerekir, çünkü Syslinux (şu anda) kendi bölümü dışındaki dosyalara erişme yeteneğine sahip değildir (yani bu durumda ESP dışında). Bu nedenle ESP'nin
/boot
konumuna bağlanması önerilir. - Otomatik kurulum betiği
/usr/bin/syslinux-install_update
UEFI kurulumunu desteklemez. - UEFI için
syslinux.cfg
yapılandırma sözdizimi BIOS ile aynıdır.
UEFI Syslinux'un Kısıtlamaları
- UEFI Syslinux menüsünde kernel parametrelerini düzenlemek için TAB kullanmak bozuk görüntüye yol açabilir (metinler üst üste). Hata raporu: [3]
- UEFI Syslinux,
UEFI Shell
veyaWindows Boot Manager
gibi diğer EFI uygulamalarının zincirleme yüklenmesini desteklemez. Geliştirme isteği: [4] - Bazı durumlarda, UEFI Syslinux QEMU/OVMF veya VirtualBox gibi bazı Sanal Makinelerde veya bazı VMware ürünlerinde/versiyonlarında ve DUET gibi bazı UEFI emülasyon ortamlarında önyükleme yapmayabilir. Bir Syslinux katılımcısı VMware Workstation 10.0.2 ve Syslinux-6.02 veya sonraki sürümlerde böyle bir sorun olmadığını doğruladı. Hata raporları: [5], [6] ve [7]
- Memdisk UEFI için mevcut değildir. Geliştirme isteği: [8]
- Syslinux, UEFI önyüklemesi için kullanımdan kaldırılmış EFI handover protokolünü kullanır. Officially supported kernels,
CONFIG_EFI_HANDOVER_PROTOCOL=y
ile oluşturulduğundan etkilenmez. Bu olmadan oluşturulan çekirdeklerin önyüklenmesi başarısız olacaktır, bakınız: FS#77632.
UEFI üzerinde kurulum
esp
EFI sistem bölümü diğer adıyla ESP'nin bağlama noktasını belirtir.- syslinux ve efibootmgr paketlerini indirin. Ardından ESP'de Syslinux'u aşağıdaki gibi kurun:
- Syslinux dosyalarını ESP'ye kopyalayın:
# mkdir -p esp/EFI/syslinux # cp -r /usr/lib/syslinux/efi64/* esp/EFI/syslinux
- Syslinux için efibootmgr'yi kullanarak önyükleme girişini ayarlayın:
# efibootmgr --create --disk /dev/sdX --part Y --loader /EFI/syslinux/syslinux.efi --label "Syslinux" --unicode
Burada /dev/sdXY
önyükleyiciyi içeren bölümdür.
-
#Konfigürasyon'u takip ederek
esp/EFI/syslinux/syslinux.cfg
dosyasını oluşturun veya düzenleyin.
- UEFI için yapılandırma dosyası
esp/EFI/syslinux/syslinux.cfg
'dir,/boot/syslinux/syslinux.cfg
değil./boot/syslinux/
içindeki dosyalar BIOS'a özeldir ve UEFI Syslinux ile ilgili değildir. - BIOS modunda önyükleme yapıldığında, efibootmgr
/EFI/syslinux/syslinux.efi
için EFI nvram girişini ayarlayamayacaktır. Bunu aşmak için, kaynakları varsayılan EFI konumuna yerleştirin:esp/EFI/syslinux/* -> esp/EFI/BOOT/*
veesp/EFI/syslinux/syslinux.efi -> esp/EFI/BOOT/bootx64.efi
Konfigürasyon
Syslinux yapılandırma dosyası, syslinux.cfg
, Syslinux'u kurduğunuz dizinde oluşturulmalıdır. Bizim durumumuzda, BIOS sistemleri için /boot/syslinux/
ve UEFI sistemleri için esp/EFI/syslinux/
.
Önyükleyici ya syslinux.cfg
arar (tercih edilir) veya extlinux.conf
-
LINUX
yerineKERNEL
anahtar sözcüğü de kullanılabilir.KERNEL
dosyanın türünü tespit etmeye çalışırken,LINUX
her zaman bir Linux Kerneli bekler. -
TIMEOUT
değeri 0.1 saniye birimindedir.
Örnekler
- Örneklerde bulunan herhangi bir yapılandırma dosyasının uygun kernel parametrelerini ayarlamak için düzenlenmesi gerekir. Bakınız bölüm: #Kernel parametreleri.
- Lütfen yollara çok dikkat edin. Örnekler, özellikle UEFI kullanırken kurulumunuz için uygun olmayabilir.
- Aşağıdaki örneklerde kernel ve initrd dosyalarının
syslinux.cfg
konumuna göre bir dizin üst seviyede bulunduğu varsayılmaktadır. (ya da, daha doğrusu, çalışma dizininin bir seviye üstü).
Önyükleme komut istemi
Bu, boot:
komut istemini gösterecek ve 5 saniye sonra otomatik olarak önyükleme yapacak basit bir yapılandırma dosyasıdır. Bir komut istemi görmeden doğrudan önyükleme yapmak istiyorsanız, PROMPT
öğesini 0
olarak ayarlayın.
Konfigürasyon:
* BIOS: /boot/syslinux/syslinux.cfg * UEFI: esp/EFI/syslinux/syslinux.cfg
PROMPT 1 TIMEOUT 50 DEFAULT arch LABEL arch LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux.img LABEL archfallback LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux-fallback.img
Metin önyükleme menüsü
Syslinux ayrıca bir önyükleme menüsü kullanmanıza da izin verir. Bunu kullanmak için menu
ve libutil
modüllerini Syslinux dizininize kopyalayın:
# cp /usr/lib/syslinux/bios/{menu,libutil}.c32 /boot/syslinux/
5.00 sürümünden bu yana, ek lib*.c32
kütüphane modüllerine de sıklıkla ihtiyaç duyulmaktadır. Modül bağımlılık ağacı için the Syslinux wiki adresine bakın.
Konfigürasyon:
* BIOS: /boot/syslinux/syslinux.cfg * UEFI: esp/EFI/syslinux/syslinux.cfg
UI menu.c32 PROMPT 0 MENU TITLE Boot Menu TIMEOUT 50 DEFAULT arch LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux-fallback.img
Menü sistemi hakkında daha fazla ayrıntı için the Syslinux wiki adresine bakın.
Grafiksel önyükleme menüsü
Syslinux ayrıca grafiksel bir önyükleme menüsü kullanmanıza da izin verir. Bunu kullanmak için vesamenu
dosyasını kopyalayın. COM32 modülünü Syslinux klasörünüze ekleyin:
# cp /usr/lib/syslinux/bios/vesamenu.c32 /boot/syslinux/
5.00 sürümünden bu yana, ek lib*.c32
kütüphane modüllerine de sıklıkla ihtiyaç duyulmaktadır. Modül bağımlılık ağacı için the Syslinux wiki adresine bakın.
/usr/lib/syslinux/efi64/
adresinden kopyaladığınızdan emin olun. (veya IA32 (32-bit) EFI sistemleri için efi32
), aksi takdirde siyah bir ekranla karşılaşacaksınız. Bu durumda, canlı bir ortamdan önyükleme yapın ve uygun değişiklikleri yapmak için chroot kullanın.Bu konfigürasyon Arch Kurulum CD'si ile aynı menü tasarımını kullanır, konfigürasyonu gitlab.archlinux.org adresinde bulunabilir. https://gitlab.archlinux.org/archlinux/archiso/-/raw/master/configs/releng/syslinux/splash.png?inline=false Arch Linux arka plan görüntüsü] de oradan indirilebilir. Görüntüyü /boot/syslinux/splash.png
adresine kopyalayın.
Konfigürasyon::
* BIOS: /boot/syslinux/syslinux.cfg * UEFI: esp/EFI/syslinux/syslinux.cfg
UI vesamenu.c32 DEFAULT arch PROMPT 0 MENU TITLE Boot Menu MENU BACKGROUND splash.png TIMEOUT 50 MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 5 MENU VSHIFT 10 MENU TIMEOUTROW 13 MENU TABMSGROW 11 MENU CMDLINEROW 11 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 # Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32 MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all MENU COLOR unsel 37;44 #50ffffff #a0000000 std MENU COLOR help 37;40 #c0ffffff #a0000000 std MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std MENU COLOR msg07 37;40 #90ffffff #a0000000 std MENU COLOR tabmsg 31;40 #30ffffff #00000000 std LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux-fallback.img
Syslinux 3.84'ten beri, vesamenu.c32
MENU RESOLUTION $WIDTH $HEIGHT
yönergesini desteklemektedir.
Bunu kullanmak için, 1440x900 çözünürlük için yapılandırmanıza MENU RESOLUTION 1440 900
ekleyin.
Ancak, arka plan resminin tam olarak doğru çözünürlüğe sahip olması gerekir, aksi takdirde Syslinux menüyü yüklemeyi reddeder.
Menüyü ortalamak ve çözünürlüğü ayarlamak için MENU RESOLUTION
, MENU HSHIFT $N
ve MENU VSHIFT $N
kullanın; burada $N
pozitif bir sayıdır. Varsayılan değerlerin her ikisi de monitörünüzün sol üst köşesi olan 0
'dır. Tersine, negatif bir sayı ekranın diğer ucundan başlar (örneğin VHSHIFT -4
ekranın altından 4 satır olacaktır).
Menüyü ortaya taşımak için bu değerleri ekleyin veya düzenleyin:
* BIOS: /boot/syslinux/syslinux.cfg * UEFI: esp/EFI/syslinux/syslinux.cfg
MENU RESOLUTION 800 600 # or whatever your screen resolution is MENU WIDTH 78 # width of the menu also required to bring the menu box to size MENU VSHIFT 10 # moves menu down MENU HSHIFT 10 # moves menu right
VESA standartları genellikle maksimum 25 satır ve 80 sütundur, bu nedenle bu değerlerin üzerine çıkmak menüyü ekrandan uzaklaştırabilir ve potansiyel olarak bir kurtarma CD'sinden düzenleme yapılmasını gerektirebilir.
Kernel parametreleri
Kernel parametreleri syslinux.cfg
içindeki APPEND
yönergesi kullanılarak ayarlanır:
her LABEL
girişi için en fazla bir APPEND satırı kabul edilir (yani birden fazla satıra yayılma geçerli değildir).
"Fallback" girişi için de aşağıdaki değişikliklerin yapılması önerilir.
En basit durumda, root
parametresinin değerinin değiştirilmesi gerekir; desteklenen yöntemler için Kalıcı blok aygıtı adlandırma bölümüne bakın.
APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
Doğru root birimi seçmek için root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
öğesini değiştirin.
Eğer dm-crypt şifreleme kullanıyorsanız şifrelenmiş biriminizi kullanmak için APPEND
satırını değiştirin:
APPEND root=/dev/mapper/name cryptdevice=UUID=YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY:name rw
Bir btrfs alt birimi önyükleniyorsa, APPEND
satırını rootflags=subvol=root_subvolume
ile değiştirin. Örneğin, /dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
'ROOT' adlı bir btrfs alt birimi olarak bağlanmışsa (örneğin mount -o noatime,subvol=ROOT /dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXXXX-XXXXXXXX /mnt
), o zaman APPEND
satırının aşağıdaki gibi değiştirilmesi gerekir:
APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=ROOT
Aksi takdirde aşağıdaki hata mesajıyla sonuçlanacaktır:
ERROR: Root device mounted successfully, but /sbin/init does not exist.
Otomatik Önyükleme
Syslinux menüsünü hiç görmek istemiyorsanız, #Önyükleme komut istemi'ni kullanın ve PROMPT
değişkenini 0
olarak ayarlayın ve UI
menü girişlerini yorumlayın. TIMEOUT
değişkenini 0
olarak ayarlamak da iyi bir fikir olabilir. syslinux.cfg
dosyanızda DEFAULT
ayarının olduğundan emin olun. Açılış sırasında Shift
veya Alt
tuşlarından birini basılı tutmak ya da Caps Lock
veya Scroll Lock
tuşlarından birini ayarlamak varsayılan dışındaki seçeneklerin kullanılmasını sağlayacaktır.
Ek alternatifler için upstream viki adresine bakın.
Güvenlik
Syslinux'un iki önyükleyici güvenlik seviyesi vardır: bir menü ana parolası ve bir menü-öğe parolası. syslinux.cfg
içinde şunu kullanın:
MENU MASTER PASSWD passwd
ana önyükleyici parolası ayarlamak için ve
MENU PASSWD passwd
bir LABEL
bloğu içinde tek tek önyükleme öğelerini parola ile korumak için.
passwd açık metin parolası ya da karma parola olabilir: resmi belgelere bakın.
Zincirleme önyükleme
Syslinux BIOS diğer bölümlerde bulunan dosyaları doğrudan zincirleme önyükleyemez; ancak, chain.c32
bir bölüm önyükleme sektörünü (VBR) veya başka bir diskin MBR'sini önyükleyebilir.
Bir bölümün VBR'sini zincirleme önyükleme
Windows gibi diğer işletim sistemlerini veya önyükleme yükleyicilerini zincirleme önyüklemek istiyorsanız, chain.c32
modülünü Syslinux dizinine kopyalayın (ek lib*.c32
kütüphane modülleri de gerekebilir; ayrıntılar için önceki bölümdeki talimatlara bakın). Ardından yapılandırma dosyasında bir bölüm oluşturun:
/boot/syslinux/syslinux.cfg
... LABEL windows MENU LABEL Windows COM32 chain.c32 APPEND hd0 3 ...
hd0 3
ilk BIOS sürücüsündeki üçüncü bölümdür - sürücüler sıfırdan itibaren sayılır, ancak bölümler birden itibaren sayılır.
bootmgr
) atlar. Bu gibi durumlarda MBR önyükleme bayrağını geçici olarak Windows bölümüne ayarlamak (örneğin GParted ile), güncellemenin yüklenmesini bitirmesine izin vermek ve ardından bayrağı Syslinux bölümüne sıfırlamak (örneğin Windows'un kendi DiskPart] ile) tavsiye edilebilir.Bir diskin MBR'sini zincirleme önyükleme
BIOS'unuzun hangi sürücünün "ilk" olduğunu düşündüğünden emin değilseniz, bunun yerine MBR tanımlayıcısını veya GPT kullanıyorsanız dosya sistemi etiketlerini kullanabilirsiniz. MBR tanımlayıcısını kullanmak için şu komutu çalıştırın:
# fdisk -l /dev/sdb
Disk /dev/sdb: 128.0 GB, 128035676160 bytes 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xf00f1fd3 Device Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 7 HPFS/NTFS/exFAT /dev/sdb2 4196352 250066943 122935296 7 HPFS/NTFS/exFAT
/dev/sdb
yerine zincirleme yüklemek istediğiniz sürücüyü yazın. Disk tanımlayıcısı altındaki onaltılık sayıyı kullanarak: 0xf00f1fd3
bu durumda, syslinux.cfg
içindeki sözdizimi şöyledir
/boot/syslinux/syslinux.cfg
... LABEL windows MENU LABEL Windows COM32 chain.c32 APPEND mbr:0xf00f1fd3 ...
Zincirleme yükleme hakkında daha fazla bilgi için Syslinux'un vikisi adresine bakın.
Diğer önyükleme yükleyicilerini zincirleme önyükleme
Aynı bölümde GRUB yüklüyse, bunu kullanarak zincirleme önyükleyebilirsiniz:
/boot/syslinux/syslinux.cfg
... LABEL grub2 MENU LABEL Grub2 COM32 chain.c32 APPEND file=../grub/boot.img ...
Alternatif olarak, lnxboot.img
dosyasını core.img
dosyasının önüne ekleyerek GRUB'u bir Linux kerneli olarak yüklemek de mümkündür. lnxboot.img
dosyası core/grub
dosyasının bir parçasıdır ve /usr/lib/grub/i386-pc
içinde bulunabilir.
/boot/syslinux/syslinux.cfg
... LABEL grub2lnx MENU LABEL Grub2 (lnxboot) LINUX ../grub/i386-pc/lnxboot.img INITRD ../grub/i386-pc/core.img ...
Bu, ISO görüntülerinden önyükleme yapmak için gerekli olabilir.
Diğer Linux sistemlerine zincirleme önyükleme
Windows gibi başka bir önyükleyiciyi zincirleme yüklemek oldukça açıktır, çünkü zincirleme yapılacak belirli bir önyükleyici vardır. Ancak Syslinux ile, yalnızca yapılandırma dosyası ile aynı bölümde bulunan dosyaları yükleyebilir. Bu nedenle, ayrı bir bölümde, paylaşılan bir /boot
olmadan başka bir Linux sürümünüz varsa, diğer işletim sisteminin varsayılan önyükleyicisi (örneğin GRUB2) yerine EXTLINUX'u kullanmak gerekli hale gelir. Esasen, EXTLINUX superblock/VBR bölümüne kurulabilir ve Syslinux tarafından kurulan MBR'den ayrı bir önyükleyici olarak çağrılabilir. EXTLINUX, Syslinux Projesi'nin bir parçasıdır ve syslinux paketine dahildir.
Aşağıdaki talimatlar Syslinux'un zaten kurulu olduğunu varsaymaktadır. Bu talimatlar aynı zamanda tipik Arch Linux yapılandırma yolu olan /boot/syslinux
'un kullanıldığını ve zincirleme yüklenen sistemin /
'in /dev/sda3
üzerinde olduğunu varsayacaktır.
Önyüklenmiş bir Linux'tan (muhtemelen Syslinux'un önyükleme için ayarlandığı bölüm), diğer sistemin root bölümünü istediğiniz bağlama noktasına bağlayın. Bu örnekte bu /mnt
olacaktır. Ayrıca, ikinci işletim sisteminde ayrı bir /boot
bölümü kullanılıyorsa, bunun da bağlanması gerekecektir. Örnekte bunun /dev/sda2
olduğu varsayılmaktadır.
# mount /dev/sda3 /mnt # mount /dev/sda2 /mnt/boot (only necessary for separate /boot)
EXTLINUX'u VBR bölümüne yükleyin ve gerekli *.c32
dosyalarını kopyalayın
# extlinux -i /mnt/boot/syslinux/ (first create the directory if necessary) # cp /usr/lib/syslinux/bios/*.c32 /mnt/boot/syslinux
/mnt/boot/syslinux/syslinux.cfg
dosyasını oluşturun. Diğer Linux'un önyükleyici menü dosyasını referans olarak kullanabilirsiniz. Aşağıda bir örnek verilmiştir:
/mnt/boot/syslinux/syslinux.cfg on /dev/sda3
TIMEOUT 10 UI menu.c32 LABEL OtherLinux LINUX /boot/vmlinuz-linux INITRD /boot/initramfs-linux.img APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw quiet LABEL MAIN COM32 chain.c32 APPEND hd0 0
Ve sonra ana syslinux.cfg
dosyanıza bir girdi ekleyin
/boot/syslinux/syslinux.cfg
LABEL OtherLinux COM32 chain.c32 APPEND hd0 3
<other-OS>/boot/syslinux/syslinux.cfg
içindeki diğer Linux girişinin, /
içindeki en son kerneline ve initrdsine sembolik bağlantıları yoksa, bu işletim sisteminin kernelini her güncellediğinizde düzenlenmesi gerekeceğini unutmayın. Kerneli doğrudan boot ettiğimiz ve diğer işletim sisteminin varsayılan önyükleyicisini zincirleme önyüklemediğimiz için.
memtest'i kullanma
memtest86+ paketini indirin.
Bu LABEL
bölümünü memtest'i başlatmak için kullanın:
/boot/syslinux/syslinux.cfg
... LABEL memtest MENU LABEL Memtest86+ LINUX ../memtest86+/memtest.bin ...
memtest.bin
olan ismi memtest
olarak değiştirin çünkü PXELINUX .bin uzantılı dosyayı bir önyükleme sektörü olarak görür ve sadece 2KB'lık kısmını yükler.HDT
HDT (Hardware Detection Tool (Türkçe olarak "Donanım Algılama Aracı")) donanım bilgilerini görüntüler. Daha önce olduğu gibi, .c32
dosyası /boot/syslinux/
'dan kopyalanmalıdır. Ek lib*.c32
kütüphane modüllerine de ihtiyaç duyulabilir.
PCI bilgisi için, /usr/share/hwdata/pci.ids
dosyasını /boot/syslinux/pci.ids
dosyasına kopyalayın ve yapılandırma dosyanıza aşağıdakileri ekleyin:
/boot/syslinux/syslinux.cfg
LABEL hdt MENU LABEL Hardware Info COM32 hdt.c32
Yeniden başlatma ve kapatma
poweroff.c32
yalnızca APM ile çalışır ve ACPI ile çalışmaz. Olası bir çözüm için bakınız :acpioff: ACPI kullanarak makineyi kapatmak için COM32 modülü.Makinenizi yeniden başlatmak veya kapatmak için aşağıdaki bölümleri kullanın:
/boot/syslinux/syslinux.cfg
LABEL reboot MENU LABEL Reboot COM32 reboot.c32 LABEL poweroff MENU LABEL Power Off COM32 poweroff.c32
Menüyü temizleme
Menüden çıkarken ekranı temizlemek için aşağıdaki satırı ekleyin:
/boot/syslinux/syslinux.cfg
MENU CLEAR
Klavye düzeni
Syslinux önyükleme isteminde önyükleme komutunuzu çeşitli parametrelerle sık sık düzenlemeniz gerekiyorsa, klavye düzeninizi yeniden eşleştirmek isteyebilirsiniz. Bu, "=", "/" ve diğer karakterleri ABD dışı bir klavyede kolayca girmenizi sağlar.
paketinde bulunan keytab-lilo
, loadkeys programını çağıran bir perl betiğidir.}}
Uyumlu bir klavye düzeni oluşturmak için (örneğin Almanca bir klavye düzeni) çalıştırın:
# keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/qwertz/de.map.gz > /boot/syslinux/de.ktl
Şimdi syslinux.cfg
dosyasını düzenleyin ve ekleyin:
/boot/syslinux/syslinux.cfg
KBDMAP de.ktl
Daha fazla ayrıntı için Syslinux viki adresine bakın.
Menüyü gizleme
Yalnızca zaman aşımını görüntülerken menüyü gizlemek için bu seçeneği kullanın. Menüyü açmak için herhangi bir tuşa basın.
/boot/syslinux/syslinux.cfg
MENU HIDDEN
PXELINUX
PXELINUX syslinux paketi tarafından sağlanır.
BIOS istemcileri için, {l,}pxelinux.0
önyükleyicisini istemcinin önyükleme dizinine kopyalayın. 5.00 ve daha yeni sürümler için, aynı paketten ldlinux.c32
dosyasını da kopyalayın:
# cp /usr/lib/syslinux/bios/pxelinux.0 "TFTP_root/boot/" # cp /usr/lib/syslinux/bios/ldlinux.c32 "TFTP_root/boot/" # mkdir "TFTP_root/boot/pxelinux.cfg"
Ayrıca PXELINUX'un varsayılan olarak yapılandırma dosyalarını aradığı pxelinux.cfg
dizinini oluşturduk. Farklı ana bilgisayar MAC'leri arasında ayrım yapmak istemediğimiz için, default
yapılandırmasını oluşturduk.
TFTP_root/boot/pxelinux.cfg/default
DEFAULT linux LABEL linux KERNEL vmlinuz-linux APPEND initrd=initramfs-linux.img quiet ip=:::::eth0:dhcp nfsroot=10.0.0.1:/arch
Veya NBD kullanıyorsanız, aşağıdaki ekleme satırını kullanın:
APPEND ro initrd=initramfs-linux.img ip=:::::eth0:dhcp nbd_host=10.0.0.1 nbd_port=10809 nbd_name=arch root=/dev/nbd0
nbd_host
ve/veya nfsroot
değiştirmeniz gerekecektirPXELINUX, SYSLINUX ile aynı yapılandırma sözdizimini kullanır; daha fazla bilgi için upstream belgelerine bakın.
Çekirdek ve initramfs TFTP aracılığıyla aktarılacaktır, bu nedenle bunlara giden yollar TFTP rootuna göreli olacaktır. Aksi takdirde, root dosya sistemi NFS bağlantısının kendisi olacaktır, bu nedenle bunlar NFS sunucusunun rootuna görelidir.
PXELINUX'u gerçekten yüklemek için {ic|filename "/grub/i386-pc/core.0";}} {ic|/etc/dhcpd.conf}} içindeki filename "/pxelinux.0"
(veya filename "/lpxelinux.0"
) ile değiştirin.
ISO9660 görüntü dosyalarını memdisk ile önyükleme
Syslinux, memdisk modülünü kullanarak ISO görüntülerinden doğrudan önyüklemeyi destekler, örnekler için Multiboot USB drive#Using Syslinux and memdisk bölümüne bakın.
Seri konsol
Bakınız: Seri konsolla çalışma#Syslinux.
Başka bir işletim sistemini bir kez önyükleme
Varsayılan Syslinux eylemini geçici olarak değiştirmek ve yalnızca bir sonraki önyükleme sırasında başka bir etiketi önyüklemek mümkündür. Aşağıdaki komut archfallback
etiketinin bir kez nasıl önyükleneceğini göstermektedir:
# extlinux -o archfallback /boot/syslinux
Bir sonraki önyükleme sırasında, belirtilen etiket herhangi bir Syslinux istemi gösterilmeden önyüklenecektir. Varsayılan Syslinux önyükleme davranışı bir sonraki yeniden başlatmada geri yüklenecektir.
Sorun Giderme
Ldlinux yüklenemedi
İlk açılış sırasında "Failed to load ldlinux.c32" gibi bir hata mesajı çok çeşitli nedenlerle tetiklenebilir. Olası nedenlerden biri, kendi sürümüne bağlı olarak dosya sistemi araçlarında veya dosya sistemi yapısında bir değişiklik olabilir.
Failed to load ldlinux.c32
gibi bir mesaj ile dosya sistemiyle ilgili bir sorun arasında doğrudan ve benzersiz bir ilişki yoktur:
- Bu mesaj yerine diğer alternatif semptomlar da dosya sistemiyle ilgili bir soruna işaret edebilir.
- Bu mesaj, sorunun mutlaka dosya sistemiyle ilgili olduğu anlamına gelmez; bu tür mesajların başka olası nedenleri de vardır.
Ayrıca bakınız: [11] (tüm sayfa sorun giderme için de uygun olabilir).
Syslinux komut istemini kullanma
Önyüklemek istediğiniz girdinin LABEL
adını yazabilirsiniz (syslinux.cfg
'nize göre). Örnek yapılandırmaları kullandıysanız, sadece aşağıdakileri yazın:
boot: arch
Yapılandırma dosyasının yüklenemediğine dair bir hata alırsanız, gerekli önyükleme parametrelerinizi iletebilirsiniz, örn:
boot: ../vmlinuz-linux root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=../initramfs-linux.img
Eğer ramfs içinde boot:
'a erişiminiz yoksa ve bu nedenle geçici olarak kerneli tekrar önyükleyemiyorsanız,
- Root bölümünüzü bağlamak için geçici bir dizin oluşturun (eğer zaten mevcut değilse):
# mkdir -p /new_root
-
/
öğesini/new_root
altına bağlayın (/boot/
aynı bölümdeyse, aksi takdirde her ikisini de bağlamanız gerekecektir):Not: Busybox, kendi ext2 bölümü üzerindeyse/boot
'u bağlayamaz.# mount /dev/sd[a-z][1-9] /new_root
-
syslinux.cfg
dosyasını ihtiyaçlarınıza uyacak şekilde yeniden ayarlayın ve dosyayı kaydedin. - Bilgisayarınızı yeniden başlatın.
Fsck root bölümünde başarısız oluyor
Kötü şekilde bozulmuş bir root bölümü (günlüğün hasar gördüğü) durumunda, ramfs acil durum kabuğunda root dosya sistemini bağlayın:
# mount /dev/root partition /new_root
Ve root bölümünden tune2fs binary dosyasını alın (Syslinux'a dahil değildir):
# cp /new_root/sbin/tune2fs /sbin/
Root bölümü için yeni bir günlük oluşturmak için ext2fs: no external journal adresindeki talimatları izleyin.
Bazı bilgisayarlarda varsayılan seçenek veya kullanıcı arayüzü bulunamadı
Bazı anakart üreticileri USB aygıtlarından önyükleme için diğerlerine göre daha az uyumluluğa sahiptir. Ext4 formatlı bir USB sürücü daha yeni bir bilgisayarda önyükleme yapabilirken, kernel ve initrd içeren önyükleme bölümü bir FAT16 bölümünde değilse bazı bilgisayarlar takılabilir. Eski bir makinenin ldlinux
yüklemesini ve syslinux.cfg
dosyasını okuyamamasını önlemek için, dosfstools kullanarak bir bölüm (≤ 2 GB) oluşturun ve FAT16 olarak biçimlendirin:
# mkfs.fat -F 16 /dev/sda1
ardından Syslinux'u kurun ve yapılandırın.
Kayıp işletim sistemi
- GPT için
gptmbr.bin
ve MBR bölümleme tablosu içinmbr.bin
yüklediğinizi kontrol edin. " Kayıp işletim sistemi (Missing operating system)" mesajımbr.bin
'den gelirken,gptmbr.bin
"Kayıp İşletim Sistemi (Missing OS)" mesajı gösterecektir. -
/boot
içeren bölümün "boot" bayrağının etkin olup olmadığını kontrol edin. - Önyükleme aygıtındaki ilk bölümün sektör 63 veya 2048 yerine sektör 1'de başlayıp başlamadığını kontrol edin. Bunu
fdisk -l
ile kontrol edin. Eğer sektör 1'de başlıyorsa, bölüm(ler)igparted
ile bir kurtarma diskinden taşıyabilirsiniz. Ya da ayrı bir önyükleme bölümünüz varsa,/boot
ile yedekleyebilirsiniz.
# cp -a /boot /boot.bak
ve sonra Arch kurulum diski ile önyükleme yapın. Sonra, cfdisk
kullanarak /boot
bölümünü silin ve yeniden oluşturun. Bu kez uygun sektör olan 63 ile başlamalıdır. Şimdi bölümlerinizi ve chroot
'u indirme kılavuzu'nda açıklandığı gibi monte edilmiş sisteminize bağlayın. komutu ile /boot
dosyasını geri yükleyin
# cp -a /boot.bak/ /boot/
/etc/fstab
'ın doğru olup olmadığını kontrol edin, çalıştırın:
# syslinux-install_update -iam
ve yeniden başlatın.
Bir md RAID'den önyükleme yapmaya çalışıyorsanız da bu hatayı alırsınız. 1 dizisini oluşturdu ve diziyi Syslinux'un anlamadığı çok yeni bir metadata sürümü ile oluşturdu. Ağustos 2013 itibariyle mdadm varsayılan olarak 1.2 sürüm metadata ile bir dizi oluşturacaktır, ancak Syslinux 1.0'dan daha yeni metadatayı anlamamaktadır. Eğer durum buysa, mdadm'a --metadata=1.0
bayrağını kullanarak RAID dizinizi yeniden oluşturmanız gerekecektir.
Windows açılıyor, Syslinux'u yok sayıyor
Çözüm: /boot
içeren bölümün önyükleme bayrağının etkin olduğundan emin olun. Ayrıca, Windows bölümünde önyükleme bayrağının etkinleştirilmediğinden emin olun. Yukarıdaki kurulum bölümüne bakın.
Syslinux ile birlikte gelen MBR, önyükleme bayrağı ayarlanmış olan ilk etkin bölümü arar. Windows bölümü muhtemelen ilk olarak bulunmuştur ve önyükleme bayrağı ayarlanmıştır. Eğer isterseniz, Windows ya da MS-DOS'un fdisk
sağladığı MBR'yi kullanabilirsiniz.
Menü girişleri hiçbir şey yapmıyor
Bir menü girişi seçiyorsunuz ve hiçbir şey yapmıyor, sadece menüyü "yeniliyor". Bu genellikle syslinux.cfg
dosyanızda bir hata olduğu anlamına gelir. Açılış parametrelerinizi düzenlemek için Tab
tuşuna basın. Alternatif olarak, Esc
tuşuna basın ve önyükleme girişinizin LABEL
kodunu yazın (örneğin arch). Başka bir neden de yüklü bir kernelinizin olmaması olabilir. Dosya sisteminize erişmenin bir yolunu bulun (canlı CD, vb.) ve /mount/vmlinuz-linux
dosyasının var olduğundan ve boyutunun 0 olmadığından emin olun. Eğer durum buysa, kernelinizi yeniden yükleyin.
ldlinux.sys kaldırılamıyor
ldlinux.sys
dosyasının değiştirilemez özniteliği vardır, bu da silinmesini veya üzerine yazılmasını engeller. Bunun nedeni, dosyanın sektör konumunun değişmemesi, aksi takdirde Syslinux'un yeniden yüklenmesi gerektiğidir. Kaldırmak için çalıştırın:
# chattr -i /boot/syslinux/ldlinux.sys # rm /boot/syslinux/ldlinux.sys
Problem: linux-3.0'dan itibaren, modesetting sürücüsü çözünürlüğü değiştirdikten sonra ekranın mevcut içeriğini tutmaya çalışıyor (en azından benim Intel'imde, Syslinux metin modundayken bunu yapıyor). Görünüşe göre Syslinux'taki vesamenu modülü ile birleştirildiğinde bu yanlış gidiyor (beyaz blok aslında Syslinux menüsünü tutma girişimidir, ancak sürücü vesa grafik modundan resmi yakalayamıyor).
Özel bir çözünürlüğünüz ve erken kip ayarlı bir vesamenu
'nuz varsa, beyaz bloğu kaldırmak ve grafik kipinde devam etmek için syslinux.cfg
içine aşağıdakileri eklemeyi deneyin:
APPEND root=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw 5 vga=current quiet splash
Windows başka bir sürücüye yüklendiğinde zincirleme önyükleme çalışmıyor
Windows Arch'tan farklı bir sürücüye kuruluysa ve zincirleme yüklemede sorun yaşıyorsanız, aşağıdaki yapılandırmayı deneyin:
LABEL Windows MENU LABEL Windows COM32 chain.c32 APPEND mbr:0xdfc1ba9e swap
Mbr kodunu Windows sürücünüzün sahip olduğu kodla değiştirin (ayrıntılar yukarıda) ve seçeneklere swap
ekleyin.
Önyükleyici günlüğünü okuyun
Bazı durumlarda (örneğin önyükleyicinin kerneli önyükleyememesi) önyükleme işleminden daha fazla bilgi almak oldukça arzu edilir. Syslinux hata mesajlarını ekrana yazdırır ancak önyükleme menüsü hızlı bir şekilde metnin üzerine yazar. Günlük bilgilerini kaybetmemek için syslinux.cfg
dosyasında UI menu
seçeneğini devre dışı bırakın ve varsayılan "command-line" komut istemini kullanın. Bu şu anlama gelir:
-
UI
yönergesinden kaçının -
ONTIMEOUT
'dan kaçının -
ONERROR
'dan kaçının -
MENU CLEAR
'dan kaçının - daha yüksek bir
TIMEOUT
kullanın -
PROMPT 1
kullanın -
DEFAULT problematic_label
kullanın
Daha ayrıntılı hata ayıklama günlüğü almak için, syslinux paketini ek CFLAGS ile yeniden derleyin:
-DDEBUG_STDIO=1 -DCORE_DEBUG=1
Btrfs sıkıştırması
Sıkıştırma ile btrfs'den önyükleme desteklenmiyor.[12] Aşağıdaki hata görüntülenecektir:
btrfs: found compressed data, cannot continue! invalid or corrupt kernel image.
Btrfs çoklu cihaz
Çoklu aygıt btrfs'den önyükleme desteklenmiyor.[13] (21-Temmuz-2016 1246 satırından itibaren main.c validate_device_btrfs() içinde) Bu kafa karıştırıcı hata gösterilecektir (sda1 üzerine kurulum yaptığınızı varsayarsak):
/boot/syslinux is device /dev/sda1 extlinux: path /boot/syslinux doesn't match device /dev/sda1