Extlinux ile Linux nasıl başlatılır


3

EDIT: Bu soru "popüler" hale geldikten sonra iki sent daha ekledim. Harika bir hayranı olmuştum, grubçünkü kullandığım her şeyi boot edebiliyordu. Ancak, grub2geldiğimde, gerçekten sevmiyorum çünkü

  • nemli
  • /bootKlasörümde bir sürü hurda bıraktım ,% 99.9'u benim için işe yaramaz.
  • "Gelişmiş" sözdizimi benim için fazla karmaşık
  • UEFI kullanarak önyüklemeyi deneyin grub2, gerçekten bir ROYAL PITA
  • grubCD önyükleyicim olarak kullanabildim ama bunu yapıp yapamayacağımı bilmiyorum grub2- Daha fazla umrumda değil, çünkü daha iyi bir alternatif buldum.

Syslinux ekosistemi (extlinux dahil) şimdi kullandığım her şeyi, CD / DVD, FAT, Ext2 / 3/4 ve hatta Btrfs'i başlatıyor. Ayrıca, MBR / PBR rölesi veya GPT'yi sorunsuz bir şekilde kullanır. Küçük, noktaya kadar ve tahta üzerinde evrensel bir sözdizimi korumak. Extlinux (syslinux) şu anda kullandığım her şeyi başlatmak için benim seçtiğim çözüm.

Şimdi OP'ye geri dönelim.

Linux ile düzgün bir şekilde nasıl başlatılacağını bilen var extlinuxmı?

Google aramamı bitirdim ancak yine de extlinuxLinux'u kurmanın doğru yolunun ne olduğunu bulamıyorum . Bulduğum bütün isabetler /boot/extlinux/extlinux.confdoğrudan dosyayı düzenlemekle ilgili konuşuyor . Ancak, bunun içinde beni cesaretlendiren büyük bir uyarı var:

## /boot/extlinux/extlinux.conf
##
## IMPORTANT WARNING
##
## The configuration of this file is generated automatically.
## Do not edit this file manually, use: extlinux-update


default l0
prompt 1
timeout 50

include themes/debian/theme.cfg

Ben koşuyoruz extlinux-updateveya extlinux -updateyollardan her türlü gelen milyarlarca zaman ancak dosya hala aynı kalır. Sorun şu ki, bu dosya hiçbir şey açmıyor!

Kendim düzenlersem ve extlinux-updatetekrar çalıştırırsam , sonra BOOM, yukarıdaki boot-nothing versiyonuna tekrar döner.

Herkes, önyükleme yapmak için Ubuntu altında extlinux'u nasıl düzgün şekilde ayarlayacağını bilir (extlinux.conf dosyasını doğrudan düzenlemeden)?

Bu, en son Ubuntu Güvenilir BTW'den extlinux'dur:

% apt-cache policy extlinux
extlinux:
Installed: 3:4.05+dfsg-6+deb8u1
Candidate: 3:4.05+dfsg-6+deb8u1
Version table:
*** 3:4.05+dfsg-6+deb8u1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status

Burada belirtilen tüm adımları izlediniz mi edoceo.com/howto/extlinux ? Ana yapılandırma dosyasını düzenlemek, biraz deneme yapmak için bir sorun olmamalıdır. Grubdan bildiğim gibi bazı dizinlerde (belki de bir yerde / etc?) Bazı dosyalar var sanırım bu ana yapılandırma dosyasına ne yapılması gerektiğini ve güncelleme komutunu çalıştırırken bu değişiklikleri uygular. Tabii ki o zaman sizin durumunuzda dosya öncekiyle aynı. Öyleyse, bu dosyaları bulma ve düzenleme konusunda daha iyi olursanız (varsa, sadece bir tahmin)
ju.kreber

Güzel bağlantı / bilgi. Teşekkürler. Ne yazık ki, bu aynı zamanda " extlinux.confdosyayı doğrudan düzenleme" kategorisine giriyor ve bu durum için pek de yardımcı olmuyor.
xpt

Öyleyse lütfen sorununuzu bir ısırıktan daha kesin olarak anlatın. Ne denedin zaten? MBR'nizi güncellediniz mi? Bootloader dosyalarının tümü / boot / extlinux dizininde mevcut mu? Sonra bir çekirdek yüklemek için yapılandırma dosyasını yapılandırın. Şuna bir göz atın: wiki.archlinux.org/index.php/syslinux#Configuration Elbette extlinux'unuza hangi çekirdeğin ve initrd'nin yükleneceğini söylemeniz gerekir. Lütfen sistemin ne kadar önyükleme yaptığını da belirtin. Bir promosyon görüyor musun? Veya "işletim sistemi bulunamadı" gibi bir mesaj?
ju.kreber

Bu arada, "ah hayır, 'dosyayı doğrudan düzenleme' kategorisine girmiyorsa - bu bana yardımcı olmaz" derseniz, asla bir sonuç alamazsınız. Ne yaptığınızı anlamaya çalışmalısınız, sadece yapmayı değil. Bu dosyayı düzenleme denemeleriniz başarısız olduysa, neden kesinlikle size yardımcı olmayacağını söylemekten çok neden başarısız olduğunu anlamaya çalışmaktan daha iyi olursunuz. Ve gördüğüm kadarıyla, bu size yardımcı olacaktır . Çünkü bootloader'ınıza ne yükleyeceğini söylemediniz. Çekirdeğinizin nerede olduğunu tahmin edemezsiniz. Senaryoyu "her zaman bir gazillion zamanı" olarak çalıştırabilirsin, ve bunu değiştirmeyecek.
ju.kreber

"O zaman bir çekirdek yüklemek için yapılandırma dosyasını yapılandırmak yapmak bu göz at. Wiki.archlinux.org/index.php/syslinux#Configuration Çekirdek ve initrd'yi yüklemek için hangi EXTLINUX söylememe gerek elbette" ben tutmak Yapılandırmayı nerede yapmam gerektiğini sorduğumda extlinux.conf dosyasını doğrudan düzenlemeye geri dönmeye devam ediyorsunuz. OP'de açıkladığım gibi, bu tür bir uygulama kesinlikle önerilmez çünkü içinde büyük bir uyarı vardır ve düzenleme her an kaybolur. Soruma cevap vermek istiyorsanız, lütfen en azından ne sorduğumu anlamaya çalışın.
xpt

Yanıtlar:


3

Tamam, istediğin gibi, burada extlinux'u kurmam için gereken asgari adımlar:

sudo apt-get install extlinux

sudo extlinux --install /boot/extlinux

Ve bu yaptı. Gerçekten inanamadım ama işe yaradı. Yani burada bazı ekstra bilgiler: Benim sistemim (uname)

3.13.0-24-generic (Kernel)
#46-Ubuntu SMP .. (Kernel version)
i686 (Processor and machine)

Ve

apt-cache policy extlinux
extlinux:
  Installed: 3:4.05+dfsg-6+deb8u1
  Candidate: 3:4.05+dfsg-6+deb8u1
  Version table:
 *** 3:4.05+dfsg-6+deb8u1 0
        500 http://de.archive.ubuntu.com/ubuntu/ trusty/universe i368 Packages
        100 /var/lib/dpkg/status

/Boot/extlinux/extlinux.conf

default l0
prompt 1
timeout 50

include themes/debian/theme.cfg

Sanırım seninkiyle aynı. Debian temasının değişeceğini sanmıyorum. İşte benim özel linux.cfg:

label l0
    menu label Ubuntu GNU/Linux, kernel 3.13.0-24-generic
    linux /vmlinuz-3.13.0-24-generic
    append initrd=/initrd.img-3.13.0-24-generic root=UUID=61e460f5-878a-4cff-be9c-12239153d59c ro quiet

label l0r
    menu label Ubuntu GNU/Linux, kernel 3.13.0-24-generic (recovery mode)
    linux /vmlinuz-3.13.0-24-generic
    append initrd=/initrd.img-3.13.0-24-generic root=UUID=61e460f5-878a-4cff-be9c-12239153d59c ro single
    text help
    This option boots the system into recovery mode (single-user)
    endtext

Tamam, işte bu. Fakat burada önyükleme işlemi hakkında öğrendiğim diğer ilginç bir şey: / boot altındaki orijinal dosyaların kopyaları olarak "myvmlinuz" ve "myinitrd.img" 'yi oluşturdum ve extlinux.conf dosyasını aşağıdaki gibi düzenledim. :

default test
prompt 1
timeout 50

#include themes/debian/theme.cfg
LABEL test
    MENU Test entry
    LINUX /myvmlinuz
    APPEND initrd=/myinitrd.img root=UUID=61e460f5-878a-4cff-be9c-12239153d59c

Anladığım kadarıyla, sistemin çalışabilmesi için asgari yapılandırma budur. Benim için iyi çizmeler. Bu dosyalarda extlinux ile boot olarak işaretlenmiş bölümün kök klasörü / / olduğuna dikkat edin.

APPEND initrd=/myinitrd.img root=/dev/sda5

ayrıca çalıştı. Bir diskte / (sda5), / boot (sda1), takas vb. İçin farklı bölümler kullandım. Birincil bölüm olarak yarattım / başlattım, önemli olup olmadığını bilmiyorum. Belki deneyebilirsin

cat /usr/lib/extlinux/mbr.bin > /dev/sda

grub kötü bir şey yaptıysa.

Umarım koşmasını sağlarsın, lütfen işe yarayıp yaramadığını bana bildir!


Detaylı kapsamlı cevap için çok teşekkür ederim. Soruyu sorduğumda benim için iki kafa karışıklığı vardı. 1) Grubdan gelince, bir kez extlinux-updateçalıştırıldığında, extlinux.confdosyaya bir şey olacağına dair ampirik bir düşünceye sahiptim , tam olarak 1. cevabınızla aynı olacaktı "Grubdan bildiğim gibi bazı dizinlerde bazı dosyalar var sanırım (belki de bir yerlerde) İçerdiği / etc?) komutunu içeren bu ana config dosyasında ne yapılması ve update komutunun çalıştırılması bu değişiklikleri uygular. "
xpt

Benim için 2. kargaşalıklar) Ubuntu 13.10'da, include linux.cfgetc extlinux.conf; yeni Ubuntu 14.04'te nerede "eksik", ve extlinux-updateonları geri alacağını düşündüm .
xpt

Böylece, extlinux.confsistemin çalışmasını sağlamak için minimum yapılandırmaları içeren dosyayı düzenlediniz . Aslında bu benim nihai amacım, çünkü her seferinde bu extlinux'u aynı çekirdek sürüm için iki giriş listelemekten hoşlanmıyorum ve kendimi de basitleştirmek istiyorum. Peki extlinux-update, düzenlemeden sonra yaptıktan sonra ne olacak ?
xpt

1

İşte hakkında iyi bir öğretici Debian EXTLINUX en otomatik güncellemeyi Yapılandırılması aradığınız şey olmalıdır:

Birkaç gün önce extlinux'u (syslinux) bir bootloader olarak nasıl kuracağımı ve yapılandıracağımı yazdım. Ancak Debian veya Ubuntu'da, /boot/extlinux/extlinux.conf gibi dosyalarda doğrudan değişiklik yaparsanız, üzerine yazılır.

Yapılandırma dosyaları, çekirdeğinizi her güncellediğinizde otomatik olarak çalışan extlinux-update adı verilen bir programla yeniden oluşturulur. (Özellikle, linux-base paketinin postinst betiğinden çalışır: /var/lib/dpkg/info/linux-base.postinst içinde görebilirsiniz.)

[...]


2
Bu yazarın sorusuna gerçekten cevap vermiyor. Öğretici çok faydalı değil çünkü mevcut cevapta belirtilmeyen çok az şey ekliyor
Ramhound

Bu oldukça faydalı bir bilgi. OP ayrıca config dosyasını doğrudan düzenlemek istemediğini de belirtti. Yani bu onun problemini çözebilir.
Rolf

1

Bu, MBR için standart bir "manuel" kurulumun dökümüdür:

Extlinux'u disk disk cihazına yüklediğinizi varsayalım /dev/sda:

  • Diske standart bir MBR yükleyin. Bu MBR, "boot" bayrağını içeren herhangi bir bölümü arayacak ve önyüklemeye çalışacaktır.
    dd /usr/lib/extlinux/mbr.bin of=/dev/sda bs=440 count=1
  • EXTLINUX içerecek bölümdeki önyükleme bayrağını ayarlayın
  • Extlinux dosyalarını ve kullanılmış modülleri önyükleme bölümündeki bir dizine (veya kök) kopyalayın. /boot/Örnek olarak, kullanalım .
  • Bu bölüme bir bootloader kurun ve onu syslinux dizinine yönlendirin.
    extlinux --install /boot/
  • Yapılandırmanın doğru olduğundan emin olun.

Öyleyse, MBR, extlinux.conf dosyasını okuyacak olan EXTLINUX'u başlatan önyüklenebilir bölüm boot yükleyicisini yükleyecektir.

Bazı adımlar gereksiz olabilir, ancak ne olduğu hakkında bir fikir sahibi olmak için gerekli adımları atmanın iyi olacağını düşünüyorum.

EXTLINUX'u severim. Yazılım böyle olmalı. Ne olduğunu gerçekten anlayabilir ve anlayabilirim ve bunu kullanarak bilgisayarlarla ilgili yeni bir şey öğrendim.


Güzel Rolf, teşekkürler. Demek ikinizin de ince ayar yapmanıza gerek /boot/extlinux/extlinux.confyok? /boot/extlinux/extlinux.confDosyanızın içeriği nedir ?
xpt

Rica ederim. Benim durumumda özel bir yükleme yaptım ve conf dosyasını düzenledim. Bunun için extlinux sitesinde bir referans var. Ancak bu durumda çekirdeğinizi her güncellediğinizde conf dosyasını güncellemeniz gerekir. Bu yüzden eğer mümkünse otomatik bir yol kullanmak daha iyidir. Buna henüz yeterince bakmadım.
Rolf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.