一.编译
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