根据给定的文件信息,以下是关于Orange Pi PC(H3)移植Linux的详细知识点: 开始准备移植Linux环境的计算机,使用了VMware Workstation来安装Ubuntu 16.04操作系统,这是因为在虚拟机上工作可以避免对宿主机系统造成风险,尤其是在进行交叉编译这样的底层操作时。虚拟机软件选择VMware Workstation是因为其稳定性和兼容性较好。 在Ubuntu系统中,为了提高性能和效率,还需要安装VMware Tools,这是VMware虚拟机的增强工具包,能够提高虚拟机的显示效果、性能和易用性。 安装交叉编译器是移植工作的关键步骤。交叉编译器是指在一个架构平台上编译出能在另一个架构平台上运行的程序的编译器。在本例中,需要安装的交叉编译器是arm-linux-gnueabi和arm-linux-gnueabihf版本,注意不能使用高版本的编译器,因为可能会出现不兼容的情况。在Ubuntu 16.04中,可以通过查看apt-cache的可用包列表来指定安装特定版本的编译器。例如,可以选择4.8.2版本的arm-linux-gnueabihf-gcc。 另外,移植过程中还可能需要Java开发工具包(JDK),因此也需要进行安装。本例中未提及安装JDK的具体版本,但是安装过程中需要注意选择与Ubuntu 16.04兼容的版本。 接着,获取Orange Pi PC(H3)对应的内核源码。使用的源码仓库是orange pi的官方GitHub,其中包含了与H3硬件兼容的两个内核版本以及u-boot的源码。从仓库中使用git clone命令获取源码到本地环境中。 移植过程中的关键一步是编译u-boot,即通用引导程序。u-boot负责初始化硬件设备、设置内存空间等硬件级操作,为操作系统内核的启动做准备。在本例中,通过执行u-boot的编译脚本build_mainline_uboot.sh来完成u-boot的编译工作。然而,编译过程中出现了问题,提示缺少必要的文件u-boot-sunxi-with-spl.bin。通过检查Makefile文件,了解到需要转换spl/sunxi-spl.bin文件,但是转换过程中出错。因此,绕过脚本直接使用make命令来执行编译,解决了问题。 编译成功后,需要将编译出的u-boot-sunxi-with-spl.bin文件烧写到SD卡的启动分区。烧写前,首先要对SD卡进行分区,并格式化分区。分区时要注意查看设备信息、卸载已经挂载的分区,以免分区无法保存成功。分区后,使用fdisk命令创建启动分区和数据分区,然后将启动分区格式化为FAT32,数据分区为ext4。格式化完成后,使用dd命令将u-boot-sunxi-with-spl.bin文件写入SD卡的启动分区。 最后一步是编译内核。文中虽然提到了编译内核(主线内核)的步骤,但是没有详细说明具体的编译过程。编译内核是一个复杂的过程,需要根据具体的内核版本和硬件平台选择相应的配置选项和编译命令。 移植Linux到Orange Pi PC(H3)的过程主要包括了安装虚拟机和开发工具、获取源码、编译u-boot以及内核、烧写到SD卡等步骤。每一步都需要精确的操作和对细节的把握,才能顺利完成移植任务。这个过程不仅需要对Linux操作系统、交叉编译、引导加载程序等方面有深入的理解,还需要对硬件平台有一定的了解。此外,由于Linux内核的开源特性和硬件平台的多样性,移植工作往往需要解决各种兼容性问题。
剩余15页未读,继续阅读
- mimi00x2018-10-25简单看了一下,写的挺全面,确实有帮助
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助