参考博客http://www.cnblogs.com/Charles-Zhang-Blog/p/3419301.html
p.s:出现错误
解决思路方法:此文件和主功能无关,可以避开。
(1)先找到sync.c文件:在此目录下find -name "sync.c",知道其在./coreutils/sync.c
(2)cd coreutils,在Kbuild文件中,查找sync.o,可知由宏CONFIG_SYNC来控制是否编译
(3)在make menuconfig中,查找SYNC的位置,转到其位置,选择为N。
(1)make install,执行busybox顶层目录的一个目标install。
(2)安装目录默认在busybox/_install,里面有bin/ sbin/ linuxrc三个(目录)文件。
(3)make install的解释
主要是拷贝一些文件到etc/目录下,并进行一些修改
1、将 busybox/examples/bootfloopy/etc/* 拷贝到 /rootfs/etc/ 目录下,然后修改其中的inittab文件;
(1)开机免登陆,直接进入shell
#first:run the system script file
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:-/sbin/reboot
#umount all filesystem
::shutdown:/bin/umount -a -r
#restart init process
::restart:/sbin/init
或者
::sysinit:/etc/init.d/rcS
#::respawn:-/bin/sh
#::respawn:-/bin/login
console::askfirst:-/bin/sh //这个和上面一样,只是id明确给出而已
#tty2::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
(2)开机需要登陆
::sysinit:/etc/init.d/rcS
#::respawn:-/bin/sh
::respawn:-/bin/login
#console::askfirst:-/bin/sh
#tty2::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
2、用户名、密码设置:将虚拟机ubuntu的 /etc/passwd、/etc/group、/etc/shadow 拷贝到 rootfs/etc/ 目录下,然后修改三个文件的相关内容;
(1)只保存与root相关项,修改passwd为root:x:0:0:root:/root:/bin/sh。
(2)只保存与root相关项,修改group为root:x:0:root。
(3)只保存与root相关项,shadow其他不需要更改(或者清除密码),登陆密码和拷贝源的密码一致。
3、修改profile文件;
# Ash profile
# vim: syntax=sh
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH
4、修改fstab文件;
添加以下内容:注意这里的挂载点需要预先建立(如果在第一步创建空目录是没有创建的话)
#
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /var tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
5、修改etc/init.d/rc.S文件;
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
/bin/hostname -F /etc/sysconfig/HOSTNAME
ifconfig eth0 192.168.1.10
将动态链接库拷贝到/root/rootfs/lib/目录下,动态链接库在 /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/ 目录下。