การติดตั้งเริ่มต้นจาก USB - ตำแหน่งเริ่มต้น


12

หลังจากจัดการเพื่อให้ Fedora ISO สร้างใหม่ได้สำเร็จ (สำหรับแท่ง USB) หลังจากเพิ่มไฟล์ kickstart ( /server/548405/ ) ตอนนี้ฉันมีปัญหาในการค้นหาไฟล์ kickstart บนสื่อ USB .

เมื่อสิ่งนี้ทำจาก CDROM คุณสามารถเริ่มต้นได้ง่ายๆโดยการเพิ่มพารามิเตอร์นี้เพื่อบูต:

linux ks=cdrom

สิ่งนี้จะเริ่มต้น (ให้ไฟล์ kickstart ชื่อ ks.cfg และอยู่ในรูทของดิสก์)

ตอนนี้เห็นได้ชัดว่าสิ่งนี้จะแตกต่างกันสำหรับไดรฟ์ USB ดังนั้นจากการวิจัยของฉันฉันสันนิษฐานว่าบรรทัดนี้จะทำงาน:

linux ks=hd:sdb1:/ks.cfg

เห็นได้ชัดว่านี่ไม่ได้ผล ฉันได้รับข้อผิดพลาดแจ้งให้ฉันทราบว่าไดรฟ์นี้ติดตั้งแล้วและไม่สามารถติดตั้งใหม่ได้

แก้ไข: ข้อความผิดพลาดจริง:

mount: /dev/sdb1 is already mounted or /run/install/tmpmnt0 busy
Warning: Can't get kickstart from /dev/sdb1:/ks.cfg

เพื่อทดสอบว่าซินแทกซ์ถูกต้องฉันวางไฟล์ kickstart บนอุปกรณ์ USB ตัวอื่นและโหลดคำสั่งเดียวกันเพื่อคว้า ks.cfg จากตำแหน่งใหม่:

linux ks=hd:sdc1:/ks.cfg

สิ่งนี้ใช้งานได้ (มีการติดตั้ง USB sticks ตามลำดับบูต -> sdb1, kickstart -> sdc1) การติดตั้งจะเริ่มต้นขึ้นและทำให้การติดตั้งเสร็จสมบูรณ์โดยไม่มีปัญหา เห็นได้ชัดว่าการใช้ไดรฟ์ปากกา 2 อันค่อนข้างน่าผิดหวังและไม่น่าเชื่อถือ

มีวิธีแก้ไขไหม?


คุณได้ลองks=cdromใช่มั้ย?
Michael Hampton

ใช่ฉันทำไปแล้ว แต่ไม่พบไฟล์ kickstart
dooffas

คุณลองใช้ linux ks = hd: sbd1 / ks.cfg แล้วหรือยัง
Archemar

ขั้นตอนที่อธิบายไว้ที่นี่เป็นขั้นตอนที่ฉันใช้ในการสร้างคีย์ USB ของฉัน
Vitalii

คำตอบ:


4

ฉันได้ลองทุกอย่างแล้ว แต่ดูเหมือนว่ามันจะใช้งานได้: ใส่ ks.cfg เข้าไปใน initrd ดังนั้นขั้นตอนด้านล่างแยก initrd เพิ่ม ks.cfg ในนั้นและสร้างมันขึ้นมาใหม่ ทดสอบกับ CentOS7

ก่อนติดภาพ. iso ดั้งเดิมบนพีซีของคุณและคัดลอกเนื้อหาใน tmp /

จากนั้น

#Keep the original file
cp -ai tmp/isolinux/initrd.img initrd.img.orig
mkdir irmod
cd irmod

#Extract initrd in irmod/
xz -d < ../tmp/isolinux/initrd.img | cpio --extract --make-directories --no-absolute-filenames

#Add the ks.cfg in there
cp ../tmp/ks.cfg .

# Recreate the initrd.img inside isolinux/
find . | cpio -H newc --create | xz --format=lzma --compress --stdout > ../tmp/isolinux/initrd.img

#cleanup
cd ..
rm -r irmod

# Add  ks=file:/ks.cfg to the boot parameters in isolinux.cfg. you can do it by hand, this is an example for our own isolinux.cfg
sed -s -i 's|ks=.*ks\.cfg ksdevice=link|ks=file:/k1.cfg|' ../tmp/isolinux/isolinux.cfg ../isolinux.cfg

จากนั้นดำเนินการสร้างภาพตามปกติ:

cd tmp/

imgname="inaccess-centos7-ks1-v1.iso"
xorriso -as mkisofs -R -J -V "CentOS 7 x86_64" -o "../${imgname}" \
        -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4  \
        -boot-info-table -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin .
cd ..

นี่เป็นสิ่งเดียวกับที่ฉันทำในบทความที่เชื่อมโยง (สร้างใหม่ Fedora 19 ISO เพิ่ม Kickstart สำหรับการติดตั้ง USB) ขอบคุณสำหรับการตอบกลับของคุณ.
dooffas

7

ฉันสามารถแก้ไขปัญหานี้ได้โดยทำสิ่งต่อไปนี้:

  • วางไฟล์ kickstart ที่ด้านบนของisolinuxไดเรกทอรีและตรวจสอบให้แน่ใจว่ามีชื่อks.cfg
  • isolinux.cfgไฟล์ของฉันมีลักษณะเช่นนี้:

    label linux
      menu label ^Install CentOS 7
      kernel vmlinuz
      append initrd=initrd.img inst.ks=hd:LABEL=CentOS\x207\x20x86_64:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
    

การใช้ฉลากของไดรฟ์เมื่อทำการอ้างอิงks.cfgทำให้ภาพ iso ที่ได้นั้นเป็นแบบพกพามากขึ้น (สามารถเปลี่ยนเป็นไดรฟ์ USB ที่สามารถบู๊ตได้)


2

วิธีที่ฉันชอบคือใช้ UUID เพราะมันเสถียร

ฉันใช้เพนไดรฟสองตัวอันดับแรกกับ CentOS อันดับที่สองเริ่มต้นด้วยการกระตุ้น หลังจากบันทึก kickstart บน pendrive ตัวที่สองฉันตรวจสอบ UUID ใน linux ด้วยคำสั่ง blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

และหลังจากนั้นฉันก็ใช้มันในหน้าการติดตั้ง: ks = hd: UUID = 885E: 0BD1: /ks.cfg

มันได้ผลจริงๆ!


bu ไม่มั่นคงแบบพกพา
Ricardo Cristian Ramirez

1

คุณต้องชี้ไปที่ / sda1 เพราะเมื่อคุณบูตจาก USB sda คือ USB, sdb เป็นฮาร์ดดิสก์ตัวแรกและอื่น ๆ


ไม่มันไม่ได้เป็นอย่างนั้นเสมอไป
sivann

0

ตอนนี้คุณมีพาร์ติชั่นหนึ่งอันในแท่ง USB ขนาดอิมเมจ ISO เพียงแค่สร้างพาร์ติชันอื่นบนแท่ง USB โดยใช้พื้นที่ที่เหลือจัดรูปแบบและวางไฟล์เริ่มต้นของคุณที่นั่น

UPD: ลองfdiskเนื่องจากpartedดูเหมือนว่าจะไม่ทำงานในกรณีนี้

UPD1: iso ต้องรับด้วย xorriso

UPD2: ดูhttps://serverfault.com/a/551307/134234


ฉันได้ลองแล้วโปรดดูโพสต์อื่น ๆ ของฉัน: serverfault.com/questions/549158
dooffas

@dooffas ฉันเห็นมันคุณไม่ได้โชคดีกับ gparted คุณลอง fdisk จริงๆเหรอ? ฉันสร้างกรณีคุณด้วยไดรฟ์ข้อมูล lvm และอย่างน้อย fdisk สร้างพาร์ติชันที่สองอย่างสำเร็จ
Veniamin

ฉันลอง fdisk แต่มันไม่ได้อ่านตารางพาร์ทิชันอย่างถูกต้อง มันคิดว่าพาร์ติชั่นที่เก็บอิมเมจ Fedora นั้นใช้เวลาเกือบ 8GB ซึ่งไม่เป็นความจริง ดูเหมือนว่าการเขียนอิมเมจ fedora ไปยังไดรฟ์ทำให้ตารางพาร์ติชันเสียหาย
dooffas

@dooffas ขออภัยในห้องปฏิบัติการของฉันฉันสร้าง iso ด้วย xorriso แต่ลืมที่จะบันทึกมัน โปรดหาการปรับปรุงของฉัน
Veniamin

มันไม่ทำงาน แม้ว่าหลังจากสร้างพาร์ติชันแล้วดิสก์ทั้งหมดจะถูกเมาท์โดยตัวติดตั้งและไม่สามารถใช้งานพาร์ติชันได้
sivann
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.