根據維基百科指出,debian的設計理念是「若一段時間無錯誤回報才發行」,因此debian通常用在「不動的」的系統場合,像是伺服器之類的。另外搭配qemu-arm-static程式,可以做到在PC端搭配chroot而成的跨平台根目錄建構用環境,不但可以跨平台建構根目錄,同時debian也有發布多種cpu的套件可供安裝。另外也可以製作「開發用」目錄,也就是在chroot內安裝build-essential開發環境套件,而達到跨平台開發的目的。
惟缺點是,套件通常是舊的,但可經由重新編譯套件原始碼解決。另外組建根目錄的內容皆以PC需求為主,因此根目錄大小往往過於龐大,不利於嵌入式系統所用。
因此目前朝向如何組建最小debian根目錄的方向研究中。
2014年3月20日 星期四
2014年2月14日 星期五
使用debootstrap 在pc上製作arm的root
# 開始之前要確定目錄下沒有名稱是root的資料夾 那是以下設定的目的資料夾 # 使用 sudo apt-get install debootstrap 安裝debootstrap # 第一階段 會產生一個名為root的資料夾 裡面即將是root結構 下載的套件檔按會放在 root/var/cache sudo debootstrap --verbose --foreign --variant=minbase --arch=armel squeeze ./root http://ftp.tw.debian.org/debian # 可以實驗性質的使用 --exclude 參數將套件預設不安裝 要注意必須是從0開始安裝才會看到檔案有減少 #sudo debootstrap --verbose --foreign --variant=minbase --arch=armel --exclude gcc,perl,locale squeeze ./root http://ftp.tw.debian.org/debian # 置入arm模擬器 使用 sudo apt-get install qemu-user-static 安裝 sudo cp /usr/bin/qemu-arm-static root/usr/bin # 進入chroot 執行第二階段 使用chroot指令 進入以 root/ 為根目錄的環境 此時裡面的執行檔都是arm的執行檔 所以要有上述模擬器支援 才能進行第二階段的安裝 cd root sudo chroot $(pwd) /debootstrap/debootstrap --second-stage # 使用 sudo chroot $(pwd) 在 root/目錄下執行 可進入以 root/ 為根目錄的環境中 # 設定網路 網路將因此開通 之後可以使用chroot指令 執行apt-get或是dpkg 以進行套件安裝或設定 cat > /etc/network/interfaces << EOF auto lo iface lo inet loopback EOF # 設定套件來源 設定完成後 搭配網路開通 首先執行 apt-get update 系統因此取得最新套件來源列表 之後就可以開始使用apt-get install 指令 cat > /etc/apt/sources.list << EOF deb http://ftp.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free EOF # 重置語系檔案 #locale-gen --purge en_US.UTF-8 # 移除locale #apt-get install localepurge # 移除不需要檔案 參考資料 # http://www.linuxdiyf.com/bbs/thread-74373-1-1.html # http://askubuntu.com/questions/129566/remove-documentation-to-save-hard-drive-space # 製作ramdisk 此時的ramdisk 映像檔大約 <48mb data-blogger-escaped-br=""> cd root find . | cpio -o -H newc | gzip > ../image.cpio.gz cd .. mkimage -T ramdisk -C gzip -n 'Ramdisk Image' -d image.cpio.gz ramdisk.bin # 參考資料 # http://hi.baidu.com/zengzhaonong/item/365c55c651e11363f7c95d9f
訂閱:
文章 (Atom)