成都专业网站建设优化团队,网站建设内容大全,网页什么设计,网站开发四川最近看了这个大佬的文章#xff0c;写了使用远程来挂载linux的方案#xff0c;觉得还是很有意思的#xff0c;瞬间感觉linux这块都还是相通的#xff0c;就跑了一下#xff0c;果然#xff0c;牛逼#xff01; 香橙派全志H3烧录Uboot#xff0c;远程加载zImage#xf…最近看了这个大佬的文章写了使用远程来挂载linux的方案觉得还是很有意思的瞬间感觉linux这块都还是相通的就跑了一下果然牛逼 香橙派全志H3烧录Uboot远程加载zImagedtbrootfs
但是这个博主只讲了用网络挂载我觉得还可以弄个本地的这样更方便。下面说一下具体的流程
1、编译uboot和烧写
这里我用了和博主一样的文件解压安装就完事 这里注意一下交叉编译器的安装参考这个交叉编译器安装 最后验证一下 之后进入uboot的路径修改目标啥的就开始编译
make orangepi_pc_defconfig
make最后得到uboot使用sd卡来烧录 sd卡格式化成这样两个分区 烧录uboot
2、编内核
也是进入内核的目录修改目标之后就可以编译
make sunxi_defconfig
make得到内核和设备树
3、使用uboot加载kernel
使用这个命令
tftp 42000000 zImage //zImage复制到内存的42000000处
tftp 43000000 sun8i-h3-orangepi-pc.dtb //设备树复制到内存的43000000 处固化到uboot里面就是
setenv bootcmd tftp 42000000 zImage; tftp 43000000 sun8i-h3-orangepi-pc.dtb; bootz 0x42000000 - 0x43000000
saveenv4、编译文件系统
做一些配置
make defconfig
make menuconfig之后安装到nfs的路径下
make
make install CONFIG_PREFIX/home/lx/orangepi/nfs/rootfs5、使用nfs挂载文件系统
在uboot里面加上这段上电后就会自动加载
setenv bootargs consolettyS0,115200 root/dev/nfs nfsroot192.168.1.100:/home/lx/orangepi/nfs/rootfs,prototcp rw ip192.168.1.10:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off
saveenv6、uboot在sd卡中加载kernel和设备树
先把内核镜像和设备树放到sd卡如下所示 之后使用下面的命令设置启动方式
setenv bootcmd mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;
saveenv启动如下就不是从tftp拉文件了
7、uboot在sd卡中加载rootfs
这个需要先参考正点原子把库拿过来就是下面这一章 拷贝了下面三个路径 最后文件系统还是很大的 最后做一下拷贝
sudo cp -a ~/orangepi/nfs/rootfs/* /mnt/sdcard/就是文件系统都拷贝到ext4那个分区里面 将启动方式固化到文件系统
setenv bootargs consolettyS0,115200 root/dev/mmcblk0p2 rootwait panic10
saveenv最后启动如下