从零开始为香橙派orangepi zero 3移植主线linux——2.linux kernel

从零开始为香橙派orangepi zero 3移植主线linux——2.linux kernel

  • 0.环境搭建补档
    • NFS服务
    • TFTP服务
  • 一、linux kernel编译
  • 二、运行


0.环境搭建补档

  linux kernel验证时,使用tftp服务从ubuntu主机下载启动更加方便,等到验证无误后再一次性烧写到tf卡。所以在此记录一下有关的环境安装,方便后续查找。

NFS服务

ubuntu下安装:

sudo apt-get install nfs-kernel-server rpcbind

打开配置文件,并添加自己的NFS路径:

sudo vim /etc/exports

追加内容:

<path_to _directory> *(rw,sync,no_root_squash)

重启NFS服务:

sudo /etc/init.d/nfs-kernel-server restart

TFTP服务

ubuntu下使用以下命令安装相关工具:

sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd

创建tftpboot所使用的目录,并赋予权限:

mkdir <path_to _directory>
chmod 777 <directory>

ubuntu下新建文件/etc/xinetd.d/tftp,并写入如下内容:

server tftp
{
	socket_type = dgram
	protocol = udp
	wait = yes
	user = root
	server = /usr/sbin/in.tftpd
	server_args = -s <path_to _directory>
	disable = no
	per_source = 11
	cps = 100 2
	flags = IPv4
}

打开/etc/default/tftpd-hpa文件,将其修改为如下所示内容:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="<path_to _directory>"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

最后重启tftp服务:

sudo service tftpd-hpa restart

一、linux kernel编译

在linux源码目录下,使用以下命令编译:

export PATH=$PATH:<path_to_toolchain>/aarch64-none-linux-gnu/bin
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- menuconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- -j20

由于arm64平台比较新,所以各大厂商的支持也比较差,只有一个默认的defconfig配置,笔者暂时只能基于这个配置文件进行适配。在menuconfig的platform selection菜单中,去掉其他厂商的SoC支持,只保留全志平台和ARMv8 software model两个选项。
在这里插入图片描述
其他的设备驱动只能后续再进行适配和精简,将此配置文件暂时保存备份。编译生成的文件为arch/arm64/boot/Imagearch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dtb

二、运行

暂时使用tftp方式下载内核镜像并启动,将上述文件放入ubuntu的tftp目录,并赋予相关权限。开发板进入到uboot后手动配置相关网络参数,并设置如下启动参数:

setenv ipaddr 192.168.1.105         //开发板 IP 地址
setenv gatewayip 192.168.1.1        //开发板默认网关
setenv netmask 255.255.255.0        //开发板子网掩码
setenv serverip 192.168.1.103       //服务器地址,也就是 Ubuntu 地址
setenv bootargs 'console=ttyS0,115200'

setenv boottftp 'tftp 40080000 Image; tftp 4fa00000 sun50i-h618-orangepi-zero3.dtb; booti 0x40080000 - 0x4fa00000'
saveenv

在这里插入图片描述
在这里插入图片描述
可以看到已经能够正常加载内核镜像,但有一些驱动还没有正确加载,并且由于没有根文件系统,最终是不能正常启动的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/512646.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 Docker 部署 Photopea 在线 PS 工具

1&#xff09;Photopea 介绍 GitHub&#xff1a;https://github.com/photopea/photopea 官方手册&#xff1a;https://www.photopea.com/learn/ Adobe 出品的「PhotoShop」想必大家都很熟悉啦&#xff0c;但是「PhotoShop」现在对电脑配置要求越来越高&#xff0c;体积越来越大…

中兴R5300 G4服务器BMC远程管理启用防火墙设置

中兴R5300 G4服务器启用了BMC远程管理&#xff0c;为保障设备安全配置启用防火墙只放通特定维护服务器可以访问。 一、设备初始登录信息 1、中兴R5300G4服务器&#xff0c;默认BMC管理地址https//192.168.5.7 2、中兴zteroot用户的默认密码为&#xff1a;Superuser9! 二、…

python文件处理:解析docx/word文件文字、图片、复选框

前言 因为一些项目原因&#xff0c;我需要提供解析docx内容功能。本来以为这是一件比较简单的工作&#xff0c;没想到在解析复选框选项上吃了亏&#xff0c;并且较长一段时间内通过各种渠道都没有真正解决这一问题&#xff0c;反而绕了远路。 终于&#xff0c;我在github pytho…

中颖51芯片学习1. 系统时钟及IO口输出操作

中颖51芯片学习1. 系统时钟及IO口输出操作 一、芯片介绍1. 规格2. 资源3. 中断源&#xff1a;4. 方框图5. 封装&#xff08;1&#xff09;32脚LQFP封装&#xff08;2&#xff09;28脚SOP封装&#xff08;3&#xff09;20脚SOP封装 二、开发环境搭建1. 安装keil2. 安装中颖keil插…

【管理咨询宝藏47】AA银行风险管理体系提升分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏47】AA银行风险管理体系提升分析报告 【格式】PPT版本&#xff0c;可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上…

Java入门基础day27

day27 接口 package com.saas; ​ public interface MyInterface { ​int NUM 100; ​public void test(); } package com.saas; ​ public class MyClass01 extends Object implements MyInterface{ ​int NUM 200; ​Overridepublic void test() {System.out.println(NUM)…

一文解析智慧城市,人工智能技术将成“智”理主要手段

长期以来&#xff0c;有关智慧城市的讨论主要围绕在技术进步方面&#xff0c;如自动化、人工智能、数据的公开以及将更多的传感器嵌入城市以使其更加智能化。实际上&#xff0c;智慧城市是一个关于未来的设想&#xff0c;其重要原因在于城市中存在各种基础设施、政治、地理、财…

鸿蒙开发-ArkTS语言-并发

鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 鸿蒙开发-UI-交互事件-手势事件 鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 文章目录 前言 一、并发概述 二、异步并发开发 1. 异步并发概述 1.1 Promise 1.2 async/await 2. 单次…

【HTML】制作一个简单的三角形动态图形

目录 前言 开始 HTML部分 CSS部分 效果图 总结 前言 无需多言&#xff0c;本文将详细介绍一段HTML和CSS代码&#xff0c;具体内容如下&#xff1a; 开始 首先新建文件夹&#xff0c;创建两个文本文档&#xff0c;其中HTML的文件名改为[index.html]&#xff0c;CSS的文件名…

llama.cpp运行qwen0.5B

编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…

JavaScript 对象管家 Proxy

JavaScript 在 ES6 中&#xff0c;引入了一个新的对象类型 Proxy&#xff0c;它可以用来代理另一个对象&#xff0c;并可以在代理过程中拦截、覆盖和定制对象的操作。Proxy 对象封装另一个对象并充当中间人&#xff0c;其提供了一个捕捉器函数&#xff0c;可以在代理对象上拦截…

什么是ECC?ECC 和 RSA 之间有何区别?

椭圆曲线密码学 (ECC) 是一种基于椭圆曲线数学的公开密钥加密算法。 它提供了一种执行密钥交换、数字签名和加密等加密操作的安全方式。 ECC 为 1977 年首次发布的 Rivest-Shamir-Adleman (RSA) 加密算法提供了一种替代性方案。 继续阅读&#xff0c;进一步了解椭圆曲线密码学…

一文读懂!企业怎样才能选择适合自己的生产管理系统?

怎么选择适合所在企业的生产管理系统呢&#xff1f;该从哪些方面对生产管理系统进行评估&#xff1f;又怎样实现高效的生产管理呢&#xff1f; 本文我将和大家一起解决这些有关生产管理系统的问题&#xff1f; 生产管理系统模板&#xff0c;可直接查看和使用&#xff1a;https…

设备巡检系统革新:凡尔码平台的智能化配电箱管理

配电箱作为电气安全的关键环节&#xff0c;其巡检工作至关重要。传统的巡检方法依赖手工记录&#xff0c;不仅效率低下&#xff0c;而且难以确保数据的实时性和准确性。凡尔码平台的二维码设备巡检系统&#xff0c;以数字化解决方案&#xff0c;颠覆了这一过程&#xff0c;实现…

HWOD:自守数

一、知识点 break只会结束最里面的一层循环 int型数按位比较的时候&#xff0c;可以直接求余比较&#xff0c;无需转换为char型数组后再按下标比较 二、题目 1、描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如&#xff1a;25^2 625&#xff0c;76^2 5776…

element-ui empty 组件源码分享

今日简单分享 empty 组件的源码实现&#xff0c;主要从以下三个方面&#xff1a; 1、empty 组件页面结构 2、empty 组件属性 3、empty 组件 slot 一、empty 组件页面结构 二、empty 组件属性 2.1 image 属性&#xff0c;图片地址&#xff0c;类型 string&#xff0c;无默认…

数据结构——栈(C语言版)

前言&#xff1a; 在学习完数据结构顺序表和链表之后&#xff0c;其实我们就可以做很多事情了&#xff0c;后面的栈和队列&#xff0c;其实就是对前面的顺序表和链表的灵活运用&#xff0c;今天我们就来学习一下栈的原理和应用。 准备工作&#xff1a;本人习惯将文件放在test.c…

线下陪玩小程序APP源码开发--线下游戏陪玩小程序App开发(源码平台)-APP小程序H5-前后端源码交付。

线下陪玩达人入驻服务系统软件开发&#xff08;APP、公众号、小程序、H5搭建&#xff09; 线下陪玩接单系统平台开发案例分析 1.丰富的娱乐项目&#xff1a;该平台提供了丰富的娱乐项目&#xff0c;包括但不限于桌游、运动、户外活动等&#xff0c;能够满足不同用户的需求。 2…

“不知今夕是何年”的周基年解法 | 得物技术

2024年1月5日&#xff0c;周五&#xff0c;本来是个美好的日子&#xff0c;期待着马上到来的周末。可是下午1点多&#xff0c;接到产品一个问题反馈&#xff0c;经过一番排查&#xff0c;23年7月份上线的功能&#xff0c;对于跨年场景的处理有问题&#xff0c;其核心在于“周的…

windows 11 如何使用 IE 浏览器

众所周知&#xff1a;IE 浏览器已经被微软废弃&#xff0c;像windows 11这种系统内置已经找不到 IE 浏览器了&#xff0c;这对前端工程师而言&#xff0c;肯定是不行的。因为项目中&#xff0c;经常有现场需要支持 ie 浏览器。&#xff08;吐槽一下&#xff1a;微软都放弃了&am…