Linux系统启动流程
程序开发调试的一般方法
1. TFTP下载内核+NFS网络文件系统。即内核和文件
系统均不在板卡上。主要用于调试内核功能。
2. FLASH启动内核+NFS网络文件系统,即内核固化
在FLASH内,文件系统在板卡外。主要调试文件
系统及应用程序。
3. FLASH启动内核+FLASH文件系统,即内核和文件
系统均在FLASH内。一般为开发完成后,进行系
统稳定性测试。
4. 以上几种方法均可以通过修改UBOOT的bootargs
参数来实现不同的系统启动方式。
安装TFTP服务端
1.安装TFTP软件
sudo apt-get install tftp-hpa tftpd-hpa
tftp-hpa是客户端,tftpd-hpa是服务器端
2.建立tftpboot目录,作为服务器的目录
sudo mkdir /tftpboot
释放权限:(服务器目录,需要设置权限为777,chomd 777)
sudo chmod 777 /tftpboot
3.配置TFTP服务器
sudo gedit /etc/default/tftpd-hpa
将原来的内容修改为:
TFTP_DIRECTORY="/tftpboot"
TFTP_OPTIONS="-l -c -s"
安装TFTP服务端
4.重新启动TFTP服务
sudo service tftpd-hpa restart
5.测试TFTP
cd /tftpboot echo "hello tftp service">>a.txt
echo "hello tftp service,put to tftp serive">>b.txt
tftp localhost
tftp> get a.txt
tftp> put b.txt
tftp> quit
其中get是取得文件,put是将文件上传到TFTP服务器上。
安装NFS服务端
1.安装NFS
Ubuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端:
sudo apt-get install nfs-kernel-server
2.配置/etc/exports
NFS 允许挂载的目录及权限在文件/etc/exports 中进行了定义。
例如,我们要将根目录下的/opt/nfs目录共享出来,那么需要在/etc/exports文
件末尾添加如下一行:
/opt/nfs *(rw,sync,no_root_squash)
其中: /opt/nfs是要共享的目录,
*代表允许所有的网络段访问,
rw是可读写权限,sync是资料同步写入内存和硬盘,
no_root_squash是NFS客户端分享目录使用者的权限,如果客户端使用的是
root用户,那么对于该共享目录而言,该客户端就具有root权限。
安装NFS服务端
3.重启NFS服务
sudo service nfs-kernel-server restart
4.测试NFS
此时可以运行以下命令来显示一下共享出来的目录:
showmount -e
或者可以使用以下命令把它挂载在本地磁盘上,例如将/opt/nfs挂载到/mnt下:
sudo mount -t nfs localhost:/opt/nfs /mnt
可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:
sudo umount /mnt