更换linux内核的开机启动logo

2023-10-27

自定义内核启动logo(找的图片分辨率大小要低于屏幕的大小)
(1)sudo apt-get install netpbm  (先让ubuntu上网)
(2)pngtopnm logo.png ppmquant -fs 224 pnmtoplainpnm logo_linux_clut224.ppm
(3)用制作好的logo_linux_clut224.ppm,替换源码目录
drivers/video/logo/logo_x210_clut224.ppm, 然后重新编译内核
(4)启动新内核,就能看到新的启动logo了。

 

让logo显示在屏幕中央(通过结构体获得屏幕大小数据)
logo居中:
1、设置logo图片在屏幕中的位置
vi drivers/video/fbmem.c
找到"fb_show_logo_line"函数,把
image.dx = 0;
image.dy = y;
改为:
image.dx  (info->var.xres  logo->width)  2;                //  logo显示的起始坐标x值
image.dy  (info->var.yres  logo->height)  2;               



除了可以覆盖原logo的ppm,还可用另一种方法添加新图片logo:
在Makefile中有这么一句:extra-y += $(call logo-cfiles,_clut224,ppm)
它的意思是在当前找到以"_clut224"结尾的ppm图片,然后根据它生成.c文件,所以添加新的图片名可以 类似这样:logo_linux_sullg_clut224.ppm
1.Makefile,加入一行
obj-$(CONFIG_LOGO_LINUX_SULLG_CLUT224)  += logo_linux_sullg_clut224.o
2.Kconfig,加入
config LOGO_LINUX_SULLG_CLUT224
    bool "Standard 224-color Linux logo for sullg"
    default y
3.logo.c,加入
extern const struct linux_logo logo_linux_sullg_clut224;
在"fb_find_logo"中找到"#ifdef CONFIG_LOGO_LINUX_CLUT224",在其后加入:
#ifdef CONFIG_LOGO_LINUX_SULLG_CLUT224
        logo = &logo_linux_sullg_clut224;
#endif

 

完。

——————————————网上收集————————————————————
 

在做嵌入式Linux系统时常常希望能自己制作液晶的启动画面,这里将讲述logo的自定义方法。
linux下一般图片使用PNG格式比较多,这里就以PNG格式为例,不是PNG格式的图片,可以用GIMP转换一下:

1 安装图片转换工具


  1. #sudo apt-get install netpdm

首先将png图片转成pnm
  1. # pngtopnm logo_linux_clut.png > logo_linux_clut224.pnm


3 然后将pnm图片的颜色数限制在224 
  1. # pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm


4 最后将pnm图片转换成我们需要的ppm

  1. # pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm

5 配置内核 make menuconfig

Device Drivers -> Graphics support ->Logo configuration -> Standard 224-color Linux logo

6 替换原来的logo 

把刚才制作好的图片logo_linux_clut224.ppm拷贝到linux内核源码目录

linux-2.6.12/drivers/video/logo/下,删除原来的logo_linux_clut224.ppm,logo_linux_clut224.c  logo_linux_clut224.o 文件,

7 重新编译内核

在内核的根目录下 make zImage 

具体LOGO的名字可能不一样,大家可以尝试打开源码目录看看(/drivers/video/logo)
 
 

 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更换linux内核的开机启动logo 的相关文章

  • el-form之表单校验自动定位到报错位置

    1 背景 表单校验大多数的表单都会用到 一般情况下只是提示当前哪些项校验不通过 但是如果表单比较需要用户自己去找是哪项校验不通过 这样的用户体验不太好 如果能自动定位到当前校验不通过的表单项体验会更好一些 这里是以elementui 的 e
  • 主线剧情-番外02-设备树详解

    设备树详解 本文 续接 主线剧情03 NXP i MX 系列 u boot 移植基础详解 一文中移植过程小节中有关设备树的内容 编辑整理 By Staok 如有错误恭谢指出 侵删 CC BY NC SA 4 0 注意 本文适合学习设备树的一
  • Spring参数校验和全局异常处理

    目录 一 前言 二 Validation 1 JSR 303 2 Spring Validation 3 Validated和 Valid的区别 三 全局异常处理 1 为何要处理异常 2 RestControllerAdvice 3 返回自
  • Vue项目启动报错:error:cannot find module xxx

    原因 无法找到项目依赖的某个模块 解决办法 1 删掉存放模块的文件夹node module 2 执行清除缓存命令 npm cache clean 如果报错 使用强制清除npm cache clean force 如果还报错 删除packag
  • Unity滑入Button/按键/UI范围检测

    效果展示 鼠标滑入按键的点击范围后 对应的游戏背景会发生改变 将下面的脚本挂在需要检测的UI上即可 记得引用必要的操作 using System Collections using System Collections Generic us
  • 接口测试初认知

    接口测试初认知 一 概念 根据分层自动化测试中的定义 最底层由开发人员编写的单元测试保证代码质量 最上层由功能测试人员手工 UI自动化进行大量的自动化功能测试保证功能的可用 则中间层的接口测试是什么作用呢 接下里我们就学习接口测试 那说到接
  • matplotlib如何降低x轴密度-时间显示问题

    python中轴数据的 稀释 在python中很多时候都会遇到x轴数据过多而显示出问题的问题 因此这篇文章针对于时间显示问题来做出解答 可以到到原始数据是 可以先简单绘制数据图 代码如下 绘制结果图如下 结果无法显示出日期 因此需要导入ti
  • C++压缩解压开源库ZIP

    1 ZIP下载 ZIP 主要是用于简单的压缩和解压 引入比较方便 而且极其易使用 方便用户操作 下载地址 http www codeproject com Articles 7530 Zip Utils clean elegant simp
  • 软连接文件的创建删除

    demo 通过系统命令 实现一个对视频文件可以操作的软连接路径 在Nginx中的HTML页面可直接访问视频文件 目录的创建 文件的链接 文件的删除 include
  • DA14585-我手上的开发板(串口2)

    名字 DA14585 Development Kit Pro DA14585 Development Kit Pro Dialog视频 DA14585 Development Kit Pro Dialog 文件结构参考 DA14585 SD
  • 百度OCR文字识别及使用案例

    百度OCR文字识别使用案例 案例环境 Windows10 Jdk1 8 IDEA2019 3 5旗舰版 一 账号注册及创建应用 1 访问地址 https ai baidu com tech ocr general track cp aipi
  • —————数组循环之终极宝典

    一 数组循环的方法 for forEach map for of filter every find 1 for循环 最基础的循环方式 速度较快 效率较高 而且可以控制数组的任意一项元素 const arr 1 2 3 4 5 for le
  • Java并发编程:线程池的使用

    https www cnblogs com dolphin0520 p 3932921 html Java并发编程 线程池的使用 在前面的文章中 我们使用线程的时候就去创建一个线程 这样实现起来非常简便 但是就会有一个问题 如果并发的线程数
  • 堆排序(Heap Sort)实现

    定义 堆排序 英语 Heapsort 是指利用堆 heap 这种数据结构所设计的一种排序算法 堆是一个近似完全二叉树的结构 并同时满足堆积的性质 即子节点的键值或索引总是小于 或者大于 它的父节点 堆可看作是一个 完全二叉树 的结构 记一个
  • sqli-labs(27a)

    0X01测试闭合 id 1 报错 id 1 正常 0X02构造语句爆数据库名称 id 99 0AUNIon 0ASELECt 0A1 database 3 1 1 和27关一样 只是 变成了 其他语法就是打组合拳 0X03组合拳 27关见
  • python 设置x轴_python matplotlib坐标轴设置的方法

    在使用matplotlib模块时画坐标图时 往往需要对坐标轴设置很多参数 这些参数包括横纵坐标轴范围 坐标轴刻度大小 坐标轴名称等 在matplotlib中包含了很多函数 用来对这些参数进行设置 我们可以对坐标轴进行设置 设置坐标轴的范围

随机推荐

  • activiti学习之并行网关

    写在前面 并行网关用于处理流程并发的场景 可以将流程分发到多个执行流程 也可以让多个执行流程合并为一个执行流 但不是必须一起使用 也就是说并行网关有两种行为 分叉和合并 下面我们来一起看下 场景 学生请假同时由班长和班主任审批 等到班长和班
  • 【spark系列12】spark remote shuffle service(RSS)杂谈

    背景 对于spark remote shuffle service 以下简称RSS 在社区其实早就有探讨SPARK 25299 只不过一直没有达成一致 且目前的内置的shuffle service 也能满足大部分的场景 也就被搁置了 但是由
  • uni-app 选择图片(chooseImage)

    uni app 选择图片 chooseImage 1
  • 用J-FLASH合并两个bin文件

    目的 为什么我们需要对两个bin文件进行整合呢 这也是我写这篇文章的目的 我们来展开细谈 在我们工作或者学习中 用KEIL5进行单片机程序开发 我们都 知道单片机的程序保存在片内Flash中 正常情况下我们单片机运行的时候 只需要下载1次程
  • WebService 离我越来越远去了,不好意思提的WebService,不得不说的几件事情

    写文章未必代表水平高 不写文章未必代表就水平差 写文章是给别人看的 若没看 也白折腾了 有意义的 有价值的反馈 自己也会得到提高 其实写文章的过程是把自己的知识再次梳理一遍 思路严谨的表达出来的过程 写了一年多时间的文章后 不知不觉中还是有
  • 招聘画像之资深安全工程师

    工作职责 1 负责公司产品安全架构设计 构建技术及产品安全基线 包括网络安全 应用安全 数据安全 运营安全等 2 负责最新的安全漏洞研究 最新安全动态的跟踪与探索 3 资产安全管理 保障公司在系统 网络 主机 权限 数据等多个层面的安全和可
  • Hook普通方法(包括静态方法)

    想学习安卓逆向可以联系qq 3251901516 HOOK重载方法 jscode Java perform function var utils Java use com qianyu fridaapp Utils utils test o
  • 【mysql】2003-Can‘t connect to MySQL server on “XX.XX.XX.XX“ (10060 unknow error)

    使用navicat或者其他数据库管理工具连接远程mysql服务器时出现2003 Can t connect to MySQL server 10060 unknow error 错误 经过排查时发现是防火墙的问题 OK 那么下面写一下处理的
  • HttpStatus状态码

    HTTP状态码 HTTP Status Code 是用以表示网页服务器超文本传输协议响应状态的3位数字代码 它由 RFC 2616 规范定义的 所有状态码的第一个数字代表了响应的五种状态之一 0 Maven 依赖
  • 金融风控-->申请评分卡模型-->申请评分卡介绍

    从这篇博文开始 我将总结金融风控中的另外一个模型 申请评分卡模型 这篇博文将主要来介绍申请评分卡的一些基本概念 本篇博文将以以下四个主题来进行介绍说明 信用风险和评分卡模型的基本概念 申请评分卡在互联网金融业的重要性和特性 贷款申请环节的数
  • mysql数据库的差异备份

    完整备份 t为数据库名 Mysql uroot pPassword t e FLUSH TABLES 关闭所有打开的表 把内存中的缓存写入磁盘 Mysql uroot pPassword t e FLUSH TABLES WITH READ
  • 日本芯片产业发展史

    01 1955年 纽约 一个日本来的年轻人 敲开了美国宝路华公司采购的大门 他此行的目的是推销公司新研发的小型收音机 与美国市场上傻大笨粗的同类产品不同 这个小型收音机号称可以装在口袋里 宝路华公司看上了这单生意 决定下单10万台 但是前提
  • WAF绕过小技巧

    一 WAF绕过 1 脏数据绕过 即传入一段长数据使waf失效 从而实现绕过waf 某些waf处理POST的数据时 只会检测开头的8K 后面选择全部放过 例如 当发现某网站存在一个反序列化漏洞时 但是无回显 被waf拦截了 利用脏数据插入50
  • SQL Server 高可用方案介绍

    图1 图2 图3 图4 图5 图6 图7 图8 图9 图10 图11 图12 图13
  • 攻防世界ctf题目fileinclude笔记

    根据提示 网站首页目录 var www html index php flag在flag php中 右键查看源代码 include处存在文件包含漏洞 变量从网站传过来的cookie确定 只要修改language参数访问flag目录即可 打开
  • Unity Android包体压缩

    查看资源文占用 在console窗口下点击 gt open editor log 打开的记事本内搜索 build report 能查看到对应的资源类型所占用的包体百分比 和打包后的文件文件大小 从大到小排列 查看某个类型的所有文件 在Pro
  • 注册Keil软件时出现TOOLS.INI_TOOLCHAIN NOT INSTALLED的解决办法

    问题描述 Keil软件注册好后 打开项目出现报错 Error Project 1 requires C51 Toolchain which is not installed 注册步骤 当我们在注册keil软件时选择ARM 注册成功后 打开项
  • 成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden

    成功解决wget下载报错 wget HTTP request sent awaiting response 403 Forbidden 问题描述 解决方案 原理 什么是User Agent 解决 问题描述 2023 07 15 02 32
  • selenium+headless chrome爬虫

    python爬虫写起来非常快 虽然也可以用java 但是没有python来的简洁迅速 selenium在前面总结过 是一个自动化测试库 headless chrome是无界面的浏览器模式 和PHANTOMJS类似 但是PHANTOMJS往往
  • 更换linux内核的开机启动logo

    自定义内核启动logo 找的图片分辨率大小要低于屏幕的大小 1 sudo apt get install netpbm 先让ubuntu上网 2 pngtopnm logo png ppmquant fs 224 pnmtoplainpnm