FS_V210开发平台下Linux启动logo的修改

作者:朱老师,华清远见嵌入式学院讲师。

一、开发平台

主机:ubuntu 12.04 系统;

目标机:FS210 平台;

内核版本:Linux-3.0.8

交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc;

二、步骤

运行Ubuntu 12.04系统,打开命令行终端。

$ cd ~
             $ cd driver
             $mkdir logo
             $ cd logo

将“fs210光盘:实验资料\4. Linux驱动部分\26. Linux启动logo修改实验”中的“farsight_logo800480.bmp”拷贝到该目录下。

生成ppm 文件:

ubuntu下转换PPM:

sudo get-apt install netpbm
             $bmptoppm pic.bmp > temp1.ppm //生成ppm
             $ppmquant 224 temp1.ppm > temp2.ppm //转换成224 颜色
             $pnmnoraw temp2.ppm >logo.ppm //转换成ascii格式
             $ cplogo.ppm/home/linux/workdir/fs210/linux-3.0.8-FS210/drivers/video/logo/logo_linux_test_clut224.ppm

进入Linux内核:

$ cd  /home/linux/workdir/fs210/linux-3.0.8-FS210/drivers/video/logo/

修改该目录下的Kconfig文件

$ viKconfig
             在config LOGO_LINUX_CLUT224
             bool "Standard 224-color Linux logo"
             default y
             下面,添加:
             config LOGO_LINUX_TEST
             bool "Standar 224-color Linux Test Logo"
             default y
             修改该目录下的log.c文件:
             在:
             #ifdef CONFIG_LOGO_LINUX_CLUT224
             /* Generic Linux logo */
             logo = &logo_linux_clut224;
             #endif
             下面添加:
             #ifdef CONFIG_LOGO_LINUX_TEST
             logo = &logo_linux_test_clut224;
             #endif
             修改内核 include/linux/linux_logo.h
             $ vilinux_logo.h
             在:
             externconststructlinux_logo logo_linux_clut224;
             下面,添加:
             externconststructlinux_logo logo_linux_test_clut224;
             修改/home/linux/workdir/fs210/linux-3.0.8-FS210/drivers/video/logo/目录下的Makefile
             $ viMakefile
             在:
             obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o
             下面添加:
             obj-$(CONFIG_LOGO_LINUX_TEST)       += logo_linux_test_clut224.o
             进入Linux内核顶级目录,配置内核:
             $ make menuconfig
             Device driver--->
             Graphics support-->
             Bootup logo

进入Linux内核顶级目录,配置内核:

$ make menuconfig
             Device driver--->
             Graphics support-->
             Bootup logo

编译内核:

$ make zImage

拷贝内核至/tftpboot目录:

$ sudocparch/arm/boot  /tftpboot

启动开发板,可以看到Linux启动画面:

FS_V210开发平台下Linux启动logo的修改,布布扣,bubuko.com

时间: 2024-10-29 10:48:09

FS_V210开发平台下Linux启动logo的修改的相关文章

Linux内核启动中显示的logo的修改

1.配置内核 使内核启动时加载logo,在源代码的主目录下make menuconfig Device Drivers  ---> Graphics support  ---> 选上 并 进入 Bootup logo --> 选上 Standard 224-color Linux logo [ * ] 代表选中 [   ]代表未选中 [M]代表编译成模块,使用空格键切换 make重新编译内核,这样启动是就会加载启动logo了. 2.然后就是处理开机图片了. 修改"drivers

Linux修改开机启动logo

默认开机LOGO会在液晶屏的左上脚显示一只小企鹅,分辨率为80*80,具体在kernel/drivers/video/logo下会有logo_linux_clut224.ppm这幅图像,程序会根据这幅图像生成logo_linux_clut224.c和 logo_linux_clut224.o两个文件,最终将小企鹅显示在液晶屏上. 这里我们需要修改开机画面,而且不限于仅显示80*80,如我们需要显示一幅铺满LCD屏的图像,该怎么办呢? 为了以后还能恢复显示这个小企鹅,这里我们另外再添加一组数据用于

arm linux 启动之二:start_kernel到创建1号进程

本文介绍arm linux启动的第二部分,C语言编写,主要讲述start_kernel到1号进程的创建.主要讲述大概过程,以后再对子函数进行讲解. 一.start_kernel start_kernel位于init/main.c,主要完成linux一些子系统的初始化. 1)smp_setup_processor_id() 单CPU位为空. 2)lock_kernel() 锁CPU,linux是支持抢占的,多CPU时调用这个函数防止其他CPU抢占.3)tick_init() 时间相关初始化4)bo

Linux 第20天: (09月12日) Linux启动和内核管理

本章内容 CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 Linux组成Linux: kernel+rootfskernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能rootfs:程序和glibc库:函数集合, function, 调用接口(头文件负责描述)过程调用:procedure,无返回值函数调用:function程序:二进制执行文件内核设计流派:单内核(monolithic kernel):Linux把所有功能集成于同一个程序微内

Linux启动之GRUB错误

Grub.conf文件丢失或损坏 这时我们切换到/boot/grub目录下,会看到一个重要的配置文件grub.conf.这时我们可以把此文件删除或者挪走来模拟另一个出错的情况,这里我们把此文件删除.然后我们重启系统会看到如图所示界面这时,系统已经起不来了,然后我们解决这一问题此时我们要输入四条指令: 然后我们看到了登陆信息 然后登陆进去 产看/ 的UUID 但是我们的问题还没有解决,因为我们把grub.conf文件删除了,所以我们要自己手动编辑此文件. vi /boot/grub/grub.co

详解Linux启动流程及需要使用到的配置文件

POST(Power On Self Test)加电自检 --> BIOS(Boot Sequence)--> MBR(bootloader)-->Kernel --> initrd --> rootfs(/sbin/init) 下面对每一个启动流程做详细解释: POST(Power OnSelf Test)加电自检   计算机本身不执行任何程序,所以系统必须要完成自举的过程,在CPU的控制下将RAM芯片中的某个程序映射到ROM的地址空间,并执行其中的指令完成系统硬件健康状况

Linux 启动详解之init

1.init初探 init是Linux系统操作中不可缺少的程序之一.init进程,它是一个由内核启动的用户级进程,然后由它来启动后面的任务,包括多用户环境,网络等. 内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init.如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败. 根据实际看一下,我们来到/boot下, 可以看见,Grub就在这里,vmlinuz-2.6.32-358.el6.i686这个文件很重要,

Linux启动过程笔记

Linux启动过程 1.启动流程(BIOS->MBR:Boot Code->引导GRUB->加载内核->执行init->runlevel) 2./boot/grub/下有多个文件   其中stage1为MBR镜像(512字节) stage2为引导程序 3./boot/grub/grub.conf为引导的配置文件 default=0#默认加载下边哪个系统 timeout=3#引导等待时间 splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引

linux基础:5、linux启动过程

linux启动过程 1.BIOS(basic in out system) 通电检查硬件,然后加载第一可用启动项的mbr: #可通过BIOS设置各种介质存储设备的启动顺序,比如:cdrom.disk.usb 2.MBR(main boot recorder) 磁盘的第一个扇区,共512字节,446字节的boot程序空间,64字节的分区表,2字节的校验位. 执行MBR内保存的boot loader程序,一般为GRUB,通过GRUB来找到kernel和initrd(centos6里面此文件更名)并将