วันพุธที่ 4 กรกฎาคม พ.ศ. 2550

การอัพเกรดแล็ปท็อป OLPC

การอัพเกรดซอฟต์แวร์ในแล็ปท็อป OLPC มี 2 ส่วน คือ firmware และ OS โดยล่าสุด firmware เป็นรุ่น Q2C18 และ OS stable เป็นรุ่น build 406.15 ถ้าแบบ unstable เป็นรุ่น build 485 ซึ่งอันหลังจะเปลี่ยนรุ่นบ่อยมาก เกือบจะวันละครั้งได้

การอัพเกรดแบบง่ายที่สุด และปลอดภัยสุด คือใช้ระบบ AutoUpdate ซึ่งใช้วิธีทำ USB Drive ขนาดอย่างน้อย 500 MB สำหรับบูตเพื่ออัพเกรดอัตโนมัติ มีขั้นตอนคือ

  1. ดาวน์โหลด http://olpc.download.redhat.com/olpc/autoupdate/olpc406_c11.zip หรือใหม่กว่า ถ้ามี

  2. ระหว่างที่รอดาวน์โหลด ก็เตรียม USB Drive โดยต้องเป็น vfat แบบที่ใช้บน windows ได้นั่นแหละ ควรมีเพียง partition เดียว เป็น partition 1 ถ้าอยู่บน linux จะเห็นเป็น /dev/sda1 (หรือ /dev/sdb1 ประมาณนี้) ถ้ามีข้อมูลอยู่ก็เตรียมพื้นที่ให้ว่างประมาณ 300 MB

  3. เมื่อดาวน์โหลดเสร็จ ก็แตกแฟ้มไปใส่ที่รูทของ USB Drive

  4. unmount แล้วนำไปเสียบที่ช่อง USB ของแล็ปท็อป แล้วเปิดเครื่อง เท่านี้ก็จะบูตได้แล้ว และมันจะตรวจสอบและอัพเกรด OS และ firmware ตามลำดับ โดยถ้าซอฟต์แวร์ในเครื่องเท่ากันหรือใหม่กว่า มันจะไม่อัพเกรด



คนที่เคยเล่นกับการบูตด้วย USB อาจจะสงสัยว่า มันบูตได้ไง เพราะไม่เห็นติดตั้งบูตโหลดเดอร์เลย ที่มันบูตได้เพราะแล็ปท็อปนี้ใช้ OpenFirmware แล้วเค้าเขียน script ใน firmware ให้มันหา script ชื่อ /boot/olpc.fth ใน usb และ nandflash อีกที แล้วรันตัวที่เจอก่อนตามลำดับ (อันนี้สำหรับ firmware รุ่น Q2C11 และต่ำกว่า ส่วนตัว Q2C18 เดี๋ยวจะกล่าวถึงทีหลัง)

ถ้าต้องการอัพเกรด OS เป็นรุ่นอื่น ที่ไม่ใช่รุ่นที่มาพร้อม AutoUpdate เช่นจะลองอัพเกรดเป็นรุ่น build 485 ก็สามารถทำได้โดยดาวน์โหลด image รุ่น build 485 แล้วคัดลอกไปใส่ใน USB Drive เป็นชื่อ /boot/nand485.img คือชื่อต้องขึ้นต้นด้วย nand และตามด้วยตัวเลข build ลงท้ายด้วย .img และถ้าใช้ firmware รุ่นใหม่กว่า Q2C11 ต้องมีแฟ้ม crc ด้วย ทำได้โดยดาวน์โหลด crc สำหรับ build 485 แล้วคัดลอกไปใส่ใน USB Drive เป็นชื่อ /boot/nand485.crc จำไว้ว่าชื่อตรงกัน แต่เปลี่ยน .img เป็น .crc

จากนั้นให้แก้แฟ้ม /boot/olpc.fth ตรงช่วงบนๆ จาก

\ OLPC Boot Script for updating the OS and OFW images

d# 406 constant new-os-build#
h# c11 constant new-fw-version#

เป็น

\ OLPC Boot Script for updating the OS and OFW images

d# 485 constant new-os-build#
h# c11 constant new-fw-version#


เท่านี้ก็จะสามารถอัพเกรด OS เป็นรุ่นใหม่ได้

ทำนองเดียวกัน ถ้าต้องการอัพเกรด firmware เป็นรุ่นใหม่ เช่นใน AutoUpdate มันให้มาเป็นรุ่น c11 แต่ในหน้า wiki ของ OLPC มีรุ่น c18 แล้ว ก็ทำคล้ายๆ กันคือ ดาวน์โหลด http://dev.laptop.org/pub/firmware/q2c18/q2c18.rom แล้วคัดลอกไปที่ USB Drive เป็นชื่อ /boot/q2c18.rom แล้วแก้แฟ้ม /boot/olpc.fth ตรงช่วงบนสุด จาก

\ OLPC Boot Script for updating the OS and OFW images

d# 485 constant new-os-build#
h# c11 constant new-fw-version#

เป็น

\ OLPC Boot Script for updating the OS and OFW images

d# 485 constant new-os-build#
h# c18 constant new-fw-version#


แล้วนำไปบูตแล็ปท็อป OLPC ใหม่ ก็จะอัพเกรดได้

การบังคับให้ติดตั้ง OS รุ่นเดียวกัน หรือต่ำกว่า
ตามปกติจะติดตั้ง OS รุ่นเดียวกันหรือต่ำกว่าไม่ได้ เพราะ script จะเช็ครุ่นก่อน ดังนั้นต้องหลอก script ว่า OS ในเครื่อง เป็นรุ่นต่ำกว่า โดยแก้ไขช่วงต้นๆ แฟ้ม /boot/olpc.fth ให้เป็นดังนี้

\ OLPC Boot Script for updating the OS and OFW images

d# 485 constant new-os-build#
h# c18 constant new-fw-version#
d# 0 constant os-build#

คือตั้งค่า os-build ให้เป็น 0 ทำให้เวลาเปรียบเทียบแล้วจะน้อยกว่า new-os-build เสมอ ดังนั้นมันจะ flash image ของ OS ลงไปทุกครั้ง ในทางปฏิบัติ สามารถเก็บ OS image หลายๆ รุ่นไว้ใน USB Drive ได้ แล้วแก้รุ่นที่ต้องการติดตั้งใน /boot/olpc.fth เอา

ไม่มีความคิดเห็น :

โพสต์ความคิดเห็น