Cf5livecdhack

จาก OpenTLE Wiki

ข้ามไปที่: ป้ายบอกทาง, ค้นหา

เนื้อหา

การปรับแต่งลินุกซ์ทะเล 9 เพื่อทำ LiveCD

Modules

aufs

aufs module บนลินุกซ์ทะเล 9 สามารถทำการ Complile ได้โดยขั้นตอนดังนี้

  • ติดตั้ง aufs-source โดยการใช้คำสั่ง
$ sudo apt-get install aufs-source 
  • หลังจากนั้นก็ติดตั้ง packages อื่นๆ ที่จำเป็นสำหรับการ build
$ sudo apt-get install build-essential
  • source ของ aufs จะเก็บไว้ที่
/usr/src
  • ให้เราเข้าไปยังที่นั้น แล้วทำการแตก source ดังกล่าว
$ cd /usr/src

ก่อนแตก source ต้องทำ link kernel header ก่อนเพราะใน Make file ของ aufs กำหนดไว้แบบนั้น

$ sudo ln -s linux-headers-2.6.22-14-generic linux

แตกต่อ

$ sudo tar vxfj aufs.tar.bz2

$ cd modules/aufs

เสร็จแล้วย้ายไฟล์ตามข้างล่าง เดียว rules จะหาไฟล์ไม่เจอ

$ mv control.modules.in control

  • เมื่อแตกและเข้าไปได้แล้วก็ให้ทำการ complie ดังนี้
$ sudo debian/rules binary-modules

นั่งรอสักครู่มันเหมือนจะเสร็จ แต่ถ้าสังเกตุดีๆ มันบอกว่า error แต่จริงๆ มันได้ เอ๊ะ !! ชักงง :p มันสร้าง module ให้เราเสร็จแล้วละครับแค่นี้ก็พอใจมันจะตายก็ไม่เป็นไร เราก็เอา module ที่ได้ไปเก็บไว้ในระบบครับ

$ sudo cp -r \
debian/aufs-modules-2.6.22-14-generic/lib/modules/2.6.22-14-generic/kernel/fs/aufs \
/lib/modules/2.6.22-14-generic/kernel/fs
**หมายเหตุ: เครื่องหมาย \ ข้างบนหมายถึงพิมพ์บรรทัดเดียวไม่หมด จริงๆ พิมพ์ยาวไปเลยก็ได้
  • ทดสอบว่าได้ไหมดังนี้
$ sudo depmod -a
$ modinfo aufs

ถ้าใช้งานได้มันต้องเห็นคล้ายๆ แบบนี้

filename:       /lib/modules/2.6.22-14-generic/kernel/fs/aufs/aufs.ko
version:        20070604
description:    aufs -- Another unionfs
author:         Junjiro Okajima
license:        GPL
srcversion:     09DE27E3D3049E2CF3C1CE8
depends:        
vermagic:       2.6.22-14-generic SMP mod_unload 586 
parm:           nwkq:the number of workqueue thread, aufsd (short)
parm:           brs:use <sysfs>/fs/aufs/brs (int)

--MrChoke 17:16, 19 มกราคม 2008 (ICT)

squashfs + lzma

ปกติ LinuxTLE 9 มี squashfs อยู่แล้วแต่ไม่ support lzma เลยจำเป็นต้องนำ squashfs มาทำการ complie ใหม่บน LinuxTLE 9 ซึ่งมีคนได้ทำไว้แล้วที่ ftp://mirror.nttu.edu.tw/penk/patch/source/gutsy/ วิธีการ c--MrChoke 20:26, 19 มกราคม 2008 (ICT)omplie squashfs + lzma บน LinuxTLE 9 มีดังนี้

  • files ที่จำเป็นมีดังนี้
  1. ftp://mirror.nttu.edu.tw/penk/patch/source/lzma443.tar.bz2 : เป็น SDK ของ LZMA
  2. ftp://mirror.nttu.edu.tw/penk/patch/source/sqlzma3.2-r2.tar.bz2 : Patch และ Header สำหรับ เชื่อมต่อ squashfs และ LZMA
  3. ftp://mirror.nttu.edu.tw/penk/patch/source/squashfs3.2-r2.tar.gz
  4. ftp://mirror.nttu.edu.tw/penk/patch/source/gutsy/linux-2.6.22-squashfs.tar.gz : squashfs ที่แก้ให้ใช้ LZMA แล้ว
  5. ftp://mirror.nttu.edu.tw/penk/patch/source/gutsy/Makefile : ไว้แทนที่ Makefile ของ sqlzma3.2-r2
  • แตก lzma443.tar.bz2
$ wget ftp://mirror.nttu.edu.tw/penk/patch/source/lzma443.tar.bz2
$ mkdir lzma443
$ tar vxfj lzma443.tar.bz2 -C lzma443
  • แตก squashfs3.2-r2.tar.gz
$ wget ftp://mirror.nttu.edu.tw/penk/patch/source/squashfs3.2-r2.tar.gz
$ tar vxfz squashfs3.2-r2.tar.gz
  • แตก linux-2.6.22-squashfs.tar.gz
$ wget ftp://mirror.nttu.edu.tw/penk/patch/source/gutsy/linux-2.6.22-squashfs.tar.gz
$ tar vxfz linux-2.6.22-squashfs.tar.gz -C squashfs3.2-r2/kernel-patches/linux-2.6.22/fs
  • แตก sqlzma3.2-r2.tar.bz2
$ wget ftp://mirror.nttu.edu.tw/penk/patch/source/sqlzma3.2-r2.tar.bz2
$ tar vxfj sqlzma3.2-r2.tar.bz2
  • ลบ Makefile ของ sqlzma3.2-r2 ทิ้ง และ นำที่ download มาแทนที่
$ rm Makefile
$ wget ftp://mirror.nttu.edu.tw/penk/patch/source/gutsy/Makefile
  • apply patch sqlzma3.2-r2 ให้ squashfs และ lzma443
$ patch -p0< sqlzma2u-3.2-r2.patch
$ patch -p0< sqlzma1-443.patch
  • ทำการ complie squashfs module และ tools

ก่อน complie ต้องติดตั้ง zlib header ก่อน

$ sudo apt-get install zlib1g-dev

หลังจากนั้นก็ make เลย

$ make

ระหว่างนี้ก็รอจนเสร็จดูอาการว่าไปรอดหรือไม่

  • เมื่อเสร็จแล้วจะมีอะไรเกิดขึ้นบ้าง ?

เราจะได้ดังนี้

หา kernel modules ว่าอยู่ตรงไหนบ้าง

$ find . -name "*.ko" 

./lzma443/C/7zip/Compress/LZMA_C/kmod/unlzma.ko
./lzma443/C/7zip/Compress/LZMA_C/kmod/sqlzma.ko
./squashfs3.2-r2/kernel-patches/linux-2.6.22/fs/squashfs/squashfs.ko

นำ kernel modules ไปเก็บไว้ในระบบ ก่อนอื่นต้องลบของ ubuntu ทิ้งเสียก่อน

$ sudo rm /lib/modules/2.6.22-14-generic/ubuntu/fs/squashfs/squashfs.ko
$ sudo cp -r /squashfs3.2-r2/kernel-patches/linux-2.6.22/fs/squashfs \
  /lib/modules/2.6.22-14-generic/kernel/fs
$ sudo cp ./lzma443/C/7zip/Compress/LZMA_C/kmod/unlzma.ko  \
 ./lzma443/C/7zip/Compress/LZMA_C/kmod/sqlzma.ko \
 /lib/modules/2.6.22-14-generic/kernel/fs/squashfs
$ sudo depmod -a

และ squashfs tools

squashfs3.2-r2/squashfs-tools/mksquashfs
squashfs3.2-r2/squashfs-tools/unsquashfs

copy ทั้งสองไปไว้ในที่ที่สามารถ run ได้ เช่น /usr/bin /usr/local/bin

$ sudo cp squashfs3.2-r2/squashfs-tools/mksquashfs \
squashfs3.2-r2/squashfs-tools/unsquashfs \
/usr/local/bin
  • ถือเป็นการจบขั้นตอนนี้ต่อไปก็ให้ทดสอบว่า modules ระบบเห็นหรือยัง tools ใช้ได้ไหม

--MrChoke 20:26, 19 มกราคม 2008 (ICT)

Script Gen LiveCD

รับข้อมูลจาก "http://wiki.opentle.org/Cf5livecdhack"
เครื่องมือส่วนตัว