原文地址:http://blog.csdn.net/ZLJ19911001/article/details/43531195?ref=myread
1.解压缩文件:
把hqd目录压缩为hqd.tar.gz:
tar -zcf hqd.tar.gz hqd )
tar -jcf hqd.tar.bz2 hqd
解压:
tar -zxvf hqd.tar.gz
tar -jxvf hqd.tar.ba2
2.网络配置
查询IP---ifconfig
设置IP--- sudo ifconfig eth0 192.168.1.122
网卡关闭--sudo ifconfig eth0 down
网卡启动--sudo ifconfig eth0 up
测试网络--ping 192.168.1.100
重启网络--sudo service networking restart
关闭防火墙:sudo ufw disable
3.修改文件权限
chmod u+x main.c(给main.c文件加上执行权限)
用八进制来修改权限
chmod 664 main.c
4.samba配置:
打开sudo vim /etc/samba/smb.conf
重启samba服务器:
sudo service smbd restart
sudo service nmbd restart
5.tftp服务器搭建
1.安装
sudo apt-get install openbsd-inetd tftpd
2.创建tftp共享目录
sudo mkdir /srv/tftp
把权限该为777
sudo chmod 777 /srv/tftp
在tftp下面放置要下载的文件(比如把main.c放置在这里)
3.客户端下载
sudo apt-get install tftp
tftp 192.168.1.9
get main.c
输入q退出
class80@class80-virtual-machine:~$ tftp 192.168.1.9
tftp> get main.c
Received 55 bytes in 0.0 seconds
tftp> q
class80@class80-virtual-machine:~$ ls
4.卸载软件
sudo apt-get remove tftpd
==========================================================================================================
一、移植u-boot、uImage、 rootfs命令:
1 配置网络
# pri
# setenv ipaddr 192.168.1.15 (注:192.168.xx.xx 即为开发板IP)
# setenv serverip 192.168.1.218 (注:192.168.xx.xxx即为主机IP)
# setenv gatewayip 192.168.1.1 (注:192.168.xx.1即网关)
# setenv netmask 255.255.255.0
# saveenv
# ping 192.168.xx.xxx (如果能通,则继续往下做)
2 烧写系统文件
首先,启动你的tftp服务,执行如下动作:
1)烧写kernel
# tftp 0x40000000 uImage
# nand erase 0x600000 0x500000
# nand write 0x40000000 0x600000 0x500000
2)烧写fs
# tftp 0x40000000 rootfs.img
# nand erase 0xe00000 0xf200000
# nand write.yaffs 0x40000000 0xe00000 0xxxxx(根据下载大小确定)
3)烧写u-boot
# tftp 0x40000000 u-boot.bin
# nand erase 0x0 0x600000
# nand write 0x40000000 0x0 0x600000
3 重启,配置启动参数
测试一:
# setenv bootcmd nand read 0x40000000 0x600000 0x500000 \; bootm 0x40000000
# saveenv
重启,观察效果。
测试二:
# setenv machid 0xf9f
# saveenv
重启,观察效果。
测试三:
# setenv bootargs root=/dev/mtdblock4 init=/sbin/init console=ttySAC0,115200 rootfstype=yaffs rw
# saveenv
重启,观察效果。
二、nfs挂载命令:
本地挂载:
#(静态) setenv bootargs root=/dev/mtdblock4 init=/linuxrc console=ttySAC0,115200 rootfstype=yaffs rw
nfs方式挂载rootfs
本地PC端:
1 准备好/mini_rootfs
2 安装软件包
#apt-get install nfs-common nfs-kernel-server portmap
3 配置nfs服务
#vim /etc/exports
加上以下内容:
/mini_rootfs *(rw,sync,no_root_squash)
重启nfs服务器
#sudo /etc/init.d/nfs-kernel-server restart
配置内核以支持NFS启动
make menuconfig
[*] Networking support --->
Networking options --->
[*] IP: kernel level autoconfiguration
File systems --->
[*] Network File Systems --->
--- Network File Systems
<*> NFS client support
[*] NFS client support for NFS version 3
[ ] NFS client support for the NFSv3 ACL protocol extension
[*] NFS client support for NFS version 4 (EXPERIMENTAL)
[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
[*] Root file system on NFS
<*> NFS server support
-*- NFS server support for NFS version 3
[*] NFS server support for the NFSv3 ACL protocol extension
[*] NFS server support for NFS version 4 (EXPERIMENTAL)
配置完毕后,重新编译,
make -j 2 uImage
uImage生成地方: arch/arm/boot/uImage;将生成的uImage烧写到开发板上
2 修改bootargs参数
开发板重新上电启动,进入到u-boot的交互界面,执行如下操作:
1)配置机器IP
# setenv serverip 192.168.1.218
# setenv ipaddr 192.168.1.15
# setenv gatewayip 192.168.1.1
# ping 192.168.1.8
2)配置启动方式
(动态挂载rootfs)u-boot交互界面设置:
#setenv bootargs root=/dev/nfs nfsroot=192.168.1.14://home/liangjian/samba-shmdir/driver-development/mini_rootfs ip=192.168.1.15:192.168.1.1::255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200
#save
(挂载目录driver)进到内核:
#vi /etc/init.d/rcS
# mount -o nolock -t nfs 192.168.1.14://home/liangjian/samba-shmdir/driver-development/src/driver /mnt
注:
192.168.1.14:主机IP
192.168.1.15:开发板IP,这个要在制作mini_rootfs的/etc/init.d/rcS时候在里面定义。
重新启动开发板,即可。