转自: http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328522&idx=1&sn=64107695fef34ba48f04a78be7a37951&chksm=83976f00b4e0e61629f6f38a4868727bbd1f333a3bb43f0d1303adeb5fa3bb2d6b00f61e35df&mpshare=1&scene=23&srcid=0612vTbty2HiLcZ9zNGkDje9#rd

内核:linux-2.6.22.6

ubuntu:Ubuntu 9.10

开发板: JZ2440(方法通用,不局限于JZ2440)

目的:

Jz2440开机logo默认是一只可爱的小企鹅。我们把它替换成我们喜爱的图片。

准备工作:

准备好BMP或者PNG 图片,若是别的格式的图片,可以使用Windows自带的画图软件打开,然后另存为BMP或者PNG格式,Logo图片分辨率不小于JZ2440分辨率480*272,否则显示不了。

步骤:

1. 安装资料光盘Ubuntu 9.10没有的图片转换工具netpbm

$ sudo apt-get install netpbm

然后输入y //前提是ubuntu能上网

2. 制作linux logo图片

假设图片为 jz2440.png(png格式图片)

$ pngtopnm jz2440.png > jz2440.pnm

$ pnmquant 224 jz2440.pnm > logo224.pnm

$ pnmtoplainpnm logo224.pnm >logo_linux_clut224.ppm

假设图片为 jz2440.bmp(BMP格式图片)

$ bmptopnm jz2440.bmp > jz2440.pnm

$ pnmquant 224 logo.pnm > logo224.pnm

$ pnmtoplainpnm logo224.pnm >logo_linux_clut224.ppm

注意:转换后的文件名有规定,必须是logo_linux_clut224.ppm

3. 生成的logo_linux_clut224.ppm就是我们需要的logo文件,把它拷贝到内核目录覆盖原来的logo文件

$ cd /work/system/linux-2.6.22.6/drivers/video/logo/

$ cp /work/logo_linux_clut224.ppm .   //笔者制作的logo文件在/work/目录

4. 查看logo目录是否存在logo_linux_clut224.o的文件,如果有一定要删除!

$ rm logo_linux_clut224.o

5. 配置内核支持logo显示(如果内核用的是linux-2.6.22.6_jz2440.patch补丁,默认已经支持logo显示)

$ make menuconfig

Device Drivers --->

Graphics support --->

Console display driver support--->

<*>Framebuffer console support

Bootup logo --->

<*> Standart 224-color linux logo

6. 重新编译内核,烧写

$make uImage

把uImage上传到window tftp软件所在目录

进入开发板uboot,作一些必要设置,以PING通window

set gatewayip 192.168.1.1  //设置网关

set netmask 255.255.255.0 //设置子网掩码

set ipaddr 192.168.1.111  //设置uboot阶段的开发板ip

set serverip 192.168.1.170 //设置服务器ip

tftp 30000000 uImage //下载uImage

nand erase kernel    //擦除kernel分区

nand write.jffs2 30000000 kernel //烧写uImage

因为笔者的文件系统在nfs上, 所以先设bootargs

set bootargs noinitrd root=/dev/nfsnfsroot=192.168.1.199:/work/busybox-1.21.0/rootfsip=192.168.1.100:192.168.1.199:192.168.1.255:255.255.255.0::eth0 init=/linuxrcconsole=ttySAC0,115200
//设置bootargs

save  //保存环境变量

boot //启动开发板

说明:

192.168.1.100是linux系统起来后的开发板ip

192.168.1.199是作为NFS服务器的ubuntu ip

192.168.1.255是ubuntu 网关

/work/busybox-1.21.0/rootfs是ubuntu /etc/exports设置的nfs目录

255.255.255.0是ubuntu子网掩码

效果:我们伟大的百问网出来啦!

注:如果您使用的linux发行版是Fedora,可以使用友善之臂公司提供的工具logomaker制作,具体步骤参考它们用户手册,不在赘述。


[置顶] 制作开机LOGO就是这么简单!的更多相关文章

  1. [置顶] 在Ubuntu下实现一个简单的Web服务器

    要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...

  2. 修改u-boot的开机logo及显示过程【转】

    本文转载自;http://blog.csdn.net/voice_shen/article/details/6789424 [ u-boot: Git://git.denx.de/u-boot.git ...

  3. 安卓修改开机logo和开机动画的方法

    第一种和第二种方法亲测可用,安卓版本是4.2和安卓5.1均可.第二种方法待验证 以下三种方法 Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux小企鹅画 ...

  4. 设置安卓开机动画、开机logo

    我们要修改的是system>media文件夹下的bootanimation.zip(手机开机动画)这个文件 先来讲讲这个文件结构:该zip解压后得到两个文件, 第一个目录存放了开机时播放的图片( ...

  5. Android 系统开机logo的修改【转】

    本文转载自:http://blog.csdn.net/yandongqiangZHRJ/article/details/8585273 看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送 ...

  6. (原)kenel开机logo的制作

    今天项目需要,需要制作一个kernel的开机logo,所以在rk3288的平台上进行测试一番. 第一步:配置kernel:选上CONFIG_LOGO_LINUX_CLUT224选项 make menu ...

  7. RK3288 制作内核开机logo

    安装工具 sudo apt-get install netpbm 1.制作图片 (1).图片为bmp格式 $ convert logo.bmp logo.png $ pngtopnm logo.png ...

  8. jquery——制作置顶菜单

    置顶菜单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  9. html简单响应式滚动条置顶

    简单响应式滚动条置顶 一般的,让页面出现滚动条的常见方法有: overflow:auto||overflow:scroll 或者overflow-x水平滚动条和overflow-y垂直滚动条 那么现在 ...

随机推荐

  1. JSP的动态Include的静态Include

    1. 静态导入示例 先总结: 1:静态include是把被引入的文件拼接到本页面中,再做为一个整体来编译,返回结果给客户端. 动态include是分别编译本页面和被引入的页面,再把结果合成一个html ...

  2. 【bzoj1260】涂色paint[CQOI2007](区间dp)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1260 这道题其实和codeforces607B有点像,然而做过原题的我居然没看出来.. ...

  3. C#反射第一天

    [转]C#反射   反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等. ...

  4. contenteditable支持度

    contenteditable attribute (basic support) - Working Draft Global user stats*: Support: 86.71% Partia ...

  5. Linux嵌入式 -- 内核 - 内存管理

    1.  逻辑地址 线性地址 物理地址 段式管理: 16位CPU,20根地址总线,可寻址1M内存,但是只有16位的寄存器,64K. 逻辑地址  =  段基地址 + 段内偏移地址 物理地址 PA  = 段 ...

  6. 【转载】JAVA多线程读取、操作List集合

    本文转载自:http://blog.csdn.net/wang1989cs/article/details/47663565 import java.util.ArrayList; import ja ...

  7. Office文件的实质是什么

    Office文件的实质是什么 一.总结 一句话总结:对于一个Microsoft Office文件,其实质是一个Windows复合二进制文件(Windows Compound Binary File), ...

  8. python之单元测试框架—unittest

    一. 什么是单元测试?单元测试的对象是什么? 1: 什么是单元测试? 按照定义,单元测试就是对单个模块或者单个类或者单个函数进行测试,一般是开发做的,按照阶段分,一般就是单元测试.集成测试.系统测试. ...

  9. zoj 3963 Heap Partition(并查集,贪心,二分)

    Heap Partition Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge A sequence S = { ...

  10. Gitlab上如何给指定人员在指定项目里设置指定权限,给项目设置保护

    一.在Gitlab页面里,点击Project,找到指定的Project里: 二.点击Members,可以添加人员,并给指定的人员设置权限 三.点击Protected Branches,可以给Proje ...