使用orangepi玩linux

最近看了这个大佬的文章,写了使用远程来挂载linux的方案,觉得还是很有意思的,瞬间感觉linux这块都还是相通的,就跑了一下,果然,牛逼!
香橙派全志H3烧录Uboot,远程加载zImage,dtb,rootfs

但是这个博主只讲了用网络挂载,我觉得还可以弄个本地的,这样更方便。下面说一下具体的流程:

1、编译uboot和烧写

这里我用了和博主一样的文件,解压安装就完事
在这里插入图片描述
这里注意一下交叉编译器的安装,参考这个:交叉编译器安装
最后验证一下:
使用orangepi玩linux_第1张图片
之后进入uboot的路径,修改目标啥的,就开始编译

make orangepi_pc_defconfig
make

最后得到uboot,使用sd卡来烧录
使用orangepi玩linux_第2张图片
sd卡格式化成这样两个分区
使用orangepi玩linux_第3张图片
烧录uboot
在这里插入图片描述

2、编内核

也是进入内核的目录,修改目标之后就可以编译

make sunxi_defconfig
make

使用orangepi玩linux_第4张图片
得到内核和设备树

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'
saveenv

4、编译文件系统

做一些配置

make defconfig
make menuconfig

之后安装到nfs的路径下

make
make install CONFIG_PREFIX=/home/lx/orangepi/nfs/rootfs

5、使用nfs挂载文件系统

在uboot里面加上这段,上电后就会自动加载

setenv bootargs 'console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/home/lx/orangepi/nfs/rootfs,proto=tcp rw ip=192.168.1.10:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off'
saveenv

6、uboot在sd卡中加载kernel和设备树

先把内核镜像和设备树放到sd卡,如下所示
使用orangepi玩linux_第5张图片
之后使用下面的命令设置启动方式

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拉文件了
使用orangepi玩linux_第6张图片

7、uboot在sd卡中加载rootfs

这个需要先参考正点原子把库拿过来,就是下面这一章
使用orangepi玩linux_第7张图片
拷贝了下面三个路径
使用orangepi玩linux_第8张图片
最后文件系统还是很大的
在这里插入图片描述
最后做一下拷贝:

sudo cp -a ~/orangepi/nfs/rootfs/* /mnt/sdcard/

就是文件系统都拷贝到ext4那个分区里面
使用orangepi玩linux_第9张图片
将启动方式固化到文件系统:

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10
saveenv

最后启动如下:
使用orangepi玩linux_第10张图片

你可能感兴趣的:(IMX6ULL记录,linux设备使用记录,linux,运维,服务器)