一 busybox
1.下载busybox源码;
2.解压缩;
3.make menuconfig,配置busybox。
Busybox Settings --->
General Configuration --->
[*] Show verbose applet usage messages
[*] Runtime SUID/SGID configuration via /etc/busybox.conf
Build Options --->
[*] Build BusyBox as a static binary (no shared libs)
(arm-none-linux-gnueabi-) Cross Compiler prefix
Debugging Options --->
[*] Enable obsolete features removed before SUSv3?
Installation Options --->
[*] Don't use /usr
Linux System Utilities
[*]mdev(相关的都选)
Shells
Choose your default shell()--->
(*)ash
--ash 全选
……
4.修改busybox的顶层Makefile文件:体系结构和编译器。(对于armv4t的CPU(如S3C2410),若使用arm-none-linux-gnueabi-编译器,需要在busybox的顶层Makefiel文件中添加CFLAGS = -march=armv4t
)
5.make
6.make install
二 建立目录
dev/
mknod -m 666 null c 1 3
mknod -m 600 console c 5 1
etc/
---->
inittab
- -
::sysinit:/etc/init.d/rcS
/dev/s3c2410_serial0::respawn:/bin/sh -l
::restart:/sbin/init
::shutdown:/bin/umount -a -l
---->
init.d/rcS
- -
echo "----------mount /sys as sysfs"
/bin/mount -t tmpfs mdev /dev
/bin/mount -t sysfs sysfs /sys
echo "----------Starting mdev......"
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
hostname dan2410
---->
fstab
- -
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
将busybox/_install中编译生成的bin/ sbin/ linuxrc拷贝到根文件系统目录下
proc/
……
lib/ 将交叉编译工具的lib库文件拷贝到此目录下
tmp/ 设置此目录权限chmod 1777 tmp
var/tmp 设置此目录权限chmod 1777 var/tmp
共享链接库
rules of filter:
实际的共享连接库
(libLIBRARY_NAME-VERSION.so e.g. libm-2.2.3.so)
住修订版本的符号链接
(libLIBRARY_NAME.so.MAJOR_REVISION_VERSION )
without:
与版本无关的符号链接指向住修订版本的符号链接
(libLIBRARY_NAME.so)
静态链接库包文件
(libLIBRARY_NAME.a)
inittab
sysinit 为init提供初始化命令行的路径
respawn 当相应进程终止时重新启动
askfirst 同respawn,但显示:Please press Enter to activate this console.
wait 使init等待相应进程结束后才能继续执行
once 只执行一次,不等其完成
ctrlaltdel 三键按下时执行的进程
shutdown ......
restart ......
阅读(1687) | 评论(0) | 转发(0) |