เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

การบูทเครือข่ายบนระบบโดยใช้เฟิร์มแวร์ U-Boot ประกอบด้วยสามขั้นตอน: a) การกำหนดค่าเครือข่าย b) การโหลดอิมเมจ (เคอร์เนล/ramdisk เริ่มต้น/dtb) ลงในหน่วยความจำ และ c) การรันโค้ดที่โหลดก่อนหน้านี้จริง ๆ

ก่อนอื่น คุณต้องกำหนดค่าเครือข่าย โดยอัตโนมัติผ่าน DHCP โดยเรียกใช้


setenv ออโต้โหลดไม่มี dhcp


หรือด้วยตนเองโดยการตั้งค่าตัวแปรสภาพแวดล้อมหลายตัว


setenv ipaddr setenv netmask

setenv เซิร์ฟเวอร์ip setenv dnsip

setenv gatewayip


หากต้องการ คุณสามารถทำให้การตั้งค่าเหล่านี้ถาวรโดยเรียกใช้


บันทึก


หลังจากนั้น คุณต้องโหลดอิมเมจ (เคอร์เนล/เริ่มต้น ramdisk/dtb) ลงในหน่วยความจำ ทำได้โดยใช้คำสั่ง tftpboot ซึ่งจะต้องมีที่อยู่สำหรับเก็บภาพไว้ในหน่วยความจำ น่าเสียดายที่แผนที่หน่วยความจำอาจแตกต่างกันไปในแต่ละระบบ ดังนั้นจึงไม่มีกฎทั่วไปที่สามารถใช้ที่อยู่นี้ได้


ในบางระบบ U-Boot จะกำหนดชุดของตัวแปรสภาพแวดล้อมไว้ล่วงหน้าด้วยที่อยู่การโหลดที่เหมาะสม: kernel_addr_r, ramdisk_addr_r และ fdt_addr_r คุณสามารถตรวจสอบว่าถูกกำหนดโดยการเรียกใช้หรือไม่


การพิมพ์ kernel_addr_r ramdisk_addr_r fdt_addr_r


หากไม่ได้กำหนดไว้ คุณต้องตรวจสอบเอกสารของระบบเพื่อหาค่าที่เหมาะสมและตั้งค่าด้วยตนเอง สำหรับระบบที่ใช้ Allwinner SunXi SOCs (เช่น Allwinner A10 ชื่อสถาปัตยกรรม “sun4i” หรือ Allwinner A20 ชื่อสถาปัตยกรรม “sun7i”) คุณสามารถใช้ค่าต่อไปนี้ได้:


setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000


เมื่อกำหนดที่อยู่สำหรับโหลดแล้ว คุณสามารถโหลดรูปภาพลงในหน่วยความจำจากเซิร์ฟเวอร์ tftp ที่กำหนดไว้ก่อนหน้านี้ได้ด้วย


tftpboot ${kernel_addr_r} tftpboot ${fdt_addr_r}

tftpboot ${ramdisk_addr_r}


ส่วนที่สามคือการตั้งค่าบรรทัดคำสั่งเคอร์เนลและรันโค้ดที่โหลดจริง U-Boot ส่งผ่านเนื้อหาของตัวแปรสภาพแวดล้อม "bootargs" เป็นบรรทัดคำสั่งไปยังเคอร์เนล ดังนั้นพารามิเตอร์ใดๆ สำหรับเคอร์เนลและโปรแกรมติดตั้ง - เช่น อุปกรณ์คอนโซล (ดูหัวข้อ 5.3.1) หรือตัวเลือกก่อนหน้า (ดูส่วนที่ 5.3.2 .XNUMX และภาคผนวก B) - สามารถตั้งค่าได้ด้วยคำสั่งเช่น


setenv bootargs console=ttyS0,115200 rootwait ตื่นตระหนก=10


คำสั่งที่แน่นอนในการรันโค้ดที่โหลดก่อนหน้านี้ขึ้นอยู่กับรูปแบบรูปภาพที่ใช้ ด้วย uImage/uInitrd คำสั่งคือ


bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} บูต


และด้วยอิมเมจ Linux ดั้งเดิม มันคือ


bootz ${kernel_addr_r} ${ramdisk_addr_r}:${ขนาดไฟล์} ${fdt_addr_r}


หมายเหตุ: เมื่อทำการบูทอิมเมจ linux มาตรฐาน สิ่งสำคัญคือต้องโหลดอิมเมจ ramdisk เริ่มต้นหลังจากเคอร์เนลและ dtb เนื่องจาก U-Boot ตั้งค่าตัวแปรขนาดไฟล์เป็นขนาดของไฟล์สุดท้ายที่โหลด และคำสั่ง bootz ต้องการขนาดของอิมเมจ ramdisk ให้ทำงานได้อย่างถูกต้อง ในกรณีของการบูทเคอร์เนลเฉพาะแพลตฟอร์ม เช่น เคอร์เนลที่ไม่มีโครงสร้างอุปกรณ์ เพียงข้ามพารามิเตอร์ ${fdt_addr_r}


5.2 การเข้าถึง

ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: