Syslinux ile USB üzerinde çoklu önyükleme


9

Üzerinde Ubuntu, Backtrack ve Mantra-OS (gördüğünüz gibi tüm ubuntu) ile çoklu önyükleme usb yapmaya çalışıyorum. Yaptığım adımlar bunlar:

sudo su
unmount /dev/sdb1                          # unmount the drive
mkfs.vfat -F 32 -n disqus /dev/sdb1        # Format the disk with vfat
syslinux -maf /dev/sdb1                    # Install syslinux and the mbr
mkdir /media/disqus                        # Mount for the disk
mount /dev/sdb1 /media/disqus
mkdir /media/disqus/syslinux               # Syslinux configuration folder
cp /usr/lib/syslinux/{vesamenu.c32,reboot.c32,poweroff.com} /media/disqus/syslinux          # Files needed for syslinux
mkdir /media/disqus/syslinux/iso           # A folder that will contain extracted isos
mkdir /media/disqus/syslinux/iso/ubuntu
mkdir /media/disqus/syslinux/iso/backtrack
mkdir /media/disqus/syslinux/iso/mantra-os

Bundan sonra, ilgili ISO'lardaki dosyaları yaptığım klasörlere bağladım ve kopyaladım:

mkdir /media/iso
mount -t iso9660 -o loop,ro /home/nizar/Destkop/ubuntu.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/ubuntu
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/backtrack.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/backtrack
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/mantra-os.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/mantra-os
umount /media/iso/
rmdir /media/iso/

Bundan sonra Ayar dosyası üzerinde doldurulmuş syslinux.cfgiçinde /media/diqus/syslinuxbununla:

DEFAULT Backtrack
PROMPT 0
allowoptions 0
TIMEOUT 100
UI vesamenu.c32

MENU TITLE Disqus: The Ultimate Disk
MENU BACKGROUND anon1.png

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

MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 18
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29

LABEL Backtrack
    MENU LABEL Backtrack
    kernel iso/backtrack/casper/vmlinuz
    append initrd=iso/backtrack/casper/initrdf.gz file=/cdrom/preseed/custom.seed boot=casper quiet splash --

LABEL Ubuntu
    MENU LABEL Ubuntu
    kernel iso/ubuntu/casper/vmlinuz
    append initrd=iso/ubuntu/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --

LABEL Mantra-OS
    MENU LABEL Mantra-OS
    kernel /mantra-os/casper/vmlinuz
    append initrd=/mantra-os/casper/initrd.lz file=/cdrom/preseed/xubuntu.seed boot=casper quiet splash --

LABEL Reboot
MENU LABEL Reboot
COM32 reboot.c32

LABEL Power Off
MENU LABEL Power Off
COMBOOT poweroff.com

(anon1.png: 640x480 8 bit png / medya / disqus / syslinux /)

Şimdi her şey yolunda gidiyor ve önyükleme yapabiliyorum, ben syslinux menüsü var ve hatta yük vmlinuz ve initrd! OS aslında yükleniyor (açılış ekranı var) ama sonra hata var (Busybox hakkında bir şey):

 (initramfs) unable to find a medium containing a live file system

Sorunun ne olduğundan tam olarak emin değilim ama bunun göreli yollar ve CDROM "olayı" ile ilgili olduğunu düşünüyorum. Birçoğunu test ettim (göreceli ve mutlak olsa bile) ama hiçbir şey işe yaramıyor.

Cevap MultiBootUSB, MultiSystem, Yummi veya başka herhangi bir araç hakkında olmamalıdır; ayrıca grub veya grub2 veya başka bir önyükleyici ile ilgili olmamalıdır. Yaklaşımımı işler hale getirmek istiyorum.


Neden Grub2 olmasın? ISO'ları çıkarmanızı gerektirmediği için bu daha kolay olurdu.
Zoredache

@Zoredache Zaten grub2 ile yaptım ama syslinux ve memdisk olmadan istiyorum.
pr.nizar

1
PenDriveLinux Multiboot yapmanız gereken her şeyi yapacaktır. Bu yüzden bunun bir dupe olduğunu söyledim.
James Mertz

Yanıtlar:


1

Aslında bunu çözdüm ve işe yarıyor! Ignore_uuid ile birlikte: live-media-path = yol / to / casper / klasörünün adında bir hile kodu buldum. Böylece değiştirilmiş çalışma kodu:

DEFAULT Backtrack
PROMPT 0
allowoptions 0
TIMEOUT 100
UI vesamenu.c32
MENU TITLE Disqus: The Ultimate Disk
MENU BACKGROUND anon1.png
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
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 18
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29

LABEL Backtrack
MENU LABEL Backtrack
kernel /syslinux/iso/backtrack/casper/vmlinuz
append initrd=/syslinux/iso/backtrack/casper/initrdf.gz live-media-path=/syslinux/iso/backtrack/casper ignore_uuid boot=casper quiet splash --

LABEL Ubuntu
MENU LABEL Ubuntu
kernel /syslinux/iso/ubuntu/casper/vmlinuz
append initrd=/syslinux/iso/ubuntu/casper/initrd.lz live-media-path=/syslinux/iso/ubuntu/casper ignore_uuid boot=casper quiet splash --

LABEL Mantra-OS
MENU LABEL Mantra-OS
kernel /syslinux/iso/mantra-os/casper/vmlinuz
append initrd=/syslinux/iso/mantra-os/casper/initrd.lz live-media-path=/syslinux/iso/mantra-os/casper ignore_uuid boot=casper quiet splash --

LABEL Reboot
MENU LABEL Reboot
COM32 reboot.c32

LABEL Power Off
MENU LABEL Power Off
COMBOOT poweroff.com

Çok teşekkürler!

Not: Diğer dağıtımlar için Yumi'nin GitHub'daki deposunda syslinux yapılandırma dosyalarını arayabilirsiniz: https://github.com/bwnickle/YUMI/blob/master/src/menu/


Aferin. pr.nizar. Sadece kayıt için, ignore_uuidatlanabilir; ayrıca, minimum dosya setini CD'den kopyalamak isteyen herkes için sfxpt.wordpress.com/2014/02/18/… adresine bakın . Yani rsync -vuaR .disk casper /mnt/usbpen/boot/lub1310.
xpt

0

Tamam, alternatif çözümlerle ilgilenmediğiniz için, kitap sürecinin nasıl çalıştığını anlamak için daha fazla zaman ayırmanız gerekecek.

Bootloader çekirdeği ve initrd'i belleğe yükler ve ardından yürütmeyi çekirdeğe aktarır. Bu noktadan sonra, tüm yürütme initrd içindeki init / upstart işlemine ve ilk olarak çağrılan tüm komut dosyalarına aktarılır. İnitrd içindeki komut dosyaları, dosya sistemi veya nereden yüklendiği göreceli pathos hakkında hiçbir şey bilmiyor. Bu dizindeki bazı büyük caspar dosya sistemine referans veremezler.

Livecds initrd, dosya sistemini bulmalarına izin veren komut dosyaları içerir. Ubuntu sistemi için, görebildiği her sürücüdeki bilinen her dosya sisteminin kökündeki belirli bir klasördeki belirli bir dosyayı arar. Bir şey bulamazsa, bahsettiğiniz hatayı alırsınız.

ISO-SCANSeçeneği ekleme satırınızın bir parçası olarak iletebilirsiniz . Bu argüman, komut dosyasına dosya sistemlerini taramak yerine bir ISO geri döngü bağlayacağını ve içindeki dosyaları okuyacağını söyler.

Sadece tanımladığınız bazı rastgele dizindeki dosyaları bırakmak muhtemelen desteklenmez. Son zamanlarda livecd initrd komut dosyalarına bakmadım, ancak ayıklanan dosyalar için rastgele bir dizin belirtmenize izin veren seçeneklerin farkında değilim.

Geliştiriciler tarafından henüz tasarlanmamış bir davranış istiyorsanız, kök dosya sistemini yüklemek için kendi komut dosyalarınız ve araçlarınızla initrd'lerinizi yeniden oluşturmanız gerekecektir. ISO'yu dosya sisteminde bırakmak ve seçeneği kullanmak, iso-scan/filename=$isofileinitrd'inizi yeniden oluşturmak zorunda kalmadan kullanabileceğiniz yöntemdir.


Sorun BT5R3 hala iso tarama / dosya adı parametresini desteklemiyor olmasıdır ... Ben casper / initrd.gz dosyasını yama gerekir. this.is.thoughtcrime.org.nz/multi-boot-bt5-from-usb-with-grub2 Sorunum için başka çözümler var mı?
pr.nizar

Bu soruyu orijinal sorunuza ekleseydiniz, sorunuzun kopya olmasıyla ilgili çok daha az sorun olurdu. Neredeyse kesin bir çözüm var, ama şu anda bunu bilmiyorum.
Zoredache

Unetbootin yaptığı aynı şeyleri yapabilirim ama sorun yaptığım gibi aynı dizin yapısı olmayacak .. ( youtube.com/watch?v=MH-khdiXqYs )
pr.nizar
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.