ubuntu10.10 嵌入式环境搭建
一.主机操作系统安装。
1. 我是采用linux与windows双系统的。平时在linux上面学习开发,娱乐的时候在windows上面。linux系统采用ubuntu10.10。
2. ubuntu10.10 硬盘分配:10G 挂载到根目录下,10G挂载到home下,4G的交换空间(一般为内存的两倍)
3. ubuntu10.10 U盘启动制作
(1) 使用软软件 ultraiso
(2) 打开软件加载ubuntu10.10 ISO文件(从官网下载的镜像)。
(3)写入硬盘镜像 写入方式 USB-HDD+ 便捷启动->写入新的硬盘主引导记录->USB-HDD+(我是笔记本,台式机根据主板的不同而不同)。
(4)修改U盘内文件 syslinux/syslinux.cfg 注释掉 default vesamenu.c32 这一行(我没改的时候开机总是启动不了安装文件,但是有人没改也可以)。
4. 安装系统
注意:首先安装windows,然后才安装linux ,否则window会使你无法启动linux(当然也有一种先装windows,再装linux的方法,不过我始终没有装好)。还有windows安装在主分区,linux安装在第二个主分区(也可以装在逻辑分区上,这主要看你分了几个主分区),并且grub要安装在MBR上(安装默认选项,不用管)。
二. 交叉编译工具
这个和在虚拟机fedora 9上安装是一样的,我使用的友善之臂推荐的arm-linux-gcc 4.4.3。
三. USB下载工具DNW2
这个主要是配合supervivi来进行USB下载的,相当与windows下的dnw,这个是网上一个牛人写的,很好用。
安装文件下载地址: http://download.csdn.net/detail/YAOZHENGUO2006/3586125
使用的时候要加sudo或者以root权限运行,dnw2 filename
四. 源代码查看工具Kscope
相当于windows下的source insight,界面和操作方法都一样。安装方式,将如下代码保存到文本文件,加上可执行权限,在终端运行就可以了。在运行的前提是当前目录已经有了kate_3.5.9.dfsg.1-6_i386.deb这个文件,本来下面的脚本自动在网站上下载的,但是我发现目前网上http://ftp.debian.org/debian/pool/main/k/kdebase没有这个安装包。所以得下载。在百度上直接搜这个就可以下到了。
#!/bin/bash
# This script helps you install Kscope on Ubuntu 10.10.
# You can also use it to fix "Kscope doesn't run in KDE4" bug.
echo "Determining machine hardware name... "
MACHINE=`uname -m`
case "$MACHINE" in
i386 | i586 | i686)
ARCH="i386"
;;
x86_64)
ARCH="amd64"
;;
*)
ARCH="i386"
;;
esac
# If Kscope is not installed, install it.
which kscope &> /dev/null
if [ $? -ne 0 ]; then
echo "Installing kscope..."
sudo apt-get install kscope || \
wget http://archive.Ubuntu.com/ubuntu/pool/universe/k/kscope/kscope_1.6.0-1_${ARCH}.deb && \
sudo dpkg -i kscope_*.deb || \
sudo apt-get -fy install || \
echo "Oops, some error happens..."
fi
kscope -v &> /dev/null
if [ $? -eq 0 ]; then
echo "Kscope works fine."
exit
fi
echo "Installing KDE3 libraries..."
sudo cp kate/usr/lib/libkateinterfaces.so.0.0.0 /usr/local/lib/
sudo cp kate/usr/lib/libkateutils.so.0.0.0 /usr/local/lib
sudo ln -s /usr/local/lib/libkateinterfaces.so.0.0.0 /usr/local/lib/libkateinterfaces.so.0
sudo ln -s /usr/local/lib/libkateutils.so.0.0.0 /usr/local/lib/libkateutils.so.0
sudo ldconfig
echo "Finished."
五.NFS服务器搭建
1. 在新立得软件包管理器上安装 nfs-kernel-server,他会自动安装一些依赖
2. 打开/etc/exports文件,在末尾加入:
/home/yao/work/nfsshare/rootfs_qtopia_qt4 *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义, 各字段含义如下:
/home/yao/work/nfsshare/rootfs_qtopia_qt4:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入硬盘
no_root_squash:nfs客户端共享目录使用者权限
3. 重启服务:
#sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务
4. 验证:#sudo mount -t nfs localhost:/home/yao/work/nfsshare/rootfs_qtopia_qt4 /mnt
如果发现在mnt中的内容和/home/yao/work/nfsshare/rootfs_qtopia_qt4是一样的,那么恭喜你,成功了
六.tftp服务器的安装配置
1. ubuntu 下可以使用的tftp服务器有三种:前面是客户端,后面是服务器端
(1)tftp和tftpd
(2)atftp和atftpd
(3)tftp-hpa和tftpd-hpa
我所使用的是第三种
2. 安装步骤
(1) 用新立得先去卸载tftp和tftpd(如果你安装的话),tftp-hpa和tftpd-pha(如果你安装的话),这样可以清理一些错误的设置
(2) 用新立得去安装tftp-hpa和tftpd-pha,这样系统自动会安装一些依赖
(3) 建立tftp目录,然后设置访问权限:
sudo mkdir /tftpboot
sudo chmod 777 tftpboot/
(4)更改配置文件/etc/default/tftpd-hpa
sudo gedit /etc/default/tftpd-hpa
修改好后,内容如下:
# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s -c /tftpboot"
TFTP_USERNAME="sun"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
参数说明:
-c 为可创建新文件,若无此参数,put命令则可能出现错误提示,此时只能覆盖原有文件不能创建新文件
OPTIONS 参数后面跟的是你的TFTP的根目录。
TFTP_USERNAME是用户名,我这里的是"sun",你根据自己情况修改。
TFTP_DIRECTORY后面也是同样的根目录 "/tftpboot",你根据自己情况修改。
(5).重启tftp服务
sudo service tftpd-hpa restart
出现:tftpd-hpa start/running, process 3907 (一定要有process 否则就没有成功)
(6).确认tftp服务是否已经开启,查看tftp相关进程:
sun@sun-Crestline-ICH8M:~$ ps aux |grep tftp
root 1573 0.0 0.0 2348 124 ? Ss 14:41 0:00 /usr/sbin/in.tftpd --listen --user sun --address 0.0.0.0:69 --secure /tftpboot
sun 14184 0.0 0.0 5628 768 pts/0 S+ 20:32 0:00 grep --color=auto tftp
以上两行必须要有的,否则不会成功!
此处可以看到:
--listen就是对应的配置文件中的参数 -l
--user sun就是对应配置文件中的参数 TFTP_USERNAME="sun"
/tftpboot就是对应的配置文件中的参数 TFTP_DIRECTORY=" tftpboot"
(7).验证tftp是否生效,本机测试
tftp 192.168.1.101
tftp>get u-boot.bin
tftp>quit
192.168.1.101是我的主机的ip。如果你是自动获取的ip,可以写成127.0.0.1,这个地址始终代表了你的本机IP。get是tftp的命令,即从tftp服务器中下载获得文件。你可以输入?查看其他命令。常见的命令有get下载文件,put上传文件等等。u-boot.bin是我已经存在在tftp根目录下面的文件。quit是退出tftp。
注意:测试的时候你的电脑一定得连网,要不测试本机也不会成功的(貌似很傻,但是我就是没连网的时候测试的,结果失败了)
七. 串口终端安装
1. linux可以使用的串口终端有两个,kermit和minicom,但是minicom感觉不好用,所有使用的是kermit
2. 安装配置过程
(1) apt-get install ckermit 安装kermit
(2)配置
# vi /home/sun/.kermrc (也就是你主文件夹)
set line /dev/ttyUSB0 (这个是你串口设备名称,我使用的是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
(3)启动
# kermit
C-Kermit>connect
现在就已经成功连接到串口了。
(4)切换
按下 Ctrl + \, 再按c可以跳回kermit输入行,键入quit退出