8,460
个编辑
更改
无编辑摘要
<ol style="list-style-type: decimal;">
<li><p>linux系统默认就是自动登录终端的,默认登录的用户名是Linux系统默认就是自动登录终端的,默认登录的用户名是'''<span style="color:#FF0000">orangepi</span>'''</p>
<p>[[File:pi3b-img172.png]]</p></li>
<li><p>使用下面的命令可以设置root用户自动登录终端</p>
<ol style="list-style-type: decimal;">
<li><p>先登录linux系统,有下面三种方式先登录Linux系统,有下面三种方式</p>
<ol style="list-style-type: lower-alpha;">
<li>如果开发板连接了网线,可以通过[[Orange Pi 3B#SSH远程登录开发板|'''ssh远程登录linux系统ssh远程登录Linux系统''']]</li></ol>
<!-- -->
<ol start="2" style="list-style-type: lower-alpha;">
<li><p>如果开发板连接好了调试串口,可以使用串口终端登录linux系统如果开发板连接好了调试串口,可以使用串口终端登录Linux系统</p></li><li><p>如果连接了开发板到HDMI显示器,可以通过HDMI显示的终端登录到linux系统如果连接了开发板到HDMI显示器,可以通过HDMI显示的终端登录到Linux系统</p></li></ol>
</li></ol>
<ol style="list-style-type: decimal;">
<li><p>先登录linux系统,有下面三种方式先登录Linux系统,有下面三种方式</p>
<ol style="list-style-type: lower-alpha;">
<li><p>如果开发板连接了网线,可以通过[[Orange Pi 3B#SSH远程登录开发板|'''ssh远程登录linux系统ssh远程登录Linux系统''']]</p></li><li><p>如果开发板连接好了调试串口,可以使用串口终端登录linux系统(串口软件请使用MobaXterm,使用minicom无法显示图形界面)如果开发板连接好了调试串口,可以使用串口终端登录Linux系统(串口软件请使用MobaXterm,使用minicom无法显示图形界面)</p></li><li><p>如果连接了开发板到HDMI显示器,可以通过HDMI显示的终端登录到linux系统如果连接了开发板到HDMI显示器,可以通过HDMI显示的终端登录到Linux系统</p></li></ol>
</li>
<li><p>然后在命令行中输入nmtui命令打开wifi连接的界面</p>
</li></ol>
</li>
<li><p>然后重启linux系统然后重启Linux系统</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>然后重新进入linux系统使用然后重新进入Linux系统使用'''ip addr show eth0'''命令就可以看到IP地址已经设置为想要的值了</p>
{| class="wikitable" style="width:800px;"
|-
# 获取开发板的IP地址
# 然后就可以通过ssh命令远程登录linux系统然后就可以通过ssh命令远程登录Linux系统
::{| class="wikitable" style="width:800px;"
|-
|
<big><p>'''如果ssh无法正常登陆linux系统,首先请检查下开发板的IP地址是否能ping通,如果ping通没问题的话,可以通过串口或者HDMI显示器登录linux系统然后在开发板上输入下面的命令后再尝试是否能连接:如果ssh无法正常登陆Linux系统,首先请检查下开发板的IP地址是否能ping通,如果ping通没问题的话,可以通过串口或者HDMI显示器登录Linux系统然后在开发板上输入下面的命令后再尝试是否能连接:'''</p>
<li><p>然后在'''Session Setting'''中选择'''SSH'''</p></li>
<li><p>然后在'''Remote host'''中输入开发板的IP地址</p></li>
<li><p>然后在'''Specify username'''中输入linux系统的用户名中输入Linux系统的用户名'''root'''或'''orangepi'''</p></li>
<li><p>最后点击'''OK'''即可</p>
<p>[[File:pi3b-img206.png]]</p></li></ol>
== 上传文件到开发板Linux系统中的方法 ==
<span id="在ubuntu-pc中上传文件到开发板linux系统中的方法pc中上传文件到开发板Linux系统中的方法"></span>
=== 在Ubuntu PC中上传文件到开发板Linux系统中的方法 ===
<ol style="list-style-type: lower-alpha;">
<li><p>'''file_path:'''需要替换为要上传文件的路径</p></li>
<li><p>'''orangepi:'''为开发板linux系统的用户名,也可以替换成其它的,比如root为开发板Linux系统的用户名,也可以替换成其它的,比如root</p></li>
<li><p>'''192.168.xx.xx:''' 为开发板的IP地址,请根据实际情况进行修改</p></li>
<li><p>'''/home/orangepi:''' 开发板linux系统中的路径,也可以修改为其它的路径开发板Linux系统中的路径,也可以修改为其它的路径</p>
{| class="wikitable" style="width:800px;"
|-
</div></ol>
<ol start="7" style="list-style-type: decimal;">
<li>连接成功后在filezilla软件的右边就可以看到开发板linux文件系统的目录结构了连接成功后在filezilla软件的右边就可以看到开发板Linux文件系统的目录结构了</li>
<div class="figure">
</div></ol>
<ol start="9" style="list-style-type: decimal;">
<li><p>上传完成后就可以去开发板linux系统中的对应路径中查看上传的文件了上传完成后就可以去开发板Linux系统中的对应路径中查看上传的文件了</p></li>
<li><p>上传文件夹的方法和上传文件的方法是一样的,这里就不再赘述了</p></li></ol>
<span id="在windows-pc中上传文件到开发板linux系统中的方法pc中上传文件到开发板Linux系统中的方法"></span>
=== 在Windows PC中上传文件到开发板Linux系统中的方法 ===
</div></ol>
<ol start="7" style="list-style-type: decimal;">
<li>连接成功后在filezilla软件的右边就可以看到开发板linux文件系统的目录结构了连接成功后在filezilla软件的右边就可以看到开发板Linux文件系统的目录结构了</li>
<div class="figure">
</div></ol>
<ol start="9" style="list-style-type: decimal;">
<li><p>上传完成后就可以去开发板linux系统中的对应路径中查看上传的文件了上传完成后就可以去开发板Linux系统中的对应路径中查看上传的文件了</p></li>
<li><p>上传文件夹的方法和上传文件的方法是一样的,这里就不再赘述了</p></li></ol>
<li><p>使用HDMI转HDMI线连接Orange Pi开发板和HDMI显示器</p>
<p>[[File:pi3b-img10.png]]</p></li>
<li><p>启动linux系统后如果HDMI显示器有图像输出说明HDMI接口使用正常启动Linux系统后如果HDMI显示器有图像输出说明HDMI接口使用正常</p></li>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<ol style="list-style-type: decimal;">
<li><p>首先将RTL8723BU无线网卡模块插入开发板的USB接口中</p></li>
<li><p>然后linux系统会自动加载RTL8723BU蓝牙和WIFI相关的内核模块,通过lsmod命令可以看到下面内核模块已自动加载然后Linux系统会自动加载RTL8723BU蓝牙和WIFI相关的内核模块,通过lsmod命令可以看到下面内核模块已自动加载</p>
{| class="wikitable" style="width:800px;"
|-
<ol style="list-style-type: decimal;">
<li><p>首先将RTL8811无线网卡模块插入开发板的USB接口中</p></li>
<li><p>然后linux系统会自动加载RTL8811 然后Linux系统会自动加载RTL8811 WIFI相关的内核模块,通过lsmod命令可以看到下面内核模块已自动加载</p>
{| class="wikitable" style="width:800px;"
|-
</li></ol>
<ol start="3" style="list-style-type: decimal;">
<li><p>linux系统会自动加载rtl8821cu蓝牙和wifi相关的内核模块,通过lsmod命令可以看到下面内核模块已自动加载Linux系统会自动加载rtl8821cu蓝牙和wifi相关的内核模块,通过lsmod命令可以看到下面内核模块已自动加载</p>
{| class="wikitable" style="width:800px;"
|-
</li></ol>
</li>
<li><p>在服务器版的linux系统中,拍完照后可以使用scp命令将拍好的图片传到Ubuntu 在服务器版的Linux系统中,拍完照后可以使用scp命令将拍好的图片传到Ubuntu PC上镜像观看</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>在桌面版的linux系统中,可以通过HDMI显示器直接查看拍摄的图片在桌面版的Linux系统中,可以通过HDMI显示器直接查看拍摄的图片</p></li></ol>
</li></ol>
<li><p>首先将耳机插入开发板的耳机孔中</p>
<p>[[File:pi3b-img255.png]]</p></li>
<li><p>然后可以通过'''aplay -l'''命令可以查看下linux系统支持的声卡设备,从下面的输出可知,命令可以查看下Linux系统支持的声卡设备,从下面的输出可知,'''card 0'''为rk809的声卡设备,也就是耳机的声卡设备</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big>'''注意,Orange Pi发布的linux镜像中已经预装了wiringOP,除非wiringOP的代码有更新,否则无需重新下载编译安装,直接使用即可。Pi发布的Linux镜像中已经预装了wiringOP,除非wiringOP的代码有更新,否则无需重新下载编译安装,直接使用即可。'''
'''编译好的wiringOP的deb包在orangepi-build中的存放路径为:'''
|-
|
<big>'''Orange Pi发布的linux系统中有预装一个blink_all_gpio程序,这个程序会设置40pin中的所有28个GPIO口不停的切换高低电平。Pi发布的Linux系统中有预装一个blink_all_gpio程序,这个程序会设置40pin中的所有28个GPIO口不停的切换高低电平。'''
|-
|
<big><p>'''在linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>先查看下linux系统中是否存在先查看下Linux系统中是否存在'''spidev3.0'''的设备节点,如果存在,说明SPI3已经设置好了,可以直接使用</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big><p>'''在linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>启动linux系统后,先确认下启动Linux系统后,先确认下/dev下存在i2c的设备节点</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big><p>'''在linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>进入linux系统后,先确认下进入Linux系统后,先确认下/dev下是否存在对应uart的设备节点</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big><p>'''在linux系统中,40pin中的pwm默认都是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的pwm默认都是关闭的,需要手动打开才能使用。'''</p>
|-
|
<big><p>'''在linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的spi3默认是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>先查看下linux系统中是否存在先查看下Linux系统中是否存在'''spidev3.0'''的设备节点,如果存在,说明SPI3已经设置好了,可以直接使用</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big><p>'''在linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的i2c默认都是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>启动linux系统后,先确认下启动Linux系统后,先确认下/dev下存在i2c的设备节点</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big><p>'''在linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。在Linux系统中,40pin中的uart默认都是关闭的,需要手动打开才能使用。'''</p>
|}
</li>
<li><p>进入linux系统后,先确认下进入Linux系统后,先确认下/dev下是否存在对应uart的设备节点</p>
{| class="wikitable" style="width:800px;"
|-
== 硬件看门狗测试 ==
Orange Pi发布的linux系统中预装了watchdog_test程序,可以直接测试。Pi发布的Linux系统中预装了watchdog_test程序,可以直接测试。
运行watchdog_test程序的方法如下所示:
<ol style="list-style-type: decimal;">
<li><p>首先需要扩展下'''/tmp'''空间的大小,设置完后需要'''<span style="color:#FF0000">重启下开发板的linux系统重启下开发板的Linux系统</span>''',命令如下所示:</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>然后在linux系统中输入下面的命令就可以开始宝塔的安装然后在Linux系统中输入下面的命令就可以开始宝塔的安装</p>
{| class="wikitable" style="width:800px;"
|-
<li><p>然后输入前面设置的VNC的密码</p>
<p>[[File:pi3b-img327.png]]</p></li>
<li><p>登录成功后的界面显示如下图所示,然后就可以远程操作开发板linux系统的桌面了登录成功后的界面显示如下图所示,然后就可以远程操作开发板Linux系统的桌面了</p>
<p>[[File:pi3b-img328.png]]</p></li></ol>
</li></ol>
'''install_ros.sh脚本会尝试修改/etc/hosts并自动运行下面的命令。但是这种方法无法保证每次都能正常访问github,如果install_ros.sh安装完ros1后有提示下面的错误,请自己想其它办法让开发板的linux系统能正常访问github,然后再手动运行下面的命令。sh安装完ros1后有提示下面的错误,请自己想其它办法让开发板的Linux系统能正常访问github,然后再手动运行下面的命令。'''
<ol style="list-style-type: decimal;">
<li><p>linux镜像默认是没有打开树莓派5寸屏幕的配置的,如果需要使用树莓派5寸屏幕,需要手动打开才行。Linux镜像默认是没有打开树莓派5寸屏幕的配置的,如果需要使用树莓派5寸屏幕,需要手动打开才行。</p></li>
<li><p>打开mipi lcd配置的步骤如下所示:</p>
<ol style="list-style-type: lower-alpha;">
<ol style="list-style-type: decimal;">
<li><p>在'''/boot/orangepiEnv.txt'''中加入'''extraargs=fbcon=rotate:要旋转的方向'''这行配置就可以设置服务器版本的linux系统显示的方向,其中这行配置就可以设置服务器版本的Linux系统显示的方向,其中'''fbcon=rotate:'''后面的数字可以设置为:</p>
<ol style="list-style-type: lower-alpha;">
<li><p>0: 正常屏(默认为横屏)</p></li>
</li></ol>
</li>
<li><p>然后'''<span style="color:#FF0000">重启</span>'''linux系统就能看到lcd屏幕显示的方向已经旋转了Linux系统就能看到lcd屏幕显示的方向已经旋转了</p></li></ol>
=== 桌面版镜像旋转显示和触摸方向的方法 ===
<ol style="list-style-type: decimal;">
<li><p>首先在linux系统中打开首先在Linux系统中打开'''Display'''设置</p>
<p>[[File:pi3b-img366.png]]</p></li>
<li><p>然后在'''Rotation'''中选择想要旋转的方向</p>
|}
</li>
<li><p>开机logo图片在linux系统中的位置为开机logo图片在Linux系统中的位置为</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big>'''安装zfs前,请先确保使用的linux镜像为最新版本。另外,如果系统中已经安装了zfs,就无需重复安装了。安装zfs前,请先确保使用的Linux镜像为最新版本。另外,如果系统中已经安装了zfs,就无需重复安装了。'''</big>
|}
安装zfs前首先需要安装内核头文件,安装内核头文件的方法请参考[[Orange Pi 3B#安装内核头文件的方法|'''安装内核头文件的方法''']]小节的说明。
在Ubuntu20.04、Ubuntu22.04和Debian11系统中,zfs是无法通过apt直接安装的,这是因为默认的apt源中zfs版本低于2.1.6,存在和rk linux5Linux5.10内核不兼容的问题,这个问题在zfs的2.1.6及以后的版本中得到了修复。
为了解决这个问题,我们提供了能正常安装的zfs的deb包,可以从开发板的[http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html '''官方工具''']中下载到。打开'''官方工具''',然后进入'''Ubuntu和Debian系统使用的zfs相关的deb包'''文件夹后,可以看到Ubuntu20.04、Ubuntu22.04和Debian11三种类型的deb包,请下载需要的版本。
下载完对应版本的zfs deb包后,请将它们上传到开发板的Linux系统中。上传方法请参考[[Orange Pi 3B#上传文件到开发板Linux系统中的方法|'''上传文件到开发板Linux系统中的方法''']]小节的说明。
{| class="wikitable" style="width:800px;"
|}
{| class="wikitable" style="width:800px;"
<li><p>关机后短按开发板上的开关机按键即可开机。</p>
<p>[[File:pi3b-img376.png]]</p></li>
<li><p>重启linux系统的命令为重启Linux系统的命令为</p>
{| class="wikitable" style="width:800px;"
|-
<li><p>'''<span style="color:#FF0000">另外,由于内核和U-boot等源码都是存放在GitHub上的,所以编译镜像的时候请确保电脑能正常从GitHub下载代码,这点是非常重要的。</span>'''</p></li></ol>
</li></ol>
<span id="获取linux获取Linux-sdk的源码"></span>
== 获取Linux sdk的源码 ==
=== 从github下载orangepi-build ===
# linux Linux sdk其实指的就是orangepi-build这套代码,orangepi-build是基于armbian build编译系统修改而来的,使用orangepi-build可以编译出多个版本的linux镜像。首先下载orangepibuild可以编译出多个版本的Linux镜像。首先下载orangepi-build的代码,命令如下所示:
::{| class="wikitable" style="width:800px;"
<ol start="2" style="list-style-type: decimal;">
<li>开发板当前使用的u-boot和linux内核版本如下所示boot和Linux内核版本如下所示</li>
{| class="wikitable" style="width:800px;text-align:center;"
| '''分支'''
| '''u-boot版本'''
| '''linux内核版本Linux内核版本'''
|-
| '''legacy'''
| '''u-boot 2017.09'''
| '''linux5Linux5.10'''
|}
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<big>'''这里所说的分支和orangepi-build源代码的分支不是同一个东西,请不要搞混了。此分支主要是用来区分不同内核源码版本的。'''
'''目前RK提供的linux5目前RK提供的Linux5.10 bsp内核我们定义为legacy分支。如果以后支持主线内核了,就会添加一个current分支。'''</big>
|}
</ol>
|-
|
<big><p>'''如果是从github下载的orangepi-build的代码,下载完后你可能会发现orangepi-build中并没有包含u-boot和linux内核的源码,也没有编译uboot和Linux内核的源码,也没有编译u-boot和linux内核需要用到交叉编译工具链,这是正常的,因为这些东西都存放在其它单独的github仓库或者某些服务器上了(下文会详述其地址)。orangepiboot和Linux内核需要用到交叉编译工具链,这是正常的,因为这些东西都存放在其它单独的github仓库或者某些服务器上了(下文会详述其地址)。orangepi-build在脚本和配置文件中会指定u-boot、linux内核和交叉编译工具链的地址,运行orangepiboot、Linux内核和交叉编译工具链的地址,运行orangepi-build时,当其发现本地没有这些东西,会自动去相应的地方下载的。'''</p></big>
|}
</li></ol>
|-
|
<big>'''只有在x64的电脑中使用orangepi-build编译镜像才会下载交叉编译工具链。在开发板的Ubuntu22.04中编译开发板的linux镜像是不会下载交叉编译工具链的,此时orangepi04中编译开发板的Linux镜像是不会下载交叉编译工具链的,此时orangepi-build/toolchains会是一个空文件夹。'''</big>
|}
|}
</li>
<li><p>编译linux内核源码使用的交叉编译工具链为编译Linux内核源码使用的交叉编译工具链为</p>
<ol style="list-style-type: lower-alpha;">
<li><p>linux5.10</p>
<ol style="list-style-type: decimal;">
<li><p>orangepi-build仓库下载完后并不包含linux内核、ubuild仓库下载完后并不包含Linux内核、u-boot的源码以及交叉编译工具链,linux内核和uboot的源码以及交叉编译工具链,Linux内核和u-boot的源码存放在独立的git仓库中</p>
<ol style="list-style-type: lower-alpha;">
<li><p>linux内核源码存放的git仓库如下所示:Linux内核源码存放的git仓库如下所示:</p>
{| class="wikitable" style="width:800px;"
|-
</li></ol>
</li>
<li><p>orangepi-build第一次运行的时候会去下载交叉编译工具链、u-boot和linux内核源码,成功编译完一次linux镜像后在orangepiboot和Linux内核源码,成功编译完一次Linux镜像后在orangepi-build中可以看到的文件和文件夹有</p>
<ol style="list-style-type: lower-alpha;">
<li><p>'''build.sh''': 编译启动脚本</p></li>
<li><p>'''external''': 包含编译镜像需要用的配置文件、特定功能的脚本以及部分程序的源码,编译镜像过程中缓存的rootfs压缩包也存放在external中</p></li>
<li><p>'''kernel''': 存放linux内核的源码,里面名为存放Linux内核的源码,里面名为'''orange-pi-5.10-rk35xx'''的文件夹存放的就是RK3588/RK3588S/RK3566系列开发板legacy分支的内核源码,内核源码的文件夹的名字请不要手动修改,如果修改了,编译系统运行时会重新下载内核源码</p></li>
<li><p>'''LICENSE''': GPL 2许可证文件</p></li>
<li><p>'''README.md''': orangepi-build说明文件</p></li>
<li><p>'''output''': 存放编译生成的u-boot、linux等deb包、编译日志以及编译生成的镜像等文件boot、Linux等deb包、编译日志以及编译生成的镜像等文件</p></li><li><p>'''scripts''': 编译linux镜像的通用脚本编译Linux镜像的通用脚本</p></li>
<li><p>'''toolchains''': 存放交叉编译工具链</p></li>
<li><p>'''u-boot''': 存放u-boot的源码,里面名为'''v2017.09-rk3588'''的文件夹存放的就是RK3588/RK3588S/RK3566系列开发板legacy分支的u-boot源码,u-boot源码的文件夹的名字请不要手动修改,如果修改了,编译系统运行时会重新下载u-boot源码</p></li>
|}
</li>
<li><p>调试u-boot代码时,可以使用下面的方法来更新linux镜像中的uboot代码时,可以使用下面的方法来更新Linux镜像中的u-boot进行测试</p>
<ol style="list-style-type: lower-alpha;">
<li><p>将编译好的u-boot的deb包上传到开发板的linux系统中boot的deb包上传到开发板的Linux系统中</p>
{| class="wikitable" style="width:800px;"
|-
<li><p>编译内核源码时提示的部分信息说明如下</p>
<ol style="list-style-type: lower-alpha;">
<li><p>linux内核源码的版本Linux内核源码的版本</p>
{| class="wikitable" style="width:800px;"
|-
<!-- -->
<ol start="9" style="list-style-type: decimal;">
<li><p>orangepi-bulid编译系统编译linux内核源码时首先会将linux内核源码和github服务器的linux内核源码进行同步,所以如果想修改linux内核的源码,首先需要关闭源码的更新功能(bulid编译系统编译Linux内核源码时首先会将Linux内核源码和github服务器的Linux内核源码进行同步,所以如果想修改Linux内核的源码,首先需要关闭源码的更新功能('''需要完整编译过一次linux内核源码后才能关闭这个功能,否则会提示找不到linux内核的源码,如果是从百度云盘下载的源码压缩包,则没有这个问题,因为linux的源码都已缓存好了需要完整编译过一次Linux内核源码后才能关闭这个功能,否则会提示找不到Linux内核的源码,如果是从百度云盘下载的源码压缩包,则没有这个问题,因为Linux的源码都已缓存好了'''),否则所作的修改都会被还原,方法如下:</p>
<p>设置'''userpatches/config-default.conf'''中的IGNORE_UPDATES变量为”yes”</p>
{| class="wikitable" style="width:800px;"
|}
</li>
<li><p>如果对内核做了修改,可以使用下面的方法来更新开发板linux系统的内核和内核模块如果对内核做了修改,可以使用下面的方法来更新开发板Linux系统的内核和内核模块</p>
<ol style="list-style-type: lower-alpha;">
<li><p>将编译好的linux内核的deb包上传到开发板的linux系统中将编译好的Linux内核的deb包上传到开发板的Linux系统中</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>然后登录到开发板,卸载已安装的linux内核的deb包然后登录到开发板,卸载已安装的Linux内核的deb包</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>再安装刚才上传的新的linux内核的deb包再安装刚才上传的新的Linux内核的deb包</p>
{| class="wikitable" style="width:800px;"
|-
<li><p>'''jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4'''是rootfs的压缩包,名字各字段的含义为</p>
<ol style="list-style-type: none;">
<li><p>a) '''jammy'''表示rootfs的linux发行版的类型表示rootfs的Linux发行版的类型</p></li>
<li><p>b) '''xfce'''表示rootfs为桌面版的类型,如果为'''cli'''则表示服务器版类型</p></li>
<li><p>c) '''arm64'''表示rootfs的架构类型</p></li>
<p>然后可以选择需要安装的额外的软件包。这里请按下回车键直接跳过。</p>
<p>[[File:pi3b-img396.png]]</p></li>
<li><p>然后就会开始编译linux镜像,编译的大致流程如下然后就会开始编译Linux镜像,编译的大致流程如下</p>
<ol style="list-style-type: lower-alpha;">
<li><p>初始化Ubuntu PC的编译环境,安装编译过程需要的软件包</p></li>
<li><p>下载u-boot和linux内核的源码(如果已经缓存,则只更新代码)boot和Linux内核的源码(如果已经缓存,则只更新代码)</p></li>
<li><p>编译u-boot源码,生成u-boot的deb包</p></li>
<li><p>编译linux源码,生成linux相关的deb包编译Linux源码,生成Linux相关的deb包</p></li><li><p>制作linux 制作Linux firmware的deb包</p></li>
<li><p>制作orangepi-config工具的deb包</p></li>
<li><p>制作板级支持的deb包</p></li>