一.编译
1. uboot的编译
2. 内核的编译
2.1 问题:如果不选启动时会出现Kernel panic - not syncing: Attempted to kill init!
3.busybox的编译
4.文件系统
5.烧写
ubuntu下用dnw
二. 具体使用
1. nfs的访问
nfs: server ******* not responding, still trying
解决: a.改nfs的协议,从udp该到tcp
b.改每次传输的块,更改rsize和wsize
2.网络设定
3. 通过nfs挂载根文件系统
3.1 主机端的设置:
3.1 TQ2440的设置
参考 http://www.linuxidc.com/Linux/2011-09/43770.htm
1. uboot的编译
-
a. 修改 /work/tq/uboot/Makefile
-
#CROSS_COMPILE = /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-
-
CROSS_COMPILE = /work/tq/bak/toolchain/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-
-
b. make EmbedSky_config
-
c. make -j8
- d. 烧写 dnw
-
a. 修改交叉编译工具链
-
由于没有在path环境变量中设arm-linux-gcc,
-
所以需要改/work/tq/bak/toolchain/4.3.3/bin/arm-linux-gcc
-
#exec arm-none-linux-gnueabi-gcc -march=armv4t
$*
-
exec /work/tq/bak/toolchain/4.3.3/bin/arm-none-linux-gnueabi-gcc -march=armv4t
$*
-
b. 修改 /work/tq/kernel/Makefile
-
#CROSS_COMPILE = arm-linux-
-
CROSS_COMPILE = /work/tq/bak/toolchain/4.3.3/bin/arm-none-linux-gnueabi-
-
c. cp -arf ./config_EmbedSky_W35 .config
- d. make -j16 zImage 在当前目录下生成zImage.bin
-
Kernel Features --->
-
[*] Use the ARM EABI to compile
the kernel
- [*] Allow old ABI binaries to run with this kernel (EXPERIMENTA)
-
/work/tq/rootfs/busybox-1.16.0/Makefile
-
164 #CROSS_COMPILE ?=
-
165 CROSS_COMPILE ?=/work/tq/bak/toolchain/4.3.3/bin/arm-none-linux-gnueabi-
-
-
191 #ARCH ?= $(SUBARCH)
- 192 ARCH ?= arm
-
从2.6.30.4目录下将root_qt_4.5_2.6.30.4_20100601.tar.bz2出来
- cong@msi:/work/tq/rootfs$ sudo /work/tq/bak/toolchain/sbin/mkyaffs2image ./opt/EmbedSky/root_qt_4.5_2.6.30.4/ rootfs.img
ubuntu下用dnw
二. 具体使用
1. nfs的访问
-
主机端:
-
a. 安装nfs: root@ubuntu: # apt-get install
nfs-kernel-server
-
b. 安装nfs客户端: root@ubuntu: # apt-get install
nfs-common
-
c. 配置文件/etc/exports,添加如下一行
-
/tmp/ *(rw,sync,no_subtree_check,no_root_squash,insecure)
-
d. 启动NFS: root@ubuntu: # /etc/init.d/nfs-kernel-server
start
-
-
TQ2440端:
- [root@EmbedSky sky]# mount -t nfs 192.168.4.87:/tmp /mnt/ -o nolock -o tcp
解决: a.改nfs的协议,从udp该到tcp
b.改每次传输的块,更改rsize和wsize
2.网络设定
-
a.临时修改mac地址
-
[root@EmbedSky /]# ifconfig
eth0 down
-
[root@EmbedSky /]# ifconfig
eth0 hw ether 10:44:45:67:89:AB
-
[root@EmbedSky /]# ifconfig
eth0 up
-
b. 永久修改
-
/etc/net.conf
-
IPADDR=192.168.4.239
-
NETMASK=255.255.255.0
-
GATEWAY=192.168.4.1
- MAC=10:AC:45:67:89:ab
3.1 主机端的设置:
-
a.将root_qt_4.5_2.6.30.4_20100601.tar.bz2解压到/work/tq/rootfs_nfs中
-
cong@msi:/work/tq/rootfs_nfs$
ls
-
bin dev etc home lib linuxrc mnt opt proc root sbin sys tmp usr var web
-
-
b.将/work/tq/rootfs_nfs添加到/etc/exports下
-
cong@msi:/work/tq/rootfs_nfs$
cat /etc/exports
-
# /etc/exports: the access control list for filesystems
which may be exported
-
/work/tq/rootfs_nfs *(rw,sync,no_subtree_check,no_root_squash,insecure)
-
-
c.并重启nfs-server
- cong@msi:/work/tq/rootfs_nfs$ sudo /etc/init.d/nfs-kernel-server restart
参考 http://www.linuxidc.com/Linux/2011-09/43770.htm