飞腾X100适配Ubuntu说明

飞腾平台 Ubuntu 安装排错:解决 3 类常见启动与驱动问题 本文详细解析了在飞腾平台上安装Ubuntu系统时常见的三类问题:UEFI引导配置异常、NVMe硬盘识别失败及X100 GPU驱动安装困难,并提供了经过验证的解决方案。针对飞腾处理器的特性,文章涵盖了BIOS参数调整、内核驱动编译和GPU驱动集成等关键技术要点,帮助用户顺利完成国产化平台的系统部署与优化。 阅读详情
【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块,旨在共享尖端技术,为开发者提供一个涵盖多领域的开发平台和工具套件。 点击这里开始你的技术升级之旅吧

image.png​​​​​

本文分享至飞腾开发者平台《飞腾X100适配Ubuntu说明文档》

1 简介

  本文档介绍飞腾X100芯片图形软件栈如何适配Ubuntu系统,后续介绍主要基于Ubuntu20.04系统。

  注意:文档中提到的deb安装包,可联系飞腾提供,实际名称会根据版本有所不同。

  • linux-image-phytium-4.19.deb: 飞腾linux内核安装包(集成了X100显示驱动)
  • phytium-x100-drivers_1.1.2_ubuntu20.04_aarch64.deb:Ubuntu 20.04飞腾X100 GPU驱动安装包

2 KDE适配步骤

  飞腾X100芯片图形软件栈适配KDE桌面的Ubuntu系统步骤如下:

  1)安装原版arm64 ubuntu系统,如ubuntu arm64 server 20.04.2版,该版本默认没有图形界面。可制作安装U盘(rufus工具等),使用U盘安装。

  注: 安装系统时,硬盘分区请选择ext4文件格式,不要选择默认的LVM格式。

  2)更新系统:

sudo apt update

sudo apt upgrade

  3)联网安装kde桌面:

sudo apt install kubuntu-desktop

  4)替换phytium的4.19内核:

sudo dpkg -i linux-image-phytium-4.19.deb

  注意:
  a)为了使phytium 4.19内核为默认启动项,可将/boot下的5.4内核移走,然后更新grub。这样就只剩下4.19一个启动选项了。命令如下:

cd /boot

mkdir bak

mv vmlinux-5.4.0-xxx bak

update-grub

  b)替换phytium 4.19内核后,可能出现启动时间过长问题,解决办法如下;

    i. 关闭init-cloud.service服务:

systemctl disable cloud-init-local cloud-init cloud-config cloud-final

systemctl stop cloud-init-local cloud-init cloud-config cloud-final

    ii. 修复固态硬盘启动等待10分钟问题:修改/lib/systemd/system/systemd-random-seed.service文件内容,将其中的TimeoutSec改为3s或更短时间

    iii. 对于长时间等待“a start job is running for wait for network.. to be configued”问题,可通过禁用相关服务解决:

sudo systemctl mask systemd-networkd-wait-online.service

  5)安装X100 GPU驱动安装包:

sudo dpkg -i phytium-x100-drivers_1.1.2_ubuntu20.04_aarch64.deb

  6)重启。

3 GNOME适配步骤

  1)安装原版arm64 ubuntu系统,如ubuntu arm64 server 20.04.2版,该版本默认没有图形界面。可制作安装U盘(rufus工具等),使用U盘安装。

  注: 安装系统时,硬盘分区请选择ext4文件格式,不要选择默认的LVM格式。

  2)更新系统:

apt update
apt upgrade

  3)联网安装gnome桌面:

sudo apt install ubuntu-gnome-desktop ubuntu-desktop

  4)替换phytium的4.19内核:

sudo dpkg -i linux-image-phytium-4.19.deb

  注意:

    a)为了使phytium 4.19内核为默认启动项,可将/boot下的5.4内核移走,然后更新grub。这样就只剩下4.19一个启动选项了。命令如下:

cd /boot

mkdir bak

mv vmlinux-5.4.0-xxx bak

update-grub

    b)替换phytium 4.19内核后,可能出现启动时间过长问题,解决办法如下;

     i. 关闭init-cloud.service服务:

systemctl disable cloud-init-local cloud-init cloud-config cloud-final

systemctl stop cloud-init-local cloud-init cloud-config cloud-final

     ii. 修复固态硬盘启动等待10分钟问题:修改/lib/systemd/system/systemd-random-seed.service文件内容,将其中的TimeoutSec改为3s或更短时间

     iii. 对于长时间等待“a start job is running for wait for network.. to beconfigued”问题,可通过禁用相关服务解决:

sudo systemctl mask systemd-networkd-wait-online.service

  5)安装X100 GPU驱动安装包:

sudo dpkg -i phytium-x100-drivers_1.1.2_ubuntu20.04_aarch64.deb

  6)其它定制修改:

    a)修改gdm配置,禁用xwayland: 编辑/etc/gdm3/custom.conf:

[daemon]

# Uncomment the line below to force the login screen to use Xorg

WaylandEnable=false

    b)修改/etc/X11/Xwrapper.config

# If you have edited this file but would like it to be automatically updated
# again, run the following command as root:
#  dpkg-reconfigure xserver-xorg-legacy
#allowed_users=console
allowed_users = anybody
needs_root_rights = yes

    c)此时,可正常进入gdm登录界面,但用户登录后,还是会回到登录界面。需要将用户加入到render和video组,才能正常进入桌面。

gpasswd -a test render

gpasswd -a test video

  7)重启。

4 常见问题

  1)使用lightdm,在登录界面输入密码后,出现failed to startsession错误,无法登录进入桌面?

  这是因为/usr/share/lightdm/lightdm.conf.d/40-kde-plasma-kf5.conf文件内容:

[SetDefaults]

user-session=kde-plasma-kf5

  其中kde-plasma-kf5与/usr/share/xsessions/目录下的plasma.desktop项不一致导致。

  可将其中的kde-plasma-kf5修改为plasma,或plasma.desktop重命名为kde-plasma-kf5.desktop即可解决该问题。

  2)如何设置系统默认显示管理器?

  例如系统同时安装了sddm和lightdm时,需要默认显示管理器为sddm,可运行下列命令:

dpkg-reconfigure sddm

  3)如何设置ubuntu系统默认进入字符界面/图形界面?

  为调试问题,有时需要让Ubuntu不自动进入图形界面。此时,可输入下列命令:

systemctl set-default multi-user.target

  如果要恢复默认进入图形界面,输入:

systemctl set-default multi-user.target graphical.target

  4)常用内核启动参数配置

  UEFI启动时,选择引导盘后,进入grub菜单选项时,按“e”进入编辑界面,修改其中包含linux /boot/vmlinuz-4.19.0.ft+的行,可修改启动内核、增加多种内核启动参数,例如:

  • 设置OS使用的cpu数目为1,添加maxcpus=1
  • 进行S3睡眠时不关闭串口输出,添加no_console_suspend
  • 设置内核打印信息级别,添加loglevel=7
  • 禁止自动加载驱动,如禁用phytium_mci_pci驱动,添加
    modprobe.blacklist=phytium_mci_pci
  • 强制PCI设备使用INT中断方式,添加pci=nomsi
  • initcall_debug

  更详细的参数配置,可参考linux内核相关文档。

  为让这些配置永久生效,需要修改grub配置文件,更新grub。例如为永久增加no_console_suspend,可输入下列命令:

sudo su

vi /etc/default/grub

# 修改其中的GRUB_CMDLINE_LINUX_DEFAULT=””行,在引号中添加

no_console_suspend

update-grub    #更新grub配置

  5)进入KDE桌面后没有声音?

  进入KDE桌面后,没有声音,打开声音图标没有声卡设备。

  可能原因:当前用户没有权限访问声音设备,将当前用户加入audio组后,重启。

sudo gpasswd -a test audio
sudo reboot

  如果还是没有找到声音设备,可通过下列命令查看声音设备:

aplay -l

  检查是否存在声音设备,例如对于飞腾hda声音设备,会输出:

card 0: fthda [ft-hda] ...

  如果存在声音设备,可运行alsamixer配置声音设备:

alsamixer

  如果没有找到任何声音设备,则可能声音驱动出现问题,请联系飞腾进一步分析。

推荐阅读

欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料

如开发者在使用飞腾产品有任何问题可通过在线工单联系我们


版权所有。飞腾信息技术有限公司 2023。保留所有权利。

未经本公司同意,任何单位、公司或个人不得擅自复制,翻译,摘抄本文档内容的部分或全部,不得以任何方式或途径进行传播和宣传。

商标声明

Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

本文档的内容视为飞腾的保密信息,您应当严格遵守保密任务;未经飞腾事先书面同意,您不得向任何第三方披露本文档内容或提供给任何第三方使用。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。

本文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由飞腾和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意,任何人不得擅自使用、修改,复制上述内容。

根据 cadence 设计图学习硬件知识 day02 了解飞腾 X100芯片 阅读详情

相关推荐

飞腾X100芯片GPU状态查询

本文档对在linux系统下查看X100芯片GPU状态信息进行说明,可以帮助大家了解芯片的实时工作状态。

乌拉大喵喵 2747

飞腾CPU Linux下gpio使用方法

飞腾CPU Linux下gpio使用方法

飞腾X100 LPDDR颗粒线序配置辅助工具

好,现在我们来看下这个填入数据的规律,我们抛去0x这个不管,其实我们填入0x16057423中的有效数据就是16057423(注意,这个数没有0x了,我们需要认为他是十进制数,可以念一下,是1千6百零五万,7千4百二十三)。我们需要输入每个slice中DQ的线序,也需要输入slice之间的交换关系,这个工作量也不小,同时容易出现错误,所以开发了一款辅助小工具,帮助大家快速配置此信息。所以我们在固件里针对slice0的配置,需要去按照X100 DQ7~DQ0的顺序,填入对应的LPDDR4的DQ编号。

乌拉大喵喵 574

飞腾X100套片数据手册

飞腾X100套片数据手册

FT-2000/4 安装 Ubuntu 22.04 LTS:从官方镜像到飞腾专用内核的 3 步升级

本文详细介绍了在飞腾FT-2000/4平台上安装Ubuntu 22.04 LTS的全流程指南,包括硬件兼容性验证、系统镜像获取、飞腾专用内核部署及性能优化。通过三步升级,显著提升系统响应速度和计吞吐量,适用于高性能桌面级CPU的国产化应用场景。

weixin_29260291的博客 303

飞腾D2000+X100 TYPE6全国产核心板

飞腾D2000+X100 TYPE6核心板为增强型自主控制器核心板,其核心芯片CPU采用飞腾D2000/8核工业版CPU、飞腾桥片X100、双通道DDR4L插槽、PHY芯片等。l 丰富的PCIE扩展资源,一路PCIE X16,两路PCIE X2, 四路PCIE X1。1路PCIE x16或2PCIE x8,2路PCIE x2, 4路PCIE x1。工作温度 -20℃~70℃;工作温度 -40℃~70℃;l 内存支持两条DDR4,SODIMM,可支持32G。存储温度 -20℃~70℃。3路DP接口含EDP。

YEYUANGEN的专栏 3618

飞腾D2000 + X100 调试记录 X100出来的 DP显示有问题(不显示), USB 接口不能使用的问题。

飞腾D2000 + X100 调试记录 X100出来的 DP显示有问题(不显示), USB 接口不能使用的问题。

she666666的博客 2818

国产化平台网络适配笔记:在飞腾D2000/8+Ubuntu上搞定WX1860/WX1820驱动的完整流程与原理浅析

本文详细介绍了在飞腾D2000/8处理器和Ubuntu系统上适配网讯WX1860/WX1820网卡驱动的完整流程,包括PCIe拓扑分析、内核驱动框架适配、源码整合与编译实战。通过深入解析飞腾平台的X100接口特性和驱动架构设计,帮助开发者解决国产化硬件适配中的关键技术挑战,实现高性能网络通信。

weixin_29306571的博客 418

飞腾派4G版Linux内核编译实战指南

Linux内核编译是嵌入式开发的核心技能,特别是在ARM架构的国产化平台如飞腾派上。交叉编译工具链的配置涉及gcc-aarch64-linux-gnu等关键组件,需要正确处理环境变量和架构参数。通过menuconfig界面进行内核配置时,需重点关注处理器特性、驱动支持和文件系统等模块。在工业控制和边缘计场景中,定制化的内核能显著提升性能,例如调整CPU调度策略改善实时性。本文以飞腾派4G版为例,详解从工具链部署到内核烧录的全流程,特别分享设备树定制和常见编译错误的解决方案。

weixin_33859844的博客 352

手把手教你:在飞腾FT-2000/4开发板上搞定Ubuntu Server 20.04 LTS(避坑NVMe驱动)

本文详细指导在飞腾FT-2000/4开发板上安装和优化Ubuntu Server 20.04 LTS系统,特别针对NVMe驱动支持和内核调优提供实用解决方案。从镜像选择、UEFI配置到内核参数优化,逐步解析部署过程中的关键步骤和常见问题,助开发者高效完成国产ARM平台的系统部署。

weixin_28717431的博客 460

飞龙服务器Ollama离线部署实战:飞腾CPU+麒麟系统全栈适配指南

Ollama作为轻量级大模型运行时,其离线部署能是国产化AI落地的关键前提。在政务、金融等高安全要求场景中,网络隔离、等保合规与硬件自主可控构成刚性约束,使得传统联网拉取模型的方式完全失效。本文聚焦ARM64架构下的深度适配问题,解析飞腾CPU指令集差异、银河麒麟SELinux策略拦截、国密TLS握手失败、内存屏障异常及浮点精度漂移等底层兼容挑战,并提供从源码编译、模型抓取到一键交付的完整离线构建方案。内容覆盖Ollama离线部署、飞腾CPU适配、麒麟系统调优三大核心维度,适用于所有基于飞腾+麒麟的信创环

weixin_30460489的博客 323

保姆级教程:在Ubuntu 22.04上为飞腾E2000交叉编译u-boot 2022.01(含打包脚本详解)

本文详细介绍了在Ubuntu 22.04上为飞腾E2000交叉编译u-boot 2022.01的全流程,包括环境配置、源码获取、编译优化及固件打包。特别提供了飞腾专用打包脚本的详细解析和调试技巧,帮助开发者高效完成嵌入式系统开发。

weixin_29232507的博客 281

Linux内核性能调优实战:从警告诊断到硬件适配

Linux性能优化本质上是弥合硬件能与内核抽象之间的语义鸿沟,其核心在于理解参数背后的硬件语义而非简单调参。从CPU微架构差异(如Intel C-state、AMD P-state)到GPU性能计数器控制(如i915 perf_stream_paranoid),再到发行版内核源码路径差异(如HWE内核与标准内核的build目录结构),每一处配置都需结合硬件特性、内核版本和运行场景精准决策。技术价值体现在可测量、可验证、可回滚的工程闭环——先基线测试,再分阶段干预,最后eBPF验证。典型应用场景覆盖云服务器

weixin_34396902的博客 629

ARM64平台深度定制:从Debian到麒麟系统的内核移植与硬件适配实战

操作系统移植与内核定制是嵌入式开发和系统适配领域的核心技术,其核心原理在于通过修改和编译操作系统内核,使其能够在特定硬件架构上稳定运行并充分发挥硬件性能。这项技术的价值在于能够打破硬件与软件生态的壁垒,实现专有系统功能在非原生平台上的部署,尤其对于国产化平台和特定行业应用具有重要意义。在应用场景上,常见于国产CPU(如ARM64架构的飞腾处理器)与定制化Linux发行版(如麒麟系统)的整合,以实现更好的本地化支持与硬件兼容性。本文以FT-2000/4处理器平台为例,深入探讨了如何通过交叉编译、内核配置调优和

weixin_34226182的博客 385

Ubuntu 18.04 Nginx安装实战:源码编译、AppArmor适配与systemd服务配置

Nginx作为主流Web服务器,其安装远不止于apt命令——尤其在长期支持但已停止维护的Ubuntu 18.04系统中。该版本内核老旧、安全模块(如AppArmor)默认启用、官方nginx包功能受限(无HTTP/2、模块裁剪严重),导致标准安装常遇端口绑定失败、ABI兼容性错误或运行时崩溃。理解其底层构建约束(如libssl1.1依赖、PCRE版本锁定)是可靠部署的前提。本文聚焦真实工业场景,覆盖从源码交叉编译适配ARM架构,到AppArmor策略最小化放行80端口,再到systemd服务健壮性配置的完整

weixin_30571465的博客 572

Ubuntu 18.04 部署 OpenLiteSpeed 实战指南:高并发低开销Web服务器配置

Web服务器是现代应用架构的核心组件,其性能与稳定性直接影响用户体验和系统资源利用率。OpenLiteSpeed 作为基于事件驱动模型的轻量级服务器,采用 epoll、sendfile 和内核 TCP buffer 直通优化,在老旧硬件上仍可实现高并发低 CPU 占用;相比 Nginx 和 Apache,它通过 LSAPI 协议深度集成 PHP 处理流程,并原生支持 XML 配置与 CLI 管控,显著提升运维确定性。该方案特别适用于 Ubuntu 18.04 这类长期支持但内核与生态受限的政企/边缘环境,兼

weixin_30536513的博客 368

Ubuntu 18.04下Apache Event MPM + PHP-FPM实战配置指南

Apache HTTP Server作为全球第二大Web服务器,其MPM(多路处理模块)机制是实现高并发与稳定服务的核心原理。Event MPM采用异步事件驱动模型,通过线程池管理连接、剥离阻塞I/O,显著提升资源利用率;结合PHP-FPM进程管理,实现PHP执行层与Web服务器的彻底解耦,带来内存隔离、版本热切换、故障不扩散等关键技术价值。该架构广泛适用于政务系统、教育平台、金融内网等需长期维稳的存量环境,尤其在Ubuntu 18.04等LTS系统及ARM64国产化平台上,兼具兼容性、安全性和可运维性。本

weixin_34294649的博客 457

飞腾平台PhyGCC编译器安装配置与性能优化实战指南

编译器作为软件开发的基石,其核心作用是将高级语言代码转换为高效的机器指令。GCC作为开源编译器的事实标准,其性能直接决定了程序在特定硬件上的执行效率。针对国产飞腾CPU平台,深度优化的PhyGCC编译器通过指令调度、循环优化和向量化等关键技术,能够显著提升应用程序的性能表现。在工程实践中,开发者需要在银河麒麟等国产操作系统上,通过系统包管理器、二进制包或源码编译等多种方式部署PhyGCC,并正确配置环境变量和依赖库。通过使用-mtune=ftc800等架构专属优化选项,结合CMake、Makefile等构建

weixin_28839699的博客 208
上一篇: 飞腾平台perf工具PMU事件集成指南
下一篇: 飞腾X100适配OpenEuler说明
飞腾开发者
博客等级 码龄3年 707粉丝 · 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值