【开源】RISC-V 修改neofetch中的Host描述

neofetch 介绍

neofetch 是一款用于在终端中显示系统信息的工具,其主要特点是以美观的方式展示宿主机的基本信息。它通常用于展示系统的分发版本、内核版本、硬件信息、桌面环境,以及一些个性化的设置,配合 ASCII 艺术风格的 logo,使得屏幕显得更加引人注目。

主要功能和特点:

  • 系统信息展示:显示操作系统、内核版本、CPU、内存使用情况、包管理器等。
  • 图形化的艺术字:能够显示与所用操作系统相对应的 ASCII 艺术 logo。
  • 自定义选项:用户可以通过配置文件进行个性化设置,选择显示的信息、颜色等。
  • 轻量级:非常轻量,启动速度快,不对系统性能造成影响。
  • 支持多种平台:支持大部分 Linux 发行版、macOS 和其他 Unix-like 系统。

neofetch 安装

apt install -y neofetch  # 或者

dnf install -y neofetch 

neofetch 输出

我这是一台RISC-V架构荔枝派4A
risc-v neofetch

neofetch 源码

https://github.com/dylanaraps/neofetch/blob/master/neofetch

查看源码后,发现是这部分获取的Host信息
逐个尝试后,发现荔枝派4A用的是 /sys/firmware/devicetree/base/model

get_model() {
    case $os in
        Linux)
            if [[ -d /system/app/ && -d /system/priv-app ]]; then
                model="$(getprop ro.product.brand) $(getprop ro.product.model)"

            elif [[ -f /sys/devices/virtual/dmi/id/board_vendor ||
                    -f /sys/devices/virtual/dmi/id/board_name ]]; then
                model=$(< /sys/devices/virtual/dmi/id/board_vendor)
                model+=" $(< /sys/devices/virtual/dmi/id/board_name)"

            elif [[ -f /sys/devices/virtual/dmi/id/product_name ||
                    -f /sys/devices/virtual/dmi/id/product_version ]]; then
                model=$(< /sys/devices/virtual/dmi/id/product_name)
                model+=" $(< /sys/devices/virtual/dmi/id/product_version)"

            elif [[ -f /sys/firmware/devicetree/base/model ]]; then
                model=$(< /sys/firmware/devicetree/base/model)

            elif [[ -f /tmp/sysinfo/model ]]; then
                model=$(< /tmp/sysinfo/model)
            fi
        ;;
        ...

修改Host描述

需要修改的文件位于 arch/riscv/boot/dts/thead/th1520-lpi4a-dsi0.dts

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2022-2023 Alibaba Group Holding Limited.
 */

#include "th1520-lpi4a.dtsi"

/ {
	model = "T-HEAD Light Lichee Pi 4A configuration for 8GB DDR board"; # 这行需要修改
	compatible = "thead,light-val", "thead,light-lpi4a", "thead,light";

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x200000 0x1 0xffe00000>;
	};

	vcc1v8_lontium: vcc1v8-lontium {
		compatible = "regulator-fixed";
		enable-active-high;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&gpio3_porta 17 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc1v8_lontium_pwren>;
		regulator-name = "vcc1v8-lontium";
	};

	vcc3v3_edp: vcc3v3-edp {
		compatible = "regulator-fixed";
		enable-active-high;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio2_porta 18 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc3v3_edp_pwren>;
		regulator-name = "vcc3v3-edp";
	};        
};

&cmamem {
	size = <0 0x20000000>; // 512MB on lpi4a (SOM)
	alloc-ranges = <0 0xd8000000 0 0x20000000>; // [0x0D800_0000 ~ 0x0F800_0000]
};

&i2c3 {
	clock-frequency = <400000>;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;

	lt8911i2c: lt8911i2c@29{
		compatible = "i2c,lt8911";
		reg = <0x29>;
	};
};

&dsi0 {
    status = "okay";
};

&dhost_0 {
	panel0@0 {
		compatible = "i2c_dsi,lt8911";
		reg = <0>;
		lt8911,backlight-gpio = <&gpio2_porta 20 GPIO_ACTIVE_HIGH>;
		lt8911,irq-gpio = <&gpio3_porta 16 GPIO_ACTIVE_LOW>;
		lt8911,reset-gpio = <&gpio3_porta 15 GPIO_ACTIVE_LOW>;
		lt8911,rst-delay-ms = <10>;
		lt8911,edp-lane-cnt = <2>;
		lt8911,mipi-lane-cnt = <4>;
		lt8911,edp-depth = <8>; /* 6 or 8 */
		pinctrl-names = "default";
		pinctrl-0 = <&lt8911exb_gpios>;
		hsvcc-supply = <&vcc1v8_lontium>;
		vspn3v3-supply = <&vcc3v3_edp>;

		port {
			panel0_in: endpoint {
				remote-endpoint = <&dsi0_out>;
			};
		};
	};
};

&padctrl0_apsys { /* right-pinctrl */
	light-evb-padctrl0 {
		/*
		 * Pin Configuration Node:
		 * Format: <pin_id mux_node config>
		 */
		pinctrl_i2c3: i2c3grp {
			thead,pins = <
				FM_I2C3_SCL	LIGHT_PIN_FUNC_0	0x204
				FM_I2C3_SDA	LIGHT_PIN_FUNC_0	0x204
			>;
		};

		lt8911exb_gpios: lt8911exb-gpios {
			thead,pins = <
				FM_GPIO2_20	LIGHT_PIN_FUNC_0	0x208
				FM_GMAC0_RXD1	LIGHT_PIN_FUNC_3	0x0
				FM_GMAC0_RXD0	LIGHT_PIN_FUNC_3	0x208
			>;
		};

		vcc1v8_lontium_pwren: vcc1v8-lontium-pwren {
			thead,pins = <
				FM_GMAC0_RXD2	LIGHT_PIN_FUNC_3	0x208
			>;
		};

		vcc3v3_edp_pwren: vcc3v3-edp-pwren {
			thead,pins = <
				FM_GPIO2_18	LIGHT_PIN_FUNC_0	0x208
			>;
		};
		dsi_reset_gpio: dsi-reset-gpio {
			thead,pins = <
				FM_GPIO2_22	LIGHT_PIN_FUNC_0	0x0
			>;
                };
	};
};


修改完以后重新编译内核就可以了。

谢谢大家

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

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

相关文章

基于Opencv中的DNN模块实现图像/视频的风格迁移

一、DNN模块的介绍 1、简介 OpenCV中的DNN&#xff08;Deep Neural Network&#xff09;模块是一个功能强大的组件&#xff0c;它支持深度学习网络模型的加载和推理。虽然DNN模块不提供模型的训练功能&#xff0c;但它可以与主流的深度学习框架&#xff08;如TensorFlow、Caf…

Visual Studio的实用调试技巧总结

对于很多学习编程的老铁们来说&#xff0c;是不是也像下面这张图一样写代码呢&#xff1f; 那当我们这样编写代码的时候遇到了问题&#xff1f;大家又是怎么排查问题的呢&#xff1f;是不是也像下面这张图一样&#xff0c;毫无目的的一遍遍尝试呢&#xff1f; 这篇文章我就以 V…

iPhone使用指南:如何在没有备份的情况下从 iPhone 恢复已删除的照片

本指南将向您展示如何在没有备份的情况下从 iPhone 恢复已删除的照片。我们所有人在生活中的某个时刻都一定做过一些愚蠢的事情&#xff0c;例如从手机或电脑中删除一些重要的东西。这是很自然的&#xff0c;没有什么可羞耻的。您可能在辛苦工作一天后回来。当突然想看一些照片…

科技云报到:云服务的中场战事,从AI应用开始

科技云报到原创。 从去年的大模型之战&#xff0c;到今年的AI应用之争&#xff0c;云服务正在迈入全新的发展阶段。AI这个杠杆将各家厂商的竞争策略更向前推进了一步。 “云AI”能够孵化出多少可能&#xff1f;在业界眼中&#xff0c;“云AI”则意味着新的悬念&#xff1a;云计…

Java基础知识全面总结

第一章&#xff1a;类与对象 第一课&#xff1a;什么是面向对象编程 1.面向对象编程和面向过程编程的区别 无论是面向过程编程还是面向对象编程都是用于解决一个实际问题&#xff0c;当面向过程编程在解决一个问题时&#xff0c;更多的情况下是不会做出重用的设计思考的&…

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555 第一节 硬件解读第二节 CubeMx配置第三节 代码1&#xff0c;脉冲部分代码2&#xff0c;ADC部分代码![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/57531a4ee76d46daa227ae0a52993191.png) 第一节 …

pytorh学习笔记——波士顿房价预测

机器学习的“hello world”&#xff1a;波士顿房价预测 波士顿房价预测的背景不用提了&#xff0c;简单了解一下数据集的结构。 波士顿房价的数据集&#xff0c;共有506组数据&#xff0c;每组数据共14项&#xff0c;前13项是影响房价的各种因素&#xff0c;比如&…

Nullinux:一款针对Linux操作系统的安全检测工具

关于Nullinux Nullinux是一款针对Linux操作系统的安全检测工具&#xff0c;广大研究人员可以利用该工具针对Linux目标设备执行网络侦查和安全检测。 该工具可以通过SMB枚举目标设备的安全状况信息&#xff0c;其中包括操作系统信息、域信息、共享信息、目录信息和用户信息。如…

第四次论文问题知识点及问题

1、NP-hard问题 NP-hard&#xff0c;指所有NP问题都能在多项式时间复杂度内归约到的问题。 2、启发式算法 ‌‌启发式算法&#xff08;heuristic algorithm&#xff09;是相对于最优化算法提出的。它是一种基于直观或经验构造的算法&#xff0c;旨在以可接受的花费给出待解决…

『网络游戏』进入游戏主城UI跳转主城【26】

首先在Unity客户端中创建一个空节点重命名为MainCityWnd 设置父物体为全局 创建空节点钉在左上角作为角色信息UI 在钉子下创建Image 创建脚本&#xff1a;MainCityWnd.cs 编写脚本&#xff1a;MainCityWnd.cs 挂载脚本 创建脚本&#xff1a;MainCitySys.cs 编写脚本&#xff1a…

Java中二维数组-杨辉三角

使用二维数组打印一个10行杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1&#xff09;第一行有1个元素&#xff0c;第n行有n个元素 2&#xff09;每一行的第一个元素和最后一个元素都是1 3&#xff09;从第三行开始&#xff0c;对于非第一个元素和最后一个元素的元素…

商贸物流痛点解析

商贸物流痛点解析 在当今全球化的商业环境中&#xff0c;商贸与物流之间的紧密协作已成为业务成功的关键因素。然而&#xff0c;许多组织面临着信息不对称、资源配套不足以及系统间隔离等痛点&#xff0c;这些问题严重阻碍了商贸体系与物流、仓储和园区的有效联动&#xff0c;…

[mysql]多表查询详解

我们如果要查询,我们就要用 SELECT .... FROM .... WHERE AND/OR/NOT #我们需要用过滤的条件来对数据进行筛选,不然会有很多多余数据 ORDER BY (ASC/DESC)#排序 LIMIT....,#是在几个有限的数据库管理系统里所以,PGsql,mysql,等 多表查询的意义 我们目前为止的查询语句…

linux 安装gitlab

安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤&#xff1a; 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…

IPv 4

IP协议 网络层主要由IP&#xff08;网际协议&#xff09;和ICMP&#xff08;控制报文协议&#xff09;构成&#xff0c;对应OSI中的网络层&#xff0c;网络层以实现逻辑层面点对点通信为目的。目前应用最广泛的IP协议为IPv4 基本概念给出 主机&#xff1a;配有IP地址但不具有路…

【原创】java+springboot+mysql劳动教育网系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

【数据结构-栈】【贪心】力扣2434. 使用机器人打印字典序最小的字符串

给你一个字符串 s 和一个机器人&#xff0c;机器人当前有一个空字符串 t 。执行以下操作之一&#xff0c;直到 s 和 t 都变成空字符串&#xff1a; 删除字符串 s 的 第一个 字符&#xff0c;并将该字符给机器人。机器人把这个字符添加到 t 的尾部。 删除字符串 t 的 最后一个 …

让AI像人一样思考和使用工具,reAct机制详解

reAct机制详解 reAct是什么reAct的关键要素reAct的思维过程reAct的代码实现查看效果引入依赖&#xff0c;定义模型定义相关工具集合工具创建代理启动测试完整代码 思考 reAct是什么 reAct的核心思想是将**推理&#xff08;Reasoning&#xff09;和行动&#xff08;Acting&…

SDH8303直插DIP8,7W-12W非隔离升压降压转换器

SDH8303是用于开关电源的内置高压 MOSFET 的电流模式 PWM 控制器&#xff0c;采用DIP-8封装&#xff0c;全电压下典型功率7W-12W。 SDH8303芯片内置高压启动电路&#xff0c;在轻载下会进入打嗝模式&#xff0c;具有降频、抖频、软启动、VDD 打嗝功能&#xff0c;还集成了 VDD …

猿人学 — 第1届第17题(解题思路附源码)

猿人学 — 第1届第17题 根据题目“天杀的Http2.0”大概知道&#xff0c;请求的协议应该遵照的是Http2.0协议&#xff0c;并且目标网站专门对此进行了检测&#xff0c;在Network面板中右键表头&#xff0c;勾选Protocol 果不其然&#xff0c;一堆请求都是遵照Http2.0协议。而u…