首页 > 系统相关 >Luckfox Pico Ubuntu server 安装桌面环境

Luckfox Pico Ubuntu server 安装桌面环境

时间:2024-05-01 09:22:37浏览次数:16  
标签:Luckfox http mirrors edu server 桌面环境 Pico ubuntu main

Luckfox Pico Ubuntu server 安装桌面环境

RV1103/RV1106 是一款专门用于人工智能相关应用的高度集成 IPC 视觉处理器 SoC。它基于单核 ARM Cortex-A7 32 位内核,集成了 NEON 和 FPU,并内置 NPU 支持 INT4 / INT8 / INT16 混合运算,计算能力高达 0.5TOPs。

https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-quick-start

实验环境 Luckfox Pico
CPU RV1103 Cortex A7 1.2GHz
RAM SIP DDR2 64MB
ROM 32GB SDcard
显示模组 Pico_DM_QD3503728

64MB内存对于运行Ubuntu桌面有些吃力,但是并非不可以,我们只需要对工程稍作调整。

实验环境 Luckfox Pico Max
CPU RV1106 Cortex A7 1.2GHz
RAM SIP DDR3L 256MB
ROM 32GB SDcard
显示模组 Pico_DM_QD3503728

256MB内存运行Ubuntu应该没有太大问题 。

1.拉取并配置工程

我们需要自己编译工程,这样才能修改工程的配置,所以第一步,先下载工程。

修改SDK配置

Pico板子对应
project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1103_Luckfox_Pico-IPC.mk

Pico Max板子对应
具体名字忘了,就是EMMC Ubuntu RV1106 Luckfox Pico Pro MAX那个

修改CMA内存大小

RK_BOOTARGS_CMA_SIZE给摄像头分配的内存,如果不使用摄像头可以将其修改为 1M

export RK_BOOTARGS_CMA_SIZE="1M"

修改rootfs大小

我是用的是一张32GB大小的SD卡,但是默认的配置rootfs分区只有6GB,所以修改RK_PARTITION_CMD_IN_ENV变量,对分区大小进行增加。

export RK_PARTITION_CMD_IN_ENV="32K(env),512K@32K(idblock),256K(uboot),32M(boot),512M(oem),256M(userdata),6G(rootfs),-(media)"
# 修改为12GB
export RK_PARTITION_CMD_IN_ENV="32K(env),512K@32K(idblock),256K(uboot),32M(boot),512M(oem),256M(userdata),12G(rootfs),-(media)"

2.修改运行时配置

修改ubuntu内置软件源

参考中科大Ubuntu Ports 源使用帮助
https://mirrors.ustc.edu.cn/help/ubuntu-ports.html

vi /etc/apt/sources.list

我试了下,板子初始状态无法访问https,估计是没有安装帮助中所说的那个软件,所以这里直接修改为http协议。直接将原来内容清空,替换为下面内容。

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy main main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

resize2fs 根分区

系统启动的时候,root分区只有1GB大小,需要使用resize2fs工具拓展

查看/etc/fstab,发现root分区挂载点为/dev/mmcblk1p7

resize2fs /dev/mmcblk1p7

开启swap

64MB的内存根本不够用,我们需要添加swap空间保证软件能正常运行,不会被oom杀掉。从经验的角度来看,256MB的swap空间对于本例来说,足够了。

dd if=/dev/zero of=/swapfile bs=1M count=256

mkswap /swapfile
chmod 0600 /swapfile
swapon /swapfile

查看内存使用情况

# free -h
               total        used        free      shared  buff/cache   available
Mem:            56Mi        28Mi       1.0Mi       0.0Ki        26Mi        23Mi
Swap:          255Mi          0B       255Mi

修改/etc/fstab,添加如下配置,使swap自动挂载

/swapfile	swap	swap	defaults	0	0

网络配置

通过网络共享方式,使Pico访问主机网络

bash自动补全问题

暂时没有解决,推测是adb的问题

安装X fbdev驱动

apt install xserver-xorg-video-fbdev

加载显示驱动

这是Pico_DM_QD3503728这块拓展板的显示驱动,有关编译配置过程参考这篇文章:http://embeddedboys.com/Pico_DM_QD3503728/docs/porting/linux/

insmod ili9488_fb.ko

安装xfce桌面

apt --no-install-recommends install xorg lightdm xfce4

安装完成后,尝试启动xfce桌面

startxfce4

此时可以看到屏幕上弹窗报错如下:
image

CTRL+C退出桌面,执行如下命令,安装dbus-x11

apt install dbus-x11 -y

安装额外所需的软件包

apt install lightdm-gtk-greeter -y

测试lightdm

为了测试,我们从命令行启动lightdm

lightdm -d

等待一会,屏幕显示出登录界面
image

跳过lightdm,直接启动桌面

这时候再执行startxfce4已经不会出现报错了。可以看到桌面是这样的。
image

但是因为我们还没有适配触摸驱动,所以暂时无法通过电容屏操作。

4.适配触摸屏

这个显示模组的触摸型号是FT6236U,驱动已经被合并到这个文件中了drivers/input/touchscreen/edt-ft5x06.c,内核mailing list相关的记录如下:
https://patchwork.kernel.org/project/linux-input/patch/[email protected]/

因为显示模组上的 I2C 接口并没有对应到 luckfox pico 的 I2C 控制器上,所以我们使用i2c bitbang方式来进行通信。

重新配置内核

重新烧录内核

触摸屏方向设置

5. 整理Ubuntu配置

6. 打包文件系统,制作一键烧录固件

标签:Luckfox,http,mirrors,edu,server,桌面环境,Pico,ubuntu,main
From: https://www.cnblogs.com/hfwz/p/18136386

相关文章

  • 使用浏览器无密码登录Azure DevOps Server
    1.概述AzureDevOpsServer作为软件开发管理平台服务器,除了支持主流的IDE开发工具外,普通用户使用最频繁的客户端工具是网页浏览器。由于AzureDevOpsServer集成AD域服务器实现用户认证,用户每次使用浏览器登录服务器时都需要输入用户的域账户和密码。但是,对于已经使用域账户登录......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第12章 游标的使用 读书笔记
     第十二章游标的使用>.游标的概述游标是一种数据库对象,用于在SQL中处理(SELECT的)查询结果集。它允许逐行地访问查询结果集的数据,以进行一系列操作,如更新、删除或插入数据。游标通常用于存储过程或触发器中,用于对数据进行逐行处理。通过游标,可以实现对结果集的逐行处......
  • 在 .net core 3.1 的 docker 镜像生成的容器中,连接 sql server 2008 r2 版本的数据库,
    错误1:{"ClassName":"System.Data.SqlClient.SqlException","Message":"Aconnectionwassuccessfullyestablishedwiththeserver,butthenanerroroccurredduringthepre-loginhandshake.(provider:TCPProvider,......
  • 国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
    日前,阿里云联合ClickHouseInc.成功举办了「ClickHouse企业版商业化发布会」。阿里云ClickHouse企业版是阿里云和ClickHouse原厂独家合作的存算分离的云原生版本,支持资源按需弹性Serverless,在帮助企业降低成本的同时,为企业带来更多商业价值。 在发布会上,阿里云数据库产品事业部......
  • Windows Server 下 IIS 申请部署 Let's Encrypt 证书实现 免费 HTTPS
    certbot命令行搞了半天一直失败找到个工具Certify简单方便1、首先下载Certify下载到服务器上并安装。下载地址:https://certifytheweb.com/2、第一次启动程序时会弹出对话框让我们填写个邮箱地址,等证书快要过期的时候我们会收到续订证书的提醒邮件。这里我们填上常用的ema......
  • 云原生k8s史上最详细 云原生 serverless
    Serverless是云计算发展的产物,其实不管是云计算还是云原生,亦或者是Serverless架构,他具体是什么,都是很难说得清的,但是这并不影响我们对Serverless架构的理解。一、心智层面去服务器化:专业的事情交给更专业的人,开发者可以更关注于自身业务逻辑字面解释Server和less的:就是将更少的......
  • SQL Server实战三:数据库表完整性约束及索引、视图的创建、编辑与删除
      本文介绍基于MicrosoftSQLServer软件,实现数据库表完整性约束、索引与视图的创建、编辑与删除等操作的方法。目录1交互式为数据库表S创建PRIMARYKEY约束2交互式创建数据库表TEST_SC,创建PRIMARYKEY约束3T-SQL创建数据库表T的PRIMARYKEY约束4T-SQL创建数据库表TEST_C,以......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第11章 触发器 读书笔记
     第11章触发器>.概述触发器是一种特殊类型的存储过程.当指定表中的数据发生变化时触发器自动生效.它与表紧密相连,可以看作表定义的一部分.触发器不能通过名称被直接调用,更不允许设置参数.在SQLSERVER中,一张表可以有多个触发器.用户可以使用INS......
  • springboot连接sqlserver2008r2 驱动版本问题。
    <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>8.2.2.jre8</version></dependency>版本比较常见的:8.4.1.jre8最新的提示:9......
  • java 数据库编程(一)JDBC连接Sql Server数据库
    java数据库编程(一)JDBC连接SqlServer数据库一、JDBC简介java数据库连接技术(JavaDatabaseConnection,JDBC)是由java提供的一组与平台无关的数据库的操作标准,其本身由一类与接口组成,并且在操作中将按照严格的顺序执行。由于数据库属于资源操作,所以所有的数据库操作的最后必......