1. 編譯cramfs製作工具mkcramfs
a. 解壓cramfs-1.1.tar.bz2,產生cramfs-1.1資料夾
b. 使用終端進入cramfs-1.1資料夾,執行make,編譯cramfs製作工具
c. 編譯產生mkcramfs和cramfsck兩個工具,將這兩個工具複製到/usr/bin目錄下。
2. 編譯busybox
a. 解壓busybox-1.20.2.tar.bz2,產生busybox-1.20.2資料夾
b. 使用終端進入busybox-1.20.2資料夾
c. 修改makefile檔案中的cross_compile為相應的編譯器,如
cross_compile ?= /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
d. 終端中輸入make target_arch=arm編譯busybox
e. 編譯完成後輸入make install安裝busybox,安裝的目錄預設在./_install資料夾下,我們僅僅需要其中的bin,sbin,usr資料夾
3. 製作cramfs
a. 建立乙個rootfs目錄,將編譯出的busybox資料夾bin,sbin,usr複製到rootfs目錄下
b. 在rootfs目錄下建立dev,etc,home,lib,mnt,opt,proc,root,sys,tmp,var目錄
c. 在rootfs目錄下建立linuxrc檔案,內容如rootfs-2012-10-13-0003.tar.bz2下的linuxrc檔案,並修改其屬性:chmod 775 linuxrc
d. 進入rootfs/dev目錄,執行:mknod console c 5 1和mknod null c 1 3建立裝置節點.(
如使用壓縮包中的檔案系統,需要執行這一步操作)
g. 進入rootfs的上一級目錄,執行mkcramfs rootfs rootfs.cramfs製作跟檔案系統,完成後產生rootfs.cramfs檔案
a. 將cramfs燒寫到smdk開發的rootfs空間,重新啟動開發板,看到如下資訊表示根檔案系統載入成功
vfs: mounted root (cramfs filesystem) readonly.
freeing init memory: 252k
processing etc/init.d/rc.s
mount all
*************************************
rootfs by cramfs
*************************************
please press enter to activate this console.
注意:編譯核心時需要配置啟動引數:
boot options->default kernel command string:
root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttysac0,115200
附件:相關檔案內容
rootfs/linuxrc檔案
#!/bin/bash
echo "mount /etc as ramfs"
/bin/mount -n -t ramfs ramfs /etc
/bin/cp -a /mnt/etc/* /etc
echo "re-create the /etc/mtab entries"
# re-create the /etc/mtab entries
#/bin/mount -f -t cramfs -o remount,ro /dev/mtdblock/2 /
/bin/mount -t ramfs ramfs /tmp
exec /sbin/init
rootfs/etc/fstab檔案
none /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
rootfs/etc/inittab檔案
# this is run first except when booting
::sysinit:/etc/init.d/rcs
# start an "askfirst" shell on the console
#::askfirst:-/bin/bash
ttysac0::askfirst:/bin/bash
# stuff to do when restarting the init process
::restart:/sbin/init
#::once:/sbin/raja.sh
#::respawn:/sbin/iom
::once:/usr/etc/rc.local
# stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
rootfs/etc/profiel檔案
#/etc/profile: system-wide .profile file for the bourne shells
echo "processing /etc/profile"
# no-op
# set search library path
ld_library_path=/lib:/usr/lib
export ld_library_path
# set user path
path=/bin:/sbin:/usr/bin:/usr/sbin
export path
# set ps1
#export ps1="[$user@linux ]\\$"
#echo
rootfs/etc/init.d/rcs檔案
#! /bin/bash
echo "processing etc/init.d/rc.s"
#hostname $
echo " mount all"
/bin/mount -an
/bin/mknod /dev/console c 5 1
/bin/mknod /dev/null c 1 3
/bin/mknod /dev/ttysac0 c 204 64
/bin/mknod /dev/ttysac1 c 204 65
/bin/mknod /dev/ttysac2 c 204 66
/bin/mknod /dev/ttysac3 c 204 67
/bin/mkdir /dev/pts
/bin/mkdir /dev/shm
/bin/mkdir /dev/video
/bin/mknod /dev/video/codec c 81 12
/bin/mknod /dev/video/preview c 81 13
#echo "starting mdev..."
#/bin/echo /sbin/mdev > proc/sys/kernel/hotplug
#mdev -s
#/sbin/udevd --daemon
#/sbin/udevadm trigger
ln -s /dev/ts0 /dev/ts
rootfs/usr/etc/rc.local檔案
#!/bin/bash
./usr/etc/profile
/sbin/ifconfig lo 127.0.0.1 up
#/sbin/ifconfig eth0 192.168.2.12 netmask 255.255.255.0 up
#/sbin/inetd
#/usr/sbin/makelinks
/bin/mkdir /tmp/udisk
/bin/mkdir /tmp/sd
/bin/mkdir /tmp/photo
#source /.bashrc
#export qws_display=transformed:rot90
#/bin/cp -rf /qtopia/qtopia-free-1.7.0/elfin/* /tmp/
#cd /tmp
#/qtopia/qtopia-free-1.7.0/bin/qpe -qws&
#/bin/apm
rootfs/usr/etc/profile檔案
display=unix:0.0
path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
#qws_keyboard=tty
lang=c
home=/tmp
kmod=/lib/modules/2.4.19-rmk4-pxa2
export path qtdir linuettedir qws_keyboard lang home display kdedir kmod
rootfs/usr/etc/profile.org檔案
#!/bin/sh
display=unix:0.0
path=/bin:/sbin:/usr/bin:/usr/sbin:/mnt
ld_library_path=/usr/home:/lib:/usr/lib:
#qws_keyboard=tty
lang=zh_cn
home=/usr/home
export path ld_library_path lang home
盆景製作方法
山水盆景是運用移天縮地 以小見大的藝術手法,根據 一峰則太華千尋,一勺則江湖萬里 的原則來造型和布局的。山水盆景以山為主,成功的石山必須是既具形態美和雄偉的山勢,又有皺 瘦 透 漏之妙。皺 就是要求石上表面有紋理,皺褶得有規律,不宜平滑 瘦 就是要求石塊稍長,頂端較寬有稜角,不宜臃腫 透 就是指石塊...
cramfs檔案製作
1 將root pams1v1.cramfs拷貝到任一目錄下 2 建立資料夾 mkdir roms mkdir tmp 3 將root pams1v1.cramfs掛載到roms目錄 mount root pams1v1.cramfs roms o loop 4 將roms目錄下的內容壓縮 tar ...
國標網線製作方法
第七代系統使用國標直通線,兩種標準都可用 rj 45聯結器的線排列有兩種方法,分別是568b和568a,我們常用 568b方式,排列見下圖 實際上在10m 100m網路中,僅僅使用12 36 這四根線,1000m網路要用所有的。兩邊使用同樣標準的線稱為直通線 可以用於七代系統 用於pc到hub普通口...