一、安装ubuntu
二、修改源
# sudo vi /etc/apt/sources.list
deb ftp://ftp3.tsinghua.edu.cn/mirror/ubuntu/ubuntu/
或直接在
系统->系统管理->软件源
选择软件源
三、更新源列表
# sudo apt-get update
四、安装中文环境 :系统->系统管理->语言支持
在“支持的语言”列表中选中“汉语”右边的复先框,点“确定”
五、安装 vim(系统自带的那个简直是“鸡肋”很多功能不能用)
# sudo apt-get install vim
六、安装串口工具 minicom 或kermit (本人喜欢使用kermit)
# sudo apt-get install minicom
或
#sudo apt-get install ckermic
配置文件
#cd ~ 进入用户目录
#vim .kermrc
添加如下内容:
set line /dev/ttyS0 #如果使用的是USB串口这里是/dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
七、安装NFS服务器
#sudo apt-get install nfs-kernel-server
配置:
# sudo mkdir -p /nfsroot/myfs
# sudo chmod 777 /nfsroots
# sudo vi /etc/exports
/nfsroot/myfs *(rw,async,no_root_squash)
# sudo /etc/init.d/nfs-kernel-server restart
八、安装TFTP服务器
#sudo apt-get install tftp-hpa tftpd-hpa xinetd
配置:
# sudo mkdir -p /tftpboot
# sudo chmod 777 /tftpboot
# sudo vim /etc/xinetd.d/tftp
添加如下内容
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
# sudo /etc/init.d/xinetd restart
九、安装编译内核需要的库
# sudo apt-get install libncurses5-dev sharutils
十、安装交叉编译链
注意:安装完成后:1.source /etc/profile 让修改的配置生效
2.make ARCH=arm CROSS_COMPILE=arm-linux- 指定交叉编译链的前缀
十一、安装MINICOM以及配置
1、在使用minicom之前,首先要保证你对串口有读/写的权限。我们知道,Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限:
$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 2009-08-01 11:05 /dev/ttyS0
可以看到,它的属主是root。
2、正如在Windows中要配置超级终端一样,在使用minicom之前,先要对串口进行配置。
运行# sudo minicom -s
选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处:串口COM1对应ttyS0,COM2对应ttyS1(注意选择)。
然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),硬/软件流控制分别键入"F"和"G",并且都选No。在确认配置正确之后,可键入回车返回上级配置界面,并 将其保存为默认配置(即save setup as dfl)。最后,选择"Exit from Minicom"命令退出。
具体的配置信息如下所示:
Serial port setup [Enter]
+-------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program -: |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-------------------------------------------------------------+
注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。
然后重启minicom(即直接在shell下执行minicom命令就可以进入minicom的控制台)使刚才的配置生效,再连上开发板的串口线后,就可以在minicom中打印出正确的串口信息了。在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。
组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。
(1)S键:发送文件到目标系统中;
(2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
(3)C键:清除屏幕的显示内容;
(4)B键:浏览minicom的历史显示;
(5)X键:退出mInicom,会提示确认退出。
3、配置文件所在目录
Ctrl + A --> O
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols -|
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
+--------------------------+
选择"Filenames and paths"
+-----------------------------------------------------------------------+
| A - Download directory : /home/crliu |
| B - Upload directory : /tmp |
| C - Script directory : |
| D - Script program : runscript |
| E - Kermit program : |
| F - Logging options |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
(1)A - download 下载文件的存放位置(开发板 ---> PC)
开发板上的文件将被传输到PC机上的/home/crliu目录下。
(2)B - upload 从此处读取上传的文件(PC ---> 开发板)
PC机向开发板发送文件,需要发送的文件在/tmp目录下(PC机上的目录)。做了此项配置后,每次向开发板发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径。
三、Linux下如何使用USB转串口设备
对没有串口的笔记本持有者来说,做硬件开发经常为没有串口而烦恼,不过现在有了USB转串口设备。但是新的问题又出现了,比如说对于Minicom下的PC机和目标机通信还是存在着一些配置问题,下面就说一下linux下USB转串口的具体配置和问题:
注意:默认情况下ubuntu已经安装了USB转串口驱动(pl2303)。
minicom的配置,usb转串口
1、# lsmod | grep usbserial
如果有usbserial,说明系统支持USB转串口。
2、插上USB转串口,在终端输入命令#dmesg | grep ttyUSB0,如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。
注意:虚拟机环境下的ubuntu默认情况下是不能自动识别的,需要在虚拟机窗口右下角点击"Prolific USB-Serial Controller",然后选择"Connect (Disconnect from Host)",这样才能被ubuntu系统识别。
3、在上面minicom的配置中设置Serial Device: /dev/ttyUSB0,重启开发板,这样基本上就可以正常使用minicom来打印串口信息了。
4、问题
如果经过上面的步骤minicom还是不能正常工作,出现如下错误提示:
# sudo minicom
minicom: cannot open /dev/ttyUSB0: 没有该文件或目录
这时可以尝试换一个USB口,然后再次操作以上流程。如果还是提示这个错误,那么可以使用下面的方法来解决。
这种方法是在硬件里添加串口设备,将window下的设备添加到虚拟机里。也就是说,要在window获得焦点的时 候加入usb转串口,然后再到虚拟机下将这个设备添加进去,这时就可以在ubuntu下查看添加的这个设备的设备文件,一般是/dev/tty0或者 /dev/ttyS0。
这种方法其实是将window的usb转串口作为虚拟机的串口,所以就是tty0或者ttyS0了,而不是真正在ubuntu下加载的。
具体步骤如下:
(1)打开虚拟机环境,然后选择"VM-->Settings(Ctrl+D)"。
(2)点"Add",进入添加硬件向导,选择"Serial Port",点"Next"。
(3)选择第一项"Use physical port on the host",点"Next"。
(4)选择"Physical serial port"方式为"Auto detect",勾选"Connect at power on",点"Finish"完成。
(5)然后在上面minicom的配置中设置Serial Device: /dev/tty0或者Serial Device: /dev/ttyS0,重启开发板,这样就可以正常运行minicom了。
还有一个问题就是在ubuntu下用ifconfig时,没有ip地址,
则可以这样做:
sudo gedit /etc/network/interfaces
auto lo
iface lo inet loopback #lo 是本地回环地址:127.1
auto eth0
iface eth0 inet static
address 192.168.1.152
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255 #设定eth0的IP
这样,IP并没有立即生效。
sudo /etc/init.d/networking restart
如果只是要临时改变IP地址,则不用修改interface.只用ifconfig使用即可,不过当系统重启动后会恢复interfaces中的配置上。
$ sudo ifconfig eth0 192.168.1.111 netmask 255.255.255.0
十二、通过SD卡启动开发板的步骤
1:烧写bl1 ,bk2 等
十三、安装NFS服务器 mount常用命令
这样才能使用mount命令来用开发板挂载电脑
1、启动NFS服务器
为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。
#service portmap start
#service nfs start
RHEL4和5是portmap 和 nfs,RHEL6以后改名叫作rpcbind 和 nfs-server 了
另外RHEL 7以后对服务的操作命令建议使用:systemctl [status|stop|start|restart] [serviceName]
如:systemctl status rpcbind 、 systemctl restart nfs-server
2、查询NFS服务器状态
#service portmap status
#service nfs status
3、停止NFS服务器
要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
#service nfs stop
#service portmap stop
4、重启portmap和nfs 服务
#service portmap restart
#service nfs restart
#exportfs
5、设置NFS服务器的自动启动状态
对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。
#chkconfig --list portmap
#chkconfig --list nfs
设置portmap和nfs服务在系统运行级别3和5自动启动。
#chkconfig --level 35 portmap on
#chkconfig --level 35 nfs on
6、服务器端使用showmount命令查询NFS的共享状态
#showmount –e //默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错
#showmount –a IP 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
7、显示已经与客户端连接上的目录信息
#showmount -a
8、客户端使用showmount命令查询NFS的共享状态
#showmount -e NFS服务器IP
十四、