NanoPC-T6安装redriod笔记

这里主要用于自己对安装过程的记录,中间可能记录比较粗糙。

重新编译内核

参考链接:【环境搭建】基于linux的NanoPC-T6_LTS系统固件编译环境搭建

基于docker构建编译环境

docker run -it \
--privileged=true --cap-add=ALL \
--name nanopc_t6_lts_env \
-v /hdd_4t/nanopc_t6_lts_sdk:/work \
-v /lib/modules:/lib/modules \
-v /dev:/dev \
ubuntu:20.04 /bin/bash

安装基础工具

apt-get update #更新软件源
apt-get install git vim sudo wget curl #安装基础工具

安装编译环境

bash -c "$(curl -fsSL https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh)"

参见友善之臂github上搭建编译环境的说明:https://github.com/friendlyarm/build-env-on-ubuntu-bionic

参考NanoPC-T6Wiki说明重新编译内核
wiki说明:13.4.2 编译内核linux-v6.1.y

git clone https://github.com/friendlyarm/kernel-rockchip --single-branch --depth 1 -b nanopi6-v6.1.y kernel-rockchip
cd kernel-rockchip
export PATH=/opt/FriendlyARM/toolchain/11.3-aarch64/bin/:$PATH
touch .scmversion
# 配置内核
# option1: 加载Linux系统配置
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi6_linux_defconfig
# option2: 加载FriendlyWrt系统配置
# make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi6_linux_defconfig friendlywrt.config
# 启动配置界面
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 menuconfig
# 编译内核
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi6-images -j$(nproc)
# 编译驱动模块
mkdir -p out-modules && rm -rf out-modules/*
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 INSTALL_MOD_PATH="$PWD/out-modules" modules -j$(nproc)
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 INSTALL_MOD_PATH="$PWD/out-modules" modules_install
KERNEL_VER=$(make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 kernelrelease)
[ ! -f "$PWD/out-modules/lib/modules/${KERNEL_VER}/modules.dep" ] && depmod -b $PWD/out-modules -E Module.symvers -F System.map -w ${KERNEL_VER}
(cd $PWD/out-modules && find . -name \*.ko | xargs aarch64-linux-strip --strip-unneeded)

启动配置界面后要打开如下内核配置
参考文章:https://blog.csdn.net/CNflysky/article/details/128751428

  1. 检查General Setup -> CPU/Task time and stats accounting -> Pressure stall information tracking是否勾选上,没有的话需要勾选上。
  2. Device Drivers -> Android -> Android Drivers勾上,然后将binder ipc driverbinderfs filesystem也勾上,这样binder模块就加进去了
  3. Staging Drivers->Android->Enable the Anonymous Shared Memory Subsystem也勾上这样就加上了ashmem模块
    配置完后然后执行后续的编译指令,会生成kernal.img和resource.img镜像文件到时替换到烧写的镜像文件中的内容即可。

安装redriod

在上面重新编译的内核和设备树资源重新烧到板子上之后,启动新的系统。

通过执行下面指令,发现还是没有对应的模块,不过没有关系,后面可以继续安装redroid,不会有什么问题。

modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linux

后面就是安装docker,然后安装arm64版本的redriod镜像。
这里安装的是这位大佬提供的镜像资源:https://github.com/CNflysky/redroid-rk3588

后续通过adb连接和scrcpy投屏启动便可以看到正常的界面了:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容介绍 项目结构: Controller层:使用Spring MVC来处理用户请求,负责将请求分发到相应的业务逻辑层,并将数据传递给视图层进行展示。Controller层通常包含控制器类,这些类通过注解如@Controller、@RequestMapping等标记,负责处理HTTP请求并返回响应。 Service层:Spring的核心部分,用于处理业务逻辑。Service层通过接口和实现类的方式,将业务逻辑与具体的实现细节分离。常见的注解有@Service和@Transactional,后者用于管理事务。 DAO层:使用MyBatis来实现数据持久化,DAO层与数据库直接交互,执行CRUD操作。MyBatis通过XML映射文件或注解的方式,将SQL语句与Java对象绑定,实现高效的数据访问。 Spring整合: Spring核心配置:包括Spring的IOC容器配置,管理Service和DAO层的Bean。配置文件通常包括applicationContext.xml或采用Java配置类。 事务管理:通过Spring的声明式事务管理,简化了事务的处理,确保数据一致性和完整性。 Spring MVC整合: 视图解析器:配置Spring MVC的视图解析器,将逻辑视图名解析为具体的JSP或其他类型的视图。 拦截器:通过配置Spring MVC的拦截器,处理请求的预处理和后处理,常用于权限验证、日志记录等功能。 MyBatis整合: 数据源配置:配置数据库连接池(如Druid或C3P0),确保应用可以高效地访问数据库。 SQL映射文件:使用MyBatis的XML文件或注解配置,将SQL语句与Java对象映射,支持复杂的查询、插入、更新和删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值