八、启动linux内核并修改开机logo
1. 编译并烧写linux内核
1)先准备好内核源码包urbetter-linux2.6.28-v1.0.tgz,输入命令:tar -zxvf urbetter-linux2.6.28-v1.0.tgz 解压
2)进入内核源码包目录,修改Makefile,将CROSS_COMPILE改为自己的交叉编译工具。
3)执行命令:make
之后会在arch/arm/boot目录下生成zImage文件
将zImage烧写进Nandflash的0x200000地址
2. 准备文件系统
在6410目录下创建一个名为rootfs的目录,将文件系统压缩包urbetter-rootfs-qt-2.2.0.tgz放置6410目录下,输入:sudo tar xzvf urbetter-rootfs-qt-2.2.0.tgz -c rootfs
输入命令:vi /etc/exports
最后一行加入:/home/linux/zkf/6410/rootfs *(rw,sync,no_root_squash,no_subtree_check) 注意括号内没有空格,否则重启nfs服务时会报错
之后输入命令:sudo service nfs-kernel-server restart 重启nfs服务
使用命令:showmount -e 可以看见当前可以用nfs挂载的目录:

3. 修改U-boot启动命令和参数
启动U-boot后输入以下命令:
setenv ipaddr 192.168.1.100
setenv serverip 192.168.1.200
setenv gatewayip 192.168.1.1
setenv bootargs "root=nfs nfsroot=192.168.1.200:/source/rootfs init=/linuxrc console=ttySAC0,115200 ip=192.168.1.100"
setenv bootcmd "nand read 50008000 200000 300000;bootm 50008000"
saveenv
重启开发板,让U-boot引导内核启动,内核启动后能看到LCD上显示企鹅。
4. 修改linux开机logo
准备好一张480*272的png格式的图片linux_logo.png,按顺序输入以下命令:
pngtopnm linux_logo.png > linux_logo.pnm
pnmquant 224 linux_logo.pnm > linux_logo_clut224.pnm
pnmtoplainpnm linux_logo_clut224.pnm > logo_linux_clut224.ppm
如果提示没有软件则使用:sudo apt-get install netpbm 获取。
接下来将logo_linux_clut224.ppm复制到linux内核drivers/video/logo目录下,替换掉原来的文件,同时删除掉logo_linux_clut224.c和logo_linux_clut224.o,重新编译下载内核。内核启动后显示的logo就是刚刚替换掉的图片了。
5. 去掉屏幕打印信息
第4步完成后虽然开机logo修改成功了,但是启动后屏幕上会显示一些打印信息,如下:

我一直以为这部分代码在内核里,于是在内核里搜了半天没搜到,然后以为在U-boot里,搜了半天也没搜到,最后发现是在文件系统里。。。

将开发板文件系统根目录下etc/init.d/rcS中这几句echo全部注释掉再复位开发板,屏幕上那几句打印信息就没了。
6. 去掉开机logo上的光标
第5步去掉了屏幕上的打印信息,但是左上角还有一个光标,接下来我们要把它去掉。
将内核代码drivers/video/console/fbcon.c文件中第395行左右的fb_flashcursor函数和第1359行左右的中的fbcon_cursor函数内容全部注释掉,重新编译下载内核,重启开发板光标便去除了。
八、启动linux内核并修改开机logo的更多相关文章
- uboot学习之五-----uboot如何启动Linux内核
uboot和内核到底是什么?uboot实质就是一个复杂的裸机程序:uboot可以被配置也可以做移植: 操作系统内核本身就是一个裸机程序,和我们学的uboot和其他裸机程序没有本质的区别:区别就是我们操 ...
- Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...
- uefi是如何启动linux内核的?
答:uefi启动linux内核有两条路径: 1. uefi直接进入uefi shell来启动linux内核 2. uefi直接进入uefi shell启动grub启动器,然后进入grub shell启 ...
- 高通平台msm8916修改开机logo【原创】
经过两天的奋战终于把开机logo给搞定了啊. 首先修改开机logo要从哪里入手呢?先分析一下源码看看. ---> void display_image_on_screen() { struct ...
- 小白自制Linux开发板 九. 修改开机Logo
许久不见啊,今天我们继续来修改我们的系统. 通过前面的几篇文章我们已经能轻松驾驭我们的开发板了,但是现在都是追求个性化的时代,我们在开发板上打上了自己的Logo,那我们是否可以改变开机启动的Logo呢 ...
- 安卓修改开机logo和开机动画的方法
第一种和第二种方法亲测可用,安卓版本是4.2和安卓5.1均可.第二种方法待验证 以下三种方法 Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux小企鹅画 ...
- 安卓修改开机logo
这里我们是在ubuntu下进行操作我是用root用户登陆的,首先安装netpbm库 执行:apt-get install netpbm 对于Android系统最开始表现logo是在内核当中,所以首先我 ...
- 通过Bochs分析Lilo启动Linux内核的过程
1. Bochs调试 参考:http://www.cnblogs.com/long123king/p/3414884.html http://bochs.sourceforge.net/cgi-bin ...
- 基于TFTP方式加载启动Linux内核
一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E63 ...
随机推荐
- [转]C#使用 Salt + Hash 来为密码加密
本文转自:http://www.csharpwin.com/csharpspace/13412r9615.shtml (一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站用户的密码),你 ...
- Mysql中Join用法及优化
Join的几种类型 笛卡尔积(交叉连接) 如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录.在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者直接用f ...
- SQL SERVER 字符合并多行为一列
[字符合并多行为一列] 思路1:行转列,在与字符拼接(适用每组列数名相同) 思路2:转xml,去掉多余字符(适用所有) 假设兴趣表Hobbys Name Hobby 小张 打篮球 小张 踢足球 Nam ...
- 【PowerDesigner】【2】将工具栏显示出来
问题:我的软件一打开,没有工具栏 解决方案:Tools→Customize Menus and Tools→Palette→Close 参考文档: PowerDesigner如何将消失的工具栏显示出来 ...
- 压力测试之ab命令
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. ab是apache自带的压力测试工具.ab非常实用,它不 ...
- Oracle 11g后台进程一览表
Background Processes Table F-1 describes Oracle Database background processes. In this context, a ba ...
- 详谈Oracle12c新特点容器数据库&可插拔数据库(CDB&PDB)
一般信息 数据字典 CDB_FILE$ DBA_PDBS PDB$SEED CDB_LOCAL_ADMINAUTH$ DBA_PDB_HISTORY PDB_HISTORY$ CDB_PDB_SAVE ...
- springboot自动装配
Spring Boot自动配置原理 springboot自动装配 springboot配置文件 Spring Boot的出现,得益于“习惯优于配置”的理念,没有繁琐的配置.难以集成的内容(大多数流行第 ...
- WebSphere部署应用教程
在WebSphere中应用是部署在“应用程序服务器”,而“应用程序服务器”建立在“节点”上 所以部署应用的几个前提是:要创立好受控server(亦即节点)并加入到控制台中且处于启动(亦即同步)状态:要 ...
- 整合elk(2)(十三)
配置.启动kibana 到kibana的安装目录: 1 ./bin/kibana 默认配置即可. 访问localhost:5601,网页显示: 证明启动成功. 创建springboot工程 起步依赖如 ...