国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
[實踐]busybox1.16.1建立文件系統(tǒng)

[實踐]busybox1.16.1建立文件系統(tǒng)(未完成)

#1建立根文件系統(tǒng)目錄
#!/bin/sh
echo “——Create rootfs_new directons start…”
mkdir rootfs_new
cd rootfs_new
echo “——Create root,dev…”
mkdir bin sbin lib dev etc mnt usr
mkdir root home sys proc boot
mkdir tmp var
touch linuxrc
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/bin usr/sbin usr/lib usr/modules
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/log var/run var/tmp
chmod 1777 tmp
chmod 1777 var/tmp
echo “——Create dir done…”
#2創(chuàng)建設備文件
echo “——Make node in dev…”
mknod -m 600 mem c 1 1
mknod -m 600 dev/console c 5 1
mknod -m 600 dev/null c 1 3
mknod -m 644 dev/random c 1 8
mknod -m 644 dev/urandom c 1 9
mknod -m 660 dev/mtd0 c 90 0
mknod -m 660 dev/mtd1 c 90 2
mknod -m 660 dev/mtd2 c 90 4
mknod -m 660 dev/mtd3 c 90 6
mknod -m 660 dev/mtdblock0 b 31 0
mknod -m 660 dev/mtdblock1 b 31 1
mknod -m 660 dev/mtdblock2 b 31 2
mknod -m 660 dev/mtdblock3 b 31 3
mknod -m 660 dev/ttySAC0 c 204 64
mknod -m 666 dev/tty c 5 0
mknod -m 600 dev/tty0 c 4 0
mknod -m 600 dev/tty1 c 4 1
mknod -m 600 dev/tty2 c 4 2
mknod -m 600 dev/tty3 c 4 3
mknod -m 600 dev/ttyS0 c 4 64
mknod -m 600 dev/ttyS1 c 4 65
mknod -m 600 dev/ttyS2 c 4 66
mknod -m 600 dev/ttyS3 c 4 67
mknod -m 600 dev/ttyUSB0 c 188 0
mknod -m 600 dev/ttyUSB1 c 188 1
mknod -m 600 dev/ttyUSB2 c 188 2
mknod -m 600 dev/ttyUSB3 c 188 3
mknod -m 600 dev/ppp c 108 0

echo “——Make node done…”
echo “——Cp lib…”
#3建立動態(tài)鏈接庫
cp /usr/local/arm/3.4.1/arm-linux/lib/*.so* ./lib -d
echo “——Cp lib done”

4、交叉編譯Bosybox
A.修改Makefile交叉器
vim Makefile
CROSS_COMPILE =arm-linux- //第164 行
ARCH =arm //第189行
B.修改交叉編譯器路徑
make menuconfig
Busybox Settings —>Build Options —>
修改[*] Build BusyBox as a static binary (no shared libs)
修改Cross Compiler prefix為/usr/local/arm/3.4.1/bin/arm-linux-
C.修改安裝地址
make TARGET_ARCH=arm PREFIX=/source/tmp1/rootfs_new/
錯誤1:
miscutils/flash_eraseall.c:14:26: mtd/mtd-user.h: No such file ordirectory
find / -name “mtd-user.h”
/opt/linuxcore/linux-2.6.33.3/include/mtd/mtd-user.h
/usr/include/mtd/mtd-user.h
/usr/src/linux-headers-2.6.32-21/include/mtd/mtd-user.h
原因:找不到mtd-user.h
解決:
cp /usr/include/mtd/ ./include/mtd/ -a
錯誤2:
miscutils/inotifyd.c:31:25: sys/inotify.h: No such file or directory
find / -name “inotify.h”
/opt/linuxcore/linux-2.6.33.3/include/config/inotify.h
/opt/linuxcore/linux-2.6.33.3/include/linux/inotify.h
/opt/linuxcore/linux-2.6.33.3/fs/notify/inotify/inotify.h
/usr/include/linux/inotify.h
/usr/include/sys/inotify.h
/usr/src/linux-headers-2.6.32-21/include/linux/inotify.h
/usr/src/linux-headers-2.6.32-21-generic/include/config/inotify.h
/usr/src/linux-headers-2.6.32-21-generic/include/linux/inotify.h
原因:據(jù)說是busybox中ionice的bug
解決:
Miscellaneous Utilities->
關閉ionice
關閉inotifyd
關閉taskset
錯誤3:
networking/interface.c:818: error: `ARPHRD_INFINIBAND’ undeclared here(not in a function)
修改networking/interface.c
vim networking/interface.c
添加define ARPHRD_INFINIBAND 32 /* InfiniBand */
錯誤4:
util-linux/acpid.c: In function `acpid_main’:
util-linux/acpid.c:146: error: `EV_SW’ undeclared (first use in thisfunction)
util-linux/acpid.c:146: error: (Each undeclared identifier is reportedonly once
util-linux/acpid.c:146: error: for each function it appears in.)
util-linux/acpid.c:147: error: `SW_LID’ undeclared (first use in thisfunction)
原因:可能input.h太陳舊,沒有EV_SW的定義
解決:
cp /opt/linuxcore/linux-2.6.33.3/include/linux/ ./include/ -a

5.在Linux內(nèi)核中把module安裝到文件系統(tǒng)目錄 ,[疑問:是否是必須的?]
make modules_install INSTALL_MOD_PATH=/source/tmp1/rootfs_new/

5、建立etc目錄下的配置文件
A/etc/inittab #重要
#指定初始化文件
::sysinit:/etc/init.d/rcS
#啟動時執(zhí)行的shell
::respawn:/bin/sh
ttyS0::askfirst:-/bin/sh
#重啟時動作
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
#關機時動作,卸載所有文件系統(tǒng)
::shutdown:/bin/umount -a –r

B/etc/init.d/rcS #重要
C/etc/fstab #重要 ???
proc /proc proc defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0

proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0

D/etc/profile #重要
#例子1
#!/bin/sh
echo “profile processing”
export LD_LIBRARY_PATH=/lib:/usr/lib
HOSTNAME=’bin/hostname’
export HOSTNAME
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH

#例子2
# Set search library path
# 這條語句設置動態(tài)庫的搜索路徑,極其重要?。?!
echo “Set search library path int /etc/profile”
export LD_LIBRARY_PATH=/lib:/usr/lib
# Set user path
echo “Set user path in /etc/profile”
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH

6、制作根文件系統(tǒng)映像文件

參考資料:
<<制作嵌入式根文件系統(tǒng)常見問題詳解>>
使用Busybox制作Cramfs根文件系統(tǒng).pdf
天嵌Linux移植.pdf

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
嵌入式開發(fā)實戰(zhàn)5——LINUX的根文件系統(tǒng)之一基本環(huán)境的搭建和BUSYBOX編譯
Linux Busybox Minicom簡單用法
(圖文)自己組建自己迷你linux系統(tǒng)
建立根文件系統(tǒng)目錄
Linux Serial HOWTO 中譯版: 串口的名稱是什么?
usb上的Linux
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服