The Story of LFS - part 3 : RIP. LFS

สวัสดีครับ  หลังจาก part 2 กว่าจะมาต่อ part 3 นี่ก็นานมากเลยครับ -0-
เล่นได้ว่าเขียนกันข้ามเทอมเลยทีเดียว

ตอนที่ผมนั่งเขียน part 3 นี่ก็ตอนขึ้นปี4แล้วครับ แต่เรื่อง LFS ที่ทำนี่มันตอน ปี3เทอม2
ซึ่งเสร็จหรือเปล่าเดี๋ยวค่อยลุ้นกันใน part ท้ายๆ
แต่ประเด็นคือ ตอนเขียนนี่เว้นช่วงนานมากๆ  หากเนื้อเรื่องมันไม่ค่อยประติดประต่อก็ทำใจครับ
เพราะคนเขียนก็นึกไม่ค่อยจะออกละ 555+

พอขึ้นปี4 ก็ทำให้บรรลุอะไรหลายๆอย่างครับ ทั้งเรื่องเรียน เรื่องความเป็นไปของชีวิต ทักษะต่างๆ
เรื่องความรู้คิดว่าพอได้แล้วครับ จากนี้คือการนำไปใช้จริงให้มันทำงานได้มากกว่า ที่เหลือก็ศึกษาเอง

ช่วงนี้ก็ยุ่งๆครับ โทษใครไม่ได้ ต้องโทษตัวเองที่จัดเวลาไม่ดีเอง ทำให้ไม่ได้เขียนซะที
แต่ก็ตั้งใจไว้แล้วครับว่าจะต้องเขียนให้เสร็จให้ได้ มันก็ต้องเสร็จครับ
เอาล่ะไปต่อกันเลย ^^

==========================================


หลังจากที่งงกับคำว่า swap partition ว่ามันคืออะไร ก็ย้อนกลับไปนึกได้ลางๆตอนลง OS linux ว่ามันต้องมีแบ่ง swap partition ด้วย
ผมก็เลยต้องกลับไปลง OS linux ใหม่ โดยลงใน HDD ที่ยืมเพื่อนมานั่นล่ะครับ
แล้วก็จัดการแบ่งพื้นที่ 40GB เป็น 3 ส่วน คือ


  • Host OS (linux) - 20GB
  • space for build LFS - 10GB
  • swap partition - remain space

โดย linux ที่เลือกก็ยังคงเป็น Ubuntu เจ้าเก่าขาประจำครับ

ว่าแล้วก็ลอง build packet แรกดู 1 SBU


ผลปรากฏว่า เวลาที่ใช้ไปประมาณ ราวๆ 7 นาที  ก็ถือว่า เร็วกว่ามากถ้าเทียบกับทำใน VM
เร็วกว่ากันประมาณ 8 เท่าเห็นจะได้

จากนี้ต่อก็เริ่ม build packet ไปเรื่อยๆครับ  ซึ่งรายละเอียดต่อจากนี้ผมก็จำไม่ค่อยจะได้แล้ว TT^TT
จำได้อีกทีว่า มันเกิดปัญหาอะไรสักอย่าง จนต้องตัดสินใจลง OS ใหม่ ซึ่งมีเหตุผลหลัก 3 ประการ คือ


  1. เกิดปัญหา build packet ไม่ผ่าน
  2. เพื่อนที่ทำใกล้เสร็จบอกว่า ต้องใช้พื้นที่มากกว่า 10 GB (ที่แบ่งไว้ไม่พอ)
  3. เนื่องจาก linux มีหลายตัว ตัวเพื่อนๆใช้กัน และไม่ค่อยมีปัญหาคือ Debian เลยอยากลองใช้
ว่าแล้วก็ลองลง OS ใหม่  คราวนี้ลงเป็น Debian ครับ  ส่วน พื้นที่ มันมี40GB ก็แบ่งเป็น ประมาณนี้ครับ


  1. Host OS Debian - 15GB
  2. LFS - 15GB
  3. logical partition - swap partition

ซึ่งมารู้ภายหลังว่า swap partition นั้นไม่สามารถใช้ร่วมกันได้ ต้องแยกสำหรับ Host 1 partition และ LFS 1  partition  ซึ่งในคู่มือตอนตั้งค่าไม่ได้บอกไว้  ต้องเริ่มทำตั้งแต่ตอน ลง OS เลย จึงต้องแบ่งพื้นที่เป็นทั้งหมดรวมแล้ว 4 ส่วน
โดยถ้าเราแบ่งตามนี้แล้ว ตั้งค่า mount disk ตามคู่มือ ก็จะไม่มีปัญหาเรื่องการหา swap partition ไม่เจอ

เมื่อตั้งค่า mount disk ถูกต้องจะได้ผลตามนี้



แ้ล้วก็ลอง build packet แรกครับ ก็ประมาณ 7 นาทีเหมือนเดิม ถือว่าปกติสุขดี

packet แรก คือ binutils ใช้เวลา build ประมาณ 7 นาที


จากนั้นผมก็ทำการ build packet มาเรื่อยๆครับ เจอ SBU น้อยบ้าง เยอะบ้าง ปะปนกันไป
ทำไปทำมาจนมาเจอหัวข้อ GCC(47 SBU) ก็เหงื่อตกครับ
ถ้าเทียบเวลา 1 SBU = 7 นาที ก็จะได้ว่า 47 SBU = (7*47)/60 = 5.48 หรือประมาณ 5ชั่วโมงครึ่งนั่นเอง

ผมเลยต้องวางแผนก่อนที่จะทำ packet ตัวนี้ครับคือ จะทำไว้ตอนเช้า แล้วไปเรียนกลับมาเย็นก็ค่อยมาดู
เพราะว่าตอนที่ทำ packet ก่อนหน้านี้  ก็ทำตั้งแต่เย็นเมื่อวาน พอดึกก็ทำไป รอผลลัพธ์ไป ก็หลับรอ หลับๆตื่นๆ ทำไปจนถึงเช้าเลย  ก็ถึง packet gcc ก็จัดการใส่คำสั่ง build make check อะไรตามฟอร์ม แล้วก็ไปเรียน ตอนทำเวลาประมาณ 7.00 น.

พอกลับมาประมาณบ่ายสาม เผื่อเวลาไว้นิดหน่อย พอเปิดดู ก็ขึ้นหน้าจอว่าเรียบร้อยแล้ว ก็เป็นอันว่าเสร็จส่วนที่ทำนานที่สุดใน LFS ไป

ฟังดูเหมือนจะไม่มีอะไร แต่ส่วนนี้เป็นส่วนที่ลุ้นโคตรๆเลยครับ  ถ้าพังนี่คือทำใหม่ส่งไม่ทันแน่นอน
จากนั้นก็ไม่มีอะไรมากครับ ก็ buildๆ packet ที่เหลือไปตามระเบียบจนจบบทที่ 6 ก็เป็นอันว่าได้ file system ที่จำเป็นสำหรับ LFS พร้อมใช้แล้ว


พอขึ้นบทใหม่  ก็จะเข้าสู่การ config เพื่อกำหนดค่าต่างๆ ให้กับ LFS ของเรา ทั้ง Bootscript , Hostname , Device ต่างๆนาๆ ก็จัดการทำผ่านไปได้อย่างง่ายดาย

แล้วก็มาถึงการ นำ LFS ของเราไป boot ใช้งานจริง
ผลปรากฏก็คือ..





งานงอกล่ะครับ boot ไม่ติด มันเกิดอะไรขึ้น

ภาพ GRUB ตอนเลือก boot  LFS

boot ค้างอยู่ที่หน้าจอนี้


ถ้าอ่านจากหน้าจอ จะเห็นได้ว่าปัญหาอยู่ตรงที่ไม่สามารถ mount root แล้วเปิดไดรฟ์ sda2 ได้
ซึ่งปัญหานี้คาดว่าเกิดจาก HDD ที่เป็น IDE 2 ตัว และ SATA ที่ไม่ได้จัดการลำดับการ boot ให้ดีก่อน

พอเปิดมา OS Host ที่เป็น Debian ก็เลยหายไปด้วย boot ไม่ได้

พอลองโหลดตัวเลือก boot OS ใส่แผ่น CD มา run ก็ยังไม่สามารถแก้ได้  เลยต้องใช้แผ่น ubuntu ที่มีเวอร์ชั่นทดลองใช้ผ่าน CD มาเพื่อ run OS เปิดดูข้อมูล HDD ตัวนี้  โชคดีที่ไฟล์งานทั้งหลายไม่ได้อยู่ใน HDD ตัวนี้ มีเพียง Host OS Debian กับ LFS เท่านั้น



ผมเลยจัดการลงทุน ลง Ubuntu ใหม่ลงในอีก HDD เดิมทับตัว Host Debian เพื่อทดสอบ  ผลก็คือ GRUB ก็มองเห็นทุก OS ครับ  เข้าได้ทุกตัวยกเว้น  LFS เหมือนเดิม

ลง ubuntu ทับ debian เดิม ก็มองเห็นทุก OS



เลยต้องตัดสินใจว่า ปล่อยไว้แบบนี้ก่อน  หากอาจารย์ให้ส่ง ก็ส่งแบบนี้ล่ะวะ  จะยกPC ไปให้ดูเลย - -*



==================================


หลังจากนั้น ผมก็ไม่ได้แตะ LFS อีกเลย

แล้วถามว่าได้ส่งไหม  คำตอบก็คือส่งไปทั้งอย่างนั้นล่ะครับ
อาจารย์เค้าบอกว่า  ไม่เสร็จไม่เป็นไร  ขอแค่มีหลักฐานว่าได้ทำจริง ได้ลองจริง ก็โอเคแล้ว (capรูป+รายงาน)


จบงานนี้ได้รู้อะไรใหม่ๆเยอะมากเลยครับ  อย่างแรกเลยคือข้อมูลเกี่ยวกับ OS Linux มันมีหลายตัวให้เลือกใช้สอย ไม่ว่าจะเป็น Ubuntu , Debian, fedora, Mint, Open SUSE และอีกมากมาย  ซึ่งก็ได้ทดลองลงมากับมือแล้ว  เอาเป็นว่าจบงานนี้ก็ลง Linux ได้เก่งไม่แพ้ Windows เลย

ต่อมาก็คือระบบ file system จากที่เราได้ build ,make ใส่ไปใน LFS ของเรา ว่า OS นี้ควรจะมีอะไรบ้างจึงจะทำงานได้ การลำดับ bootscript   การ config ค่าเริ่มต้นต่างๆให้กับ OS ซึ่งมีประโยชน์อย่างมาก

และสิ่งที่ได้รู้อย่างหนึ่งคือ การที่จะทำยังไงที่จะใช้ resource ที่มีให้คุ้มค่า  เนื่องจากคอมผมไม่แรง ผมจึงคุ้นเคยกับการบริหารให้คอมสามารถเค้นประสิทธิภาพออกมาให้ได้เยอะที่สุด



สุดท้ายนี้ เนื่องจาก part นี้เว้นช่วงเขียนไปนานมาก  ความจำก็เริ่มเลอะเลือน มันนึกออกมาได้เท่านี้ ก็เลยจบเท่านี้เลยดีกว่า เพราะย้อนอดีตไปมากก็ไม่ดี  เก็บความผิดพลาดไว้เป็นบทเรียน ให้ตัวเองได้พัฒนาต่อไปดีกว่า และความทรงจำที่ว่าครั้งหนึ่งเคยได้ผ่านมันมา




ปล. ตอนบทที่ 9 เมื่อทำเสร็จจะมีให้ลงชื่อว่าเราได้ทำ LFS เสร็จสมบูรณ์ ซึ่งชื่อเราจะถูกบันทึกลงใน Database ของทางเวปอีกด้วย เอาไว้ให้ลูกหลานดูได้ว่า ครั้งหนึ่งเคยทำมา -0- ซึ่งเมื่อเราค้นหาก็สามารถเจอชื่อเราได้

ชื่อถูกบันทึกไว้ให้ลูกหลานดู






ลากันด้วยภาพนี้ละกันนะครับ ทำขึ้นมาเพื่อ LFS โดยเฉพาะ ^^










Comments

Popular posts from this blog

Get original image from tistory.com : วิธีดาวโหลดภาพต้นฉบับจาก เว็บ tistory.com

งานแฟนไซน์ครั้งแรกของ Red Velvet ในไทย กับ ตากล้องกากๆ

ผจญภัยในแดนกรุง : เข้ากรุงเทพคนเดียวครั้งแรก ไปดูคอนเสิร์ต #g16fest