【知识点详解】 无盘启动是一种计算机启动方式,它允许设备从远程服务器获取操作系统映像,而不是从本地硬盘启动。在本场景中,我们讨论的是基于mini2440开发板的无盘启动流程,该过程涉及到Linux服务器的NFS配置、内核编译、根文件系统制作以及u-boot的烧写。 1. **NFS服务器配置**: - 安装NFS服务:在Ubuntu 12.04上,通过`sudo apt-get install nfs-kernel-server`安装NFS服务器。 - 配置共享目录:编辑`/etc/exports`文件,添加要共享的目录和访问权限,例如`/home/daixiangjun *(rw,sync,no_root_squash)`,表示允许所有IP对/home/daixiangjun目录进行读写操作,并保持同步,且不改变远程用户的根权限。 - 重启NFS服务:执行`sudo /etc/init.d/portmap restart`和`sudo /etc/init.d/nfs-kernel-server restart`以使更改生效。 - 挂载测试:使用`mount -t nfs -o [options] server_ip:/shared_dir mount_point`挂载NFS共享,如`sudo mount -t nfs -o rw,sync 192.168.66.253:/home/daixiangjun /mnt`,并使用`umount /mnt`卸载。 2. **内核编译**: - 确保内核支持NFS:在`Makefile`中设置`ARCH=arm`和`CROSS_COMPILE=arm-linux-`,然后运行`make mini2440_defconfig`配置内核。 - 使用`make menuconfig`进入图形界面配置内核选项,确保开启NFS支持。 - 编译内核:运行`make`和`make install`,生成的uImage将位于`arch/arm/boot`目录下。 3. **根文件系统制作**: - 使用工具如BusyBox(这里版本为1.13.3)构建基本的文件系统结构,包括创建必要的目录,如`bin`, `dev`, `etc`, `lib`, `proc`, `sbin`, `sys`, `usr`, `mnt`, `tmp`, `var`等。 - 在`dev`目录下创建字符设备文件,如`console`和`null`。 - 在`etc`目录下创建`fstab`, `inittab`, `profile`等配置文件,并在`init.d`下创建`rcS`启动脚本,这些脚本定义了系统的初始运行级别和服务启动顺序。 4. **u-boot烧写**: - 将u-boot中的`tools/mkimage`复制到`/usr/bin`,用于生成uImage。 - 根据具体的开发板和引导加载器文档,将编译好的uImage烧写到开发板的存储设备上,这一步通常涉及到特定的烧录工具和步骤。 完成以上步骤后,mini2440开发板就可以通过无盘启动方式从NFS服务器获取操作系统,实现远程启动和运行。这个过程中,NFS服务器的角色至关重要,它提供了操作系统所需的文件系统,而内核和根文件系统的定制确保了开发板能够正确识别和使用这些资源。同时,u-boot作为引导加载器,负责加载内核映像,启动整个系统。
剩余14页未读,继续阅读
- 粉丝: 2022
- 资源: 22
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助