改目标:用自定义的ppm图片替代/drivers/video/logo/logo_linux_clut224.ppm
同时删除logo_linux_clut224.c logo_linux_clut224.o文件这样才能使编译的使用logo_linux_clut224.ppm重新编译
ppm图片的生成:
# pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
# pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
然后重新编译内核,启动就可以了!
更改的最简单的方法就是上面的了。下面介绍下相应的知识(以下来自网络):
另外,相应的知识需要了解一下,2410开发板-启动图标制做
1.方案分析
ARM-Linux启动时会先在LCD左上角显示一个ARMLINUX的小企鹅图案,也就是我们所说的bootlogo。
首先分析一下Logo的显示代码:
不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。
fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是SHARP(夏普)的TFT真彩屏.
再仔细看一下,这里用到的显示数据均来自kernel/include/linux/linux_logo.h。这里同样也有一些兼容性的数据,其中对我们有用的是:
& ......
At first, GCC is used for GNU C Compiler. At present,it supports JAVA Ada C++ and so on.
GCC编译流程分为:
1.Pre-Processing(预处理)
gcc -E -o hello.i hello.c
选项-E 使得编译器在预处理结束时停止编译
选项-o 指定GCC的输出结果
.i/.ii 经过预处理的C/C++源程序
2.Compiling(编译)
gcc -S -o hello.s hello.i
选项-S 使得编译器在编译结束,进行汇编之前停止编译
.s 汇编语言源程序
3.Assembling (汇编)
gcc -c hello.s hello.o
选项-c 汇编阶段将汇编代码转为二进制目标代码
4.Linking(链接)
gcc hello.o -o hello
将程序中用到的库函数如printf的实现从默认的路径"/usr/lib/libc.so.6"链接过来
现在即可运行可执行文件hello
GCC警告提示:
1.Wall类警告 ......
转自http://blog.chinaunix.net/u/30619/showart.php?id=249558
1 linux目录架构
/ 根目录
/bin 常用的命令 binary file 的目錄
/boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内
/boot/grub/menu.lst GRUB设置
/boot/vmlinuz 内核
/boot/initrd 核心解壓縮所需 RAM Disk
/dev 系统周边设备
/etc 系统相关设定文件
&nb ......
运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步:
# vi /etc/hosts
更改主机名。
第五步,修改tnsnames.ora和listener.ora:
在$TNS_ADMIN或$ORACLE_HOME/network/admin目录下,修改host参数。
第六步,重启服务器:
# reboot
第七步,启动数据库和监听,dbconsole:
$ dbstart
$ lsnrctl start
完事。 ......
运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步:
# vi /etc/hosts
更改主机名。
第五步,修改tnsnames.ora和listener.ora:
在$TNS_ADMIN或$ORACLE_HOME/network/admin目录下,修改host参数。
第六步,重启服务器:
# reboot
第七步,启动数据库和监听,dbconsole:
$ dbstart
$ lsnrctl start
完事。 ......
今天第一次试着在Linux下写C程序,把遇到的问题记录一下
1. 使用emacs命令编辑程序文件,我直接在Terminal里输入了emacs,写好程序,关闭,结果和windows里不一样,并没有任何SaveFileDialog之类的对话框弹出来,自己写的东西也不知道保存到哪里了,而且File菜单里也没有New这样的选项。后来才知道,原来是得在emacs命令后加上文件名的,如emacs HelloWorld.c
2. Linux里文件区分大小写,因此HelloWorld.c和helloworld.c是两个不同的文件。。。
3. 在文件里输入了以下代码
#include <stdio.h>
void main()
{
printf("Hello World");
}
用gcc -o HelloWorld HelloWorld.c编译,出错,Linux里似乎main方法必须返回一个int型,而不能是void类型。
4. 修改好了代码,编译成功后,直接输入HelloWorld打算运行,出错,说HelloWorld不是一个可运行的command,用ls命令查看,HelloWorld文件的确存在,并且为绿色,根据网上的资料,应该可以执行,后来才发现原来需要加上./,即输入./HelloWorld才能运行。
一个简单的HelloWorld却遇到了这么多麻烦。呵呵~不过总算成功运行了,小小庆祝一下!接着就要好好学习一下《世界著名计算机教材精选 ......
今天第一次试着在Linux下写C程序,把遇到的问题记录一下
1. 使用emacs命令编辑程序文件,我直接在Terminal里输入了emacs,写好程序,关闭,结果和windows里不一样,并没有任何SaveFileDialog之类的对话框弹出来,自己写的东西也不知道保存到哪里了,而且File菜单里也没有New这样的选项。后来才知道,原来是得在emacs命令后加上文件名的,如emacs HelloWorld.c
2. Linux里文件区分大小写,因此HelloWorld.c和helloworld.c是两个不同的文件。。。
3. 在文件里输入了以下代码
#include <stdio.h>
void main()
{
printf("Hello World");
}
用gcc -o HelloWorld HelloWorld.c编译,出错,Linux里似乎main方法必须返回一个int型,而不能是void类型。
4. 修改好了代码,编译成功后,直接输入HelloWorld打算运行,出错,说HelloWorld不是一个可运行的command,用ls命令查看,HelloWorld文件的确存在,并且为绿色,根据网上的资料,应该可以执行,后来才发现原来需要加上./,即输入./HelloWorld才能运行。
一个简单的HelloWorld却遇到了这么多麻烦。呵呵~不过总算成功运行了,小小庆祝一下!接着就要好好学习一下《世界著名计算机教材精选 ......
Linux关机命令详解
本文出自:LinuxAid.com.cn 作者: sword_martin (2002-01-30 21:03:06)
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都
可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希
望你可以更加灵活的运用各种关机命令。
1.shutdown
shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,
这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能
会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。
并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机
都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕
决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和
新闻〔news〕的程序则可 ......