ปิดใช้งานการขยายระบบไฟล์ชั่วคราวในระหว่างการบู๊ตครั้งแรก


13

ฉันต้องการสร้างภาพ Raspberry Pi ภายในองค์กรซึ่งใช้ Raspbian Lite ซึ่งได้รับการกำหนดค่าแล้วด้วยภาษาที่ถูกต้องเขตเวลาและอื่น ๆ ขออภัยสำหรับฉันภาพ Raspbian รุ่นปัจจุบันที่ปรับขนาดระบบไฟล์อัตโนมัติแล้วรีบูต

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

แก้ไขเพื่อชี้แจงผลกระทบควรย้อนกลับ; นั่นคือฉันจะต้องการให้ภาพที่กำหนดเองของฉันขยายในการบูตครั้งแรก


นี่อาจไม่ใช่ทางออกที่ดี แต่มีคุณพิจารณาใช้การ์ดขนาดเล็ก 4gb ซึ่งจะไม่เกิดปัญหาดังกล่าว
Steve Robillard

2
แนวคิดที่น่าสนใจ .. การเบิร์นการ์ดขนาดเล็กช่วย จำกัด การปรับขนาดได้อย่างมีประสิทธิภาพ ฉันต้องการโซลูชันโดยตรง แต่นี่เป็นทางเลือกที่เหมาะสม ขอบคุณ
patricktokeeffe

2
มันค่อนข้างน่ารำคาญ ฉันแน่ใจว่าสิ่งนี้จะทำผ่านสคริปต์การบูตด้วยตนเองแบบง่าย ๆ ตามที่raspi-configเรียกใช้ในการบู๊ตครั้งแรกและจะปิดการใช้งานได้ง่าย ฉันสามารถดูได้ แต่ฉันจะต้องดาวน์โหลดภาพใหม่ภาพสุดท้ายที่ฉันมีคือพฤษภาคม กลับมาตรวจสอบในอีกไม่กี่ชั่วโมง
goldilocks

คำตอบ:


13

มีกลไกสองส่วนที่รับผิดชอบเรื่องนี้ใน Raspbian น่าจะเป็นความคิดที่ดีที่สุดคือการดูแลทั้งสองส่วนหากเปิดใช้งาน

ที่แรกก็คือว่าต้นฉบับ/boot/cmdline.txtรวมถึงสิ่งนี้:

init=/usr/lib/raspi-config/init_resize.sh

หมายถึงสคริปต์มีเส้นทางที่บนพาร์ติชันรากซึ่งจะถูกนำมาใช้เป็นinitกระบวนการที่บูต โดยไม่ต้องบิตที่มันจะเริ่มต้นให้เป็นค่าที่สร้างขึ้นในเคอร์เนล/sbin/initซึ่งใน Raspbian เป็น symbolic link /lib/systemd/systemdไป

โดยการลบส่วนนั้นของcmdline.txtระบบควรบูตตามปกติ

สิ่งที่สคริปต์ทำคือปรับขนาดพาร์ติชันบนการ์ด SD นี่เป็นกระบวนการที่แตกต่างจากการปรับขนาดระบบไฟล์ในพาร์ติชัน1ซึ่งเป็นสิ่งที่เกิดขึ้นต่อไป

วิธีที่เกิดขึ้นคือระบบรีบูตทันทีตามปกติ (นั่นคือผ่าน systemd) และinit.dสคริปต์ถูกตั้งค่าให้เริ่มทำงานก่อนซึ่งควรถูกลบออกจากพาร์ติชันที่สอง:

/etc/init.d/resizefs_once

และลิงก์สัญลักษณ์ซึ่งควรถูกลบออก:

/etc/rc3.d/S01resizefs_once

คุณสามารถเก็บสำเนาไว้เพื่อใช้ในภายหลังได้หากต้องการ แต่raspi-configสามารถสร้างใหม่ได้อีกครั้งสำหรับคุณ (ไฟล์นั้นฝังอยู่ในraspi-configเชลล์สคริปต์) ถ้ามันทำงานได้จริงมันจะลบตัวเองดังนั้นมันจะไม่เกิดขึ้นอีก

สิ่งที่ยังทำคือปรับขนาดระบบไฟล์ในพาร์ติชันที่ปรับขนาดใหม่

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

หากคุณใช้raspi-configเพื่อขยายระบบไฟล์ในภายหลังพาร์ติชันจะปรับขนาดทันทีจากนั้นตั้งค่าสคริปต์เริ่มต้น (ตามที่กล่าวไว้แล้ว)

การแก้ไขcmdline.txtในพาร์ติชันแรกนั้นง่ายในคอมพิวเตอร์ทุกเครื่องเนื่องจากเป็นพาร์ติชัน VFAT การลบinit.dไฟล์ต้องการระบบที่สามารถเข้าถึงและแก้ไขระบบไฟล์ ext4

งานทั้งสองสามารถทำได้กับไฟล์ภาพแทนก่อนที่จะเบิร์นการ์ด ในการติดตั้งและปรับเปลี่ยนภาพ Raspbian บนระบบ GNU / Linux, ดูที่นี่ มีความเป็นขนาน Q & A สำหรับ Windows

สิ่งนี้สามารถย้อนกลับได้เช่นกัน แต่คุณจะต้องนำทั้งสองส่วนกลับมาใช้ใหม่ตามที่อธิบายไว้เนื่องจากส่วนแรกไม่รวมระยะที่สองโดยอัตโนมัติ


  1. แม้ว่าข้อความแสดงข้อผิดพลาดจากสคริปต์นั้นจะสร้างความสับสนให้กับเงื่อนไขเหล่านั้นโดยอ้างว่ามันล้มเหลวในการปรับขนาดระบบไฟล์รูทเมื่อสิ่งที่มันล้มเหลวที่จะทำจริง ๆ ก็คือปรับขนาดพาร์ติชันด้วยระบบไฟล์รูท การทำอย่างใดอย่างหนึ่งไม่สำเร็จโดยอัตโนมัติ

1
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Ghanima

@ goldilock ปิดการใช้งานinit=/usr/lib/raspi-config/init_resize.shจากการ/boot/cmdline.txtทำงานบนเพื่อน Ubuntu ด้วยและดูเหมือนว่าทั้งหมดเพียงพอด้วยตัวเอง ฉันมีภาพคู่อูบุนตู 4gb ประกายบน sdcard 32gb และถือขนาดพาร์ทิชันที่ขนาดภาพต้นฉบับ ยัง/etc/init.d/resizefs_onceและ/etc/rc3.d/S01resizefs_onceไม่อยู่หลังจากการบูตครั้งแรกบน Ubuntu เพื่อน
sith

เพียงเพื่อยืนยันจะคืนค่าทั้งcmdline.txtและและinit.dและrc3.dไฟล์และลิงค์อนุญาตให้บูตต่อไปเพื่อปรับขนาดด้วยตัวเองหรือฉันจะเรียกใช้raspi-configและเรียกใช้ด้วยตนเอง?
Oxwivi

@Oxwivi มันควรใช่ ฉันได้ชี้แจงโพสต์นี้ทั้งหมดและแสดงความคิดเห็นอย่างชัดเจนเกี่ยวกับเรื่องนั้นในตอนท้าย
goldilocks

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