一、编译内核:
1自制油条、先手动配置内核
cd osdrv/kernel/linux-3.0.y
cp arch/arm/configs/hi3518e_full_deconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
选择General setup——Cross-compiler tool prefix 输入arm-hisiv100nptl-linux- 退出,保存
2、进入/osdrv/Makefile文件中:
将规则hirootfs_build:pushd $(OSDRV_DIR)/pub/$(PUB_ROOTFS)/lib/;$(OSDRV_CROSS)-strip *;popd这一行的注释去掉,为了生成精简版的文件系统。
3、执行make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3518e all
生成的内核镜像和文件系统放在/osdrv/pub目录中,将uImage和后面生成的文件镜像拷贝到安装tftp服务时创建的目录下面(以下有说明)
可能出现以下问题:
1、pushd 命令不到!
ll /bin/sh ——查看/bin/sh的指向,如果结果是dash,修改为bash
ln -s /bin/bash /bin/sh -f
二、制作文件系统:
1、首先将~/mpp2/ko/pinmux_hi3518.sh文件的两行注释掉:
net_mii_mode函数中的:himm 0x200f005c 0x1himm 0x200f0070 0x1这两行。
2、拷贝该ko文件到~/osdrv/pub/rootfs_uclibc文件下。
3、把~/osdrv/pub/rootfs_uclibc文件夹打包成镜像的命令:
mkfs.jffs2 -d 文件系统的路径 -l -e 0x10000 -o 文件镜像的目标位置/文件镜像名称;
如:
mkfs.jffs2 -d ~/lenglihong/HiSi3518/Hi3518_SDK_V1.0.9.0/osdrv/pub/rootfs_uclibc -l -e 0x10000 -o ~/lenglihong/HiSi3518/Hi3518_SDK_V1.0.9.0/osdrv/pub/rootfs_64k_ko.jffs2
三、烧录过程
WINDOW 7下的烧录:
(1)、工具
SecureCTR、tftpd32
(2)、具体步骤
1、安装usb转串口的驱动
      在~/usb驱动/WIN7驱动2/Prolific_目录下
      安装后到设备管理器中查看是否安装成功。
2、安装tftpd32软件,在百度上面随便搜索一个下载,安装后,打开tftpd32软件。
      其中当前目录指的是安装tftpd32的安装目录,点击显示目录可以看到该目录下的内容。后面要烧录的镜像文件都是放在这个目录下的,在u-boot控制命令台加载镜像文件的时候,自动从该目录下搜索指定的镜像文件。
    服务器IP地址指的是当前PC机的IP地址,当打开tftpd32软件的时候,会自动把你当前PC上的IP地址加载到此处。如果你想修改服务器的IP地址,直接把你的PC的IP地址修改后,打开tftpd32软件,会自动加载的。
3、安装SecureCTR软件,具体步骤请百度。
    首先打开SecureCTR软件,选择快速链接,会弹出一个选项框。
    在Protocla 下拉菜单中选择 serial ;
    Port的选择依据安装驱动时分配的com端口;
    波特率选择115200
    赚钱方法点击ok
    当窗口出现绿勾时表明链接成功。
4、重新启动开发板,按住ctrl+c进入u-boot的控制台,再根据烧录步骤,输入命令烧kernel和文件系统。但是一定要把相关镜像文件拷贝到tftpd32的安装目录下,不然不到。
LINUX下的烧录:
(1)、工具
minicom、tftp
(2)、步骤
1、安装ftpd以及相关软件包
sudo apt-get install xinetd tftpd tftp
2、创建文件/etc/xinetd.d/tftp并且按如下所示配置
service tftp
{
protocol                = udp
port                    = 69
socket_type    = dgram
wait                    = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args    = /tftpboot
disable        = no
}
3、在系统根目录下创建tftproot目录,并修改权限
$sudo mkdir /tftpboot
$sudo chmod -R 777 /tftpboot
$sudo chown -R nobody /tftpboot
4、启动tftp服务
$ sudo /etc/init.d/xinetd stop
$ sudo /etc/init.d/xinetd start
如果出现错误如下:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service xinetd stop
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop xinetd
xinetd stop/waiting
原来新版本下不能用此方式启动 tftp server了,要用
service /etc/init.d/xinetd(服务名)start(stop/restart)
5、检查tftp是否已经启动成功
  $ sudo netstat -lnput
红代表服务已启动。
6、测试:传输一个文件
  也可以将localhost改为127.0.0.1
如果出现错误,可能是的权限不够。
用ls -l 文件查看改文件的权限。
文件的权限应该是666若低于该权限,请修改为666。
Sudo Chmod 666 文件;奶茶品牌
7、下载minicom南通周边城市旅游景点
(1)有些linux系统自带了minicom,直接用命令安装就行了:
    apt-get install minicom
    也可以从以下地址下载安装:
  /projects/minicom/
2)安装完成后:
    用指令"rpm -qa | grep minicom"来确认是否安装了minicom,回车后会显示minicom 的版本信息.
第一次 启动时:
即输入 minicom提示 错误。则 需: minicom -s
启动
出现配置菜单:选serial port setup
进入串口配置
输入A配置串口驱动为/dev/ttyS0(如果使用USB转接口,Serial Device要配置为/dev/ttyUSB0
输入E配置速率为115200 8N1
输入F Hardware Flow Control NO
回车 退出
于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置.(若保存时出错,可能是因为权限不够,用root身份配置minicom则可)
在配置菜单 Save setup as df1保存(一定要记得这一步)
Exit退出
下次在输入minicon 即可直接进入。
命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。
说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复
8、接下来就可以进入mincom进行烧录了
    若出现TFTP error: 'Access violation'这种错误,可能是因为/tftpboot目录下的镜像文件权限不够,设置成666朝花夕拾狗猫鼠读书笔记即可。
可能遇到以下问题:
四、挂载NFS文件系统
1、在你的PC机上安装NFS服务
执行sudo apt-get install  nfs-kernel-server
查看nfs端口是否打开:
netstat -tl
可以看出nfssunrpc端口已经处于监听状态。
启动和停止nfs命令如下:
sudo /etc/init.d/nfs-kernel-server start(stop/restart)
接下来对nfs服务器进行配置:
打开/etc/exports文件,在末尾加入:
/home/kevin *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:
/home/kevin:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
林文龙个人资料
no_root_squashnfs客户端共享目录使用者权限
重启服务:
#sudo /etc/init.d/portmap restart<---重启portmap
#sudo /etc/init.d/nfs-kernel-server restart<---重启nfs服务
#showmount -e<---显示共享出的目录
注:nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定