linux 2.6µÄKernel LOGO ÏÔʾµ÷Õû
2.6µÄKernel LOGO
Ëƺõ±È2.4ÈÝÒס£2.6µÄlogoÊý¾ÝÔÚ/drivers/video/logoÀppmÎļþ¾ÍÊÇlogoͼÏñÁË¡£Ã¿¸öppm¶ÔÓ¦Ò»¸ö. cÎļþ£¬ÄÚÈÝ´ó¸Å¾ÍÊÇͼÏñ³ß´ç¡¢µ÷É«°å¡¢Î»Í¼Êý¾ÝµÈÐÅÏ¢¡£.cÎļþÎÞÐè×Ô¼º½¨Á¢£¬ÔÚmakeµÄʱºòÈç¹û²»´æÔÚij¸öppmÎļþ¶ÔÓ¦µÄ.cÎļþ£¬¾Í»á×Ô¶¯´Ó ppmÉú³ÉÒ»¸ö£¬È»ºó°ÑËü±àÒë³É.oÎļþ¡£ËùÒÔ¿´¿´Ä¿Â¼ÏÂÄÄЩ.ppmÎļþÓÐͬÃûµÄ.oÎļþ£¬¾Í˵Ã÷ÄǸölogo±»±àÒë½øÁËkernel¡£±ê×¼µÄ224É« logoÊÇlogo_linux_clut224.ppm£¬Òò´ËÐÞ¸ÄÕâ¸öͼƬ¾Í¿ÉÒÔʵÏÖÐÞ¸ÄlogoÁË¡£
ÔÚwindowsÏ£¬¿ÉÒÔÓÃPaintShopProXÖ±½Ó´ò¿ªppm½øÐб༣¬±à¼Íê±ÏºóÓÃdecrease color depthÃüÁΪ224É«£¬È»ºó±£´æ£¬°Ñlogo_linux_clut224.cɾµô£¬ÖØÐÂmake¾Í¿ÉÒÔÁË¡£
ÉîÈëÒ»µãµã¡£ºÜÈÝÒ×·¢ÏÖ£¬¶ÔÓÚÒ»°ãµÄvga console£¬logoÊÇÓÉdrivers/video/fbmem.cÀïµÄfb_show_logo()º¯ÊýÏÔʾµÄ£¬Õâ¸öº¯ÊýµÄµ÷ÓÃÕßÊÇ drivers/video/console/fbcon.c£¨¸ú2.4²î²»¶à£¬àÅ£©¡£Õâ¸öº¯Êý×öµÄÊÂÇé²»¶à£¬¾ÍÊÇÏÈ°Ñ·Ç8λɫÉîµÄλͼת»»Îª8λɫÉȻºóÓÃinfo->fbops->fb_imageblit(info, &image);°ÑlogoÏÔʾ³öÀ´£¬ÓÐÒ»¸öcpuʱÏÔʾһ¸ölogo£¬ÓÐ2¸öcpuʱÏÔʾ2¸ö£¬ÒÔ´ËÀàÍÆ¡£
ÂÔ¼ÓÐ޸ģ¬¾Í¿ÉÒÔʵÏÖ½«logo¾ÓÖÐÏÔʾ£¬²¢¼ÓÈëÒ»¸ö“Öظ´ÏÔʾÓұ߽産¬Ò²¾ÍÊÇ°Ñlogo×îÓÒ±ß4¸öµã¿íµÄÇøÓò×÷Ϊ±³¾°Ìî³äµ½Õû¸ölogo bar¡£diffÈçÏ£º
--- /gs2e/source/linux26-2edev/drivers/video/fbmem.c2006-08-29 14:07:15.000000000 +0800
+++ ./fbmem.c2006-09-27 20:40:08.000000000 +0800
@@ -375,9 +375,9 @@
int fb_show_logo(struct fb_info *info)
{
u32 *palette = NULL, *saved_pseudo_palette = NULL;
-unsigned char *logo_new = NULL;
-struct fb_image image;
-int x;
+unsigned char *logo_new = NULL, *border = NULL;
+struct fb_image image, imageborder;
+int x, xoffset;
/* Return if the frame buffer is not mapped or suspended */
if (fb_logo.logo == NULL || info->state != FBINFO_STATE_RUNNING)
@@ -421,12 +421,45 @@
image.height = fb_logo.logo->height;
image.dy = 0;
+#ifdef CONFIG_LOGO_REPEAT_RIGHT
+border = kmalloc(4 * fb_logo.logo->height, GFP_KERNEL);
+if (border != NULL){
+ for (x = 0; x < fb_logo.logo->height; x++){ /* use x as y */
+*((u32 *)border + x) = /* will repeat 4 pixels
Ïà¹ØÎĵµ£º
windows(dos)ϵĻ»Ðзû ºÍ linux (ubuntu)ϵĻ»ÐзûÊDz»Í¬µÄ¡£
ÔÚÉæ¼°µ½DOSϵÄÎı¾ ÔÚLINUXÏ ²Ù×÷ʱ£¬¾ÍÉæ¼°µ½»»Ðзû²»Í¬´øÀ´µÄÂé·³¡£
£¬ÔÚDOSʹÓõĻ»ÐзûΪ ^M$£¬ÎÒÃdzÆΪCRÓëLFÁ½¸ö·ûºÅ¡£¶øÔÚLinuxÖУ¬Ôò½öÓÐLF ($) Õâ¸ö»»Ðзû¡£Õâ¸ö»»Ðзû¶ÔÓÚ
LinuxµÄÓ°ÏìºÜ´ó¡£
ÎÒÃÇ˵¹ý£¬ÔÚ¿ªÊ¼Ö´ÐÐLinuxÃüÁîʱ£¬ËüµÄÅжÏÒÀ
......
Ò»¡¢Í·Îļþ
gcc ÔÚ±àÒëʱѰÕÒËùÐèÒªµÄÍ·Îļþ £º
¡ùËÑÑ°»á´Ó-I¿ªÊ¼
¡ùÈ»ºóÕÒgccµÄ»·¾³±äÁ¿ C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
¡ùÔÙÕÒÄÚ¶¨Ä¿Â¼
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-l ......
ºÍ
WindowsϵͳһÑùLinuxÒ²Óо²Ì¬/¶¯Ì¬Á´½Ó¿â£¬ÏÂÃæ½éÉÜ´´½¨ºÍʹÓ÷½·¨£º
¼ÙÉèÓÐÏÂÃ漸¸öÎļþ£º
Í·ÎļþString.h£¬ÉùÃ÷Ïà¹Øº¯ÊýÔÐΣ¬ÄÚÈÝÈçÏ£º
Strlen.c£º
º¯ÊýStrlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬ÄÚÈÝÈçÏ£º
Strlnen.c£ºº¯Êý
StrNlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬Èç¹ûÊäÈë×Ö·û´®µÄ³¤¶È´óÓÚÖ¸¶¨µÄ×î´ó³¤¶È£¬Ô ......
LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷
LinuxÄÚºËÖж¨ÒåÁ˺ܶàºê£¬¶ÔÓ²¼þ¶Ë¿ÚºÍ¼Ä´æÆ÷½øÐвÙ×÷£¬´ÓÍøÉÏËѼ¯ÁËһЩºê¶¨ÒåµÄÐÅÏ¢£º
1. __REG¼òµ¥µÄ˵¾ÍÊÇ»ñµÃºóÃæËùʾÎïÀíµØÖ·Ó³ÉäºóµÄÐéÄâµØÖ·£¬ÀýÈ磺
#define GPLR0 __REG(0x40E00000) /* GPIO Pin-Level Register GPIO<31:0> */
#define GPL ......
ÔÚ·þÎñÆ÷ÉÏд²¿ÊðÏîÄ¿µÄ½Å±¾ ,ÐèÒª°ÑÉÏ´«À´µÄ×îеÄÏîÄ¿½âѹ, ²¿Êð ,Æô¶¯·þÎñ ʵÏÖ×Ô¶¯»¯
ÓÚÊÇÕÒµ½×îеÄÎļþÊǵÚÒ»¼þÊÂÇé
¾ÍµÃµ½ÁËÒÔϽű¾
$ ls -lrt | awk '/xmhi/ { f=$NF };END{ print f }'
ÖмäµÄxmhiÊÇÎļþËù°üº¬µÄ×Ö·û´®
ÁíÍâÈç¹ûÒªls³öËùÓеÄÎļþÃû
$ ls -l |awk '{print$9}' ......