การสร้างอิมเมจการ์ด SD ที่เตรียมไว้ล่วงหน้า


19

สำหรับโครงการที่ฉันทำงานอยู่ฉันต้องการสร้างภาพ "หุ้น" โดยยึดตาม Raspbian ที่ฉันสามารถติดตั้งใน Pis ได้หลายตัว

เป็นการดีที่ฉันต้องการที่จะสามารถ (ในคอมพิวเตอร์ของฉัน) ถ่ายภาพ Raspbian ได้รับแพคเกจบางอย่างแก้ไขการกำหนดค่าบางอย่างแล้วสร้างและภาพ SD card จากที่จะวาง Pis ของฉัน

มีวิธีที่ง่ายหรือแนะนำในการทำเช่นนี้? ข้อผิดพลาดใด ๆ ที่ฉันอาจพบ?

ฉันกระตือรือร้นที่จะหลีกเลี่ยงการจิ้มด้วยตนเองด้วยไพแล้วโคลนภาพนั้น สันนิษฐานว่า Raspbian ทำในลักษณะที่ไม่มีใครคลิกปุ่มด้วยตนเองใน Pi ฉันต้องการทำอย่างนั้นถ้าทำได้

ฉันต้องการสร้างบางสิ่งที่สามารถสร้างขึ้นโดยอัตโนมัติบนเซิร์ฟเวอร์รวมอย่างต่อเนื่อง - ฉันไม่ต้องการกระบวนการสร้างที่เกี่ยวข้องกับ "เขียนการ์ด SD ใส่ไว้ใน Pi" เพราะฉันต้องการเป็นเบียร์เพื่อสร้างภาพโดยไม่มี การเข้าถึง Raspberry Pi ทางกายภาพ


3
อาจมีประโยชน์: ฉันจะใส่ภาพ distro Raspberry Pi Linux ได้อย่างไร - จดบันทึกบรรทัดที่เน้นในคำตอบที่ยอมรับ"ถ้าคุณเปลี่ยนแปลงสิ่งใดการเปลี่ยนแปลงเหล่านั้นจะรวมอยู่ในไฟล์. img" แต่นี้ไม่ได้ให้โอกาสที่จะใช้apt-get; วิธีที่ง่ายที่สุดในการทำเช่นนั้นคือการใช้ VM และrsyncด้วยอิมเมจที่ติดตั้งเหมือนกับที่ใช้ในการเริ่มต้น VM (เนื่องจากอิมเมจ VM ตัวเองไม่ดีสำหรับเรื่องนี้) แต่ฉันคิดว่าตัวเลือก VM เดียวที่นี่คือ QEMU ซึ่ง AFAICT เป็น PITA
goldilocks

อีกวิธีคือการบูตแบบเน็ต
lexu

Win32DiskImager มีฟังก์ชั่นอ่านคุณได้ลองแล้วหรือยัง?
งชุนโฮ

คำตอบ:


6

รากฐาน Raspberry Pi ใช้ชุดของสคริปต์ทุบตีโดยอัตโนมัติ QEMU เพื่อสร้างภาพของพวกเขา คุณยังควรพิจารณาโครงสร้างของ "มาตรฐานอุตสาหกรรม" และ Yocto ด้วย

https://github.com/RPi-Distro/pi-gen

http://cellux.github.io/articles/diy-linux-with-buildroot-part-1/


ถ้า OP กำลังมองหาการสร้างอิมเมจที่เป็นมาตรฐานอุตสาหกรรม .. ใช่นั่นคือหนทางที่จะไป แต่มันเป็นช่วงการเรียนรู้ที่ยิ่งใหญ่และฉันก็หวังว่าไม่มีผู้เล่นคนใดลงมือทำเส้นทางนั้น
Piotr Kula

1
ดูเหมือนว่าสิ่งที่ฉันกำลังมองหา! มีคำแนะนำเกี่ยวกับการใช้สิ่งนี้หรือไม่? build.sh ดูเหมือนว่าจะถือว่าตัวแปรของสภาวะแวดล้อมถูกตั้งค่าไว้
Andy Smith

อาจถูกครอบคลุมโดย # 4 ภายใต้สิ่งที่ต้องทำ ;) ไม่ได้รับการสัมผัสในไม่กี่เดือนดังนั้นทั้งผู้ที่เกี่ยวข้องกำลังยุ่งอยู่กับสิ่งอื่น ๆ หรือมีความสนใจในมัน
goldilocks

@goldilocks ดังนั้นนี่ไม่ได้อยู่ที่ภาพ rasbian ฐานมาจากไหน?
Andy Smith

3
ฉันจะซื่อสัตย์และบอกว่าการแสดงผลของฉันคือคุณกำลังดำเนินการด้าน Y ของปัญหา XYด้วยความแข็งแรงมากเกินไป - มันบอกเป็นนัย ๆ ว่าคุณคิดว่าวิธีที่ง่ายกว่า (เพียงแค่ตั้งค่ารูปภาพบน pi ซึ่งสามารถทำได้จาก คอมพิวเตอร์ผ่านการเข้าสู่ระบบจากระยะไกลและภาพตัวเอง tweaked โดยการติดตั้งซึ่งสามารถทำได้บนพีซีและทั้งหมดนี้สามารถอัตโนมัติด้วยการเขียนสคริปต์) เป็นเรื่องยุ่งยากมากเกินไปและเพื่อให้คุณได้วางความหวังในวิธีการที่เป็นจริงมาก ความยุ่งยากมากขึ้น
goldilocks

5

โครงการNard SDKของฉันมีคุณสมบัติมากมายที่คุณต้องการ ไม่ใช่ Raspbian แต่มีการจำลองไบนารี Raspbian และอยู่ใกล้มาก ด้วย Nard คุณสามารถสร้างทุกสิ่งบนพีซีและกระบวนการนี้รวดเร็วและทำซ้ำได้ ทุกอย่างเป็นสคริปต์และสามารถทำได้โดยการรวมกันอย่างต่อเนื่องทุกคืน
http://www.arbetsmyra.dyndns.org/nard/


0

ในความคิดของฉันทำมันในแบบที่คุณแนะนำ (การติดตั้งการทำการแก้ปัญหาสำหรับการปรับปรุงและการกำหนดค่าอื่น ๆ ) นำเสนอความท้าทายมากขึ้นกว่าการแก้ปัญหาที่เกิดขึ้นจริง แน่นอนว่ามันอาจสนุกที่จะทำในแบบของคุณหากคุณสนใจ แต่วิธีที่ดีที่สุดและง่ายที่สุดอาจเป็นวิธีที่คุณหลีกเลี่ยง

ฉันแนะนำให้คุณใช้ Pi และทำสิ่งที่คุณต้องทำจากนั้นจึงสร้างภาพของการ์ด SD จากนั้นใช้ภาพนั้นใน Pis อื่นของคุณเนื่องจากภาพนั้นได้รับการกำหนดค่าแล้ว

หมายเหตุ: ฉันจะสมมติว่าคุณใช้ Raspbian ฉันจะสมมติว่าคุณเป็นแค่คนธรรมดาและไม่ใช่คนที่เตรียมภาพเป็นประจำ (เช่นมูลนิธิราสเบอร์รี่ปี่)


ขั้นตอนถ้าคุณทำคนจรจัดกับพี่ของคุณ:

  1. ดาวน์โหลดและติดตั้งอิมเมจระบบปฏิบัติการใหม่ที่คุณเลือก
  2. เสียบสายเคเบิลอีเธอร์เน็ต / เชื่อมต่อกับ WiFi
    • อาจสแกน LAN หากคุณไม่ทราบที่อยู่ IP ของ Pi ของคุณ
  3. ทำสิ่งต่างๆผ่าน SSH
    • apt-get update -y && apt-get upgrade เพื่ออัพเดตแพ็คเกจ
    • ความต้องการการกำหนดค่าส่วนบุคคลของคุณ
  4. สร้างภาพจากนั้นใช้ภาพนั้นสำหรับ Pis อื่น

ขั้นตอนหากคุณไม่ใช้คนจรจัดกับ Pi ของคุณ (ดูหมายเหตุด้านบน):

  1. ดาวน์โหลดอิมเมจระบบปฏิบัติการใหม่
  2. เมานต์อิมเมจโดยใช้คำแนะนำจาก/raspberrypi//a/13138/24224 (คุณต้องพิจารณาว่า OS / อิมเมจใดที่คุณมีเนื่องจากบางอันมีเลย์เอาต์ FS ที่แตกต่างกัน)
    • เตรียมเครื่องคิดเลข
  3. ค้นหาdebไฟล์สำหรับแต่ละแพ็คเกจที่คุณต้องการอัปเดตรวมถึงการอ้างอิงของพวกเขารวมถึงการพึ่งพา 'การพึ่งพาเหล่านั้นรวมถึงการพึ่งพา' การพึ่งพา 'เหล่านั้น apt-offlineเป็นเรื่องยุ่งยาก อ้างอิงถึงลิงค์นี้
    • จากนั้นหาวิธีติดตั้งแพ็กเกจเหล่านั้นทั้งหมดโดยไม่ต้องใช้ / tinkering กับ Pi ของคุณ apt-getจะไม่ทำงานครับ รายละเอียดไฟล์ที่นี่deb โชคดี.
  4. อัปเดต Pi เมล็ดและสิ่งของระดับต่ำโดยใช้เครื่องมือของ Hexxeh
  5. กำหนดค่าตามความต้องการของคุณ
  6. เขียนภาพที่ถูกดัดแปลงไปยังการ์ด SD Pis ของคุณ

ฉันไม่เห็นประโยชน์ใด ๆ ในการไม่ทำการแก้ไขกับ Pi ของคุณ

ตัดตัวเองหย่อนและคนจรจัดกับ Pi ของคุณ คุณต้องทำเพียงครั้งเดียว


แทบเป็นไปไม่ได้ที่จะรับโปรแกรมด้วยตนเองโดยการขึ้นต่อกันและมีการขึ้นต่อกันและมีการขึ้นต่อกันเป็นต้น แต่ถ้าคุณใช้ apt-get และบอกว่าคุณต้องการ VLC คุณจะทำอย่างไร apt-get install vlc - ใช่ - print- ยูริ ที่จะให้รายการลิงก์ เมื่อดาวน์โหลดเสร็จแล้วให้ใส่ไว้ใน / var / cache / apt / archives / partial แล้วรัน dpkg -i partial / *. deb เพื่อติดตั้ง ยิ่งไปกว่านั้นถ้าคุณได้รับ Synaptics มันมีตัวเลือกในการสร้างสคริปต์ดาวน์โหลดแพ็คเกจ เรียกใช้สคริปต์นั้นบนคอมพิวเตอร์ Linux และคุณได้รับแพ็คเกจของคุณ จากนั้นคุณสามารถติดตั้งพวกเขาด้วย synaptics อีกครั้ง
NULL

@NULLThen find a way to install all of those packages without using/tinkering with your Pi.
PNDA

@NULL เท่าที่ฉันรู้คุณสามารถใช้dpkgกับระบบเท่านั้นไม่ใช่ภาพที่เมาท์ นอกจากนี้ OP กำลังวางแผนที่จะใช้พีซีของเขา / เธอดังนั้น*.debไฟล์ที่คุณมีสำหรับสถาปัตยกรรมที่ผิดในตอนแรก (พีซีคือ x86 / x64, Pi คือ ARMv6 / v7)
PNDA

ตามที่ฉันระบุในคำถามของฉันฉันไม่ต้องการทำ 1 สำหรับ 2 นั่นฟังดูแล้ว :) อะไรที่ทำให้คุณคิดว่าคำแนะนำ @flakeshakes ยากกว่าข้อ 2
Andy Smith

@AndySmith ฉันจะพูดถึงความคิดเห็นของ goldilock:I'll be honest and say that my impression is you are pursuing the Y side of an XY problem with too much vigour -- it's implied you think the simpler method (just set up an image on a pi, which can be done from a computer via remote login, and the image itself tweaked by mounting, which can be done on a PC, and all of this can be automated with scripting) is too much hassle, and so you have put your hopes in a method that is actually much more hassle.
PNDA

0

(software) configuration managementผมคิดว่าสิ่งที่คุณกำลังมองหาเป็นชนิดของบางอย่าง ด้วยวิธีนี้คุณจะสามารถบูตอิมเมจหุ้นราสเบียนจากนั้นผลักดันการกำหนดค่าของคุณเอง (รวมถึงแพ็คเกจใหม่และสิ่งที่คล้ายกัน) มีระบบ SCM มากมาย ข้อเสียคือระบบเหล่านี้ส่วนใหญ่มีจุดประสงค์เพื่อสนับสนุนเครือข่ายขนาดใหญ่และอาจมีค่าใช้จ่ายสูงเกินไปสำหรับจุดประสงค์ของคุณ คุณต้องมีเซิร์ฟเวอร์การจัดเตรียมบางอย่างด้วย ที่นิยมมากที่สุด SCM ดูเหมือนจะเป็นหุ่นกระบอก , เชฟ , เบิ้ล บทความเพื่อให้คุณเริ่มต้น:

นี่เป็นคำตอบทั่วไป แต่ SCM เป็นทุ่งกว้าง บางทีนี่อาจคุ้มค่าที่จะขุดขึ้นอยู่กับแผนการของคุณ


Ansible ดูเหมือนว่าจะมีแนวโน้มเพราะมันเป็นแบบไม่ใช้เอเจนต์และคุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์แบบเต็มเพื่อเรียกใช้
duenni

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