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
Ïà¹ØÎĵµ£º
ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH ?= $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Ö´ÐÐmake smd ......
Ö÷Òª¿´ÁËLinuxÍêȫעÊÍÄDZ¾Ê飬ÖÕÓÚ×¼±¸¹¥¶ÁLinuxÄÚºËÔ´ÂëÁË£¬ÏÈ¿´Á˵ڶþÕŵÄ×ÜÌå¸ÅÄ¸Ð¾õ²Ù×÷ϵͳÓкܶණÎ÷»¹ÕæÊÇ´óͬСÒ죬¼ÇµÃucos¾ÍÊÇÓÐÒ»¸ö½Ð×ö¿ì±íµÄ¶«Î÷£¬ÀïÃæ×î¶à¿ÉÒÔ±íʾ64¸ö½ø³Ì£¬¶øÔç°æµÄLinux£¨0.11£©Ò²ÓÐÕâ¸öһ˵µÄ¶«Î÷¡£
ÔÚLinuxÖÐÒ²ÓÐÒ»¸öPCBÀ´±íʾÿ¸ö½ø³Ì£¬ÔÚÕâ¸ö½á¹¹ÌåÖУ¬ÓÐÖ¸ÏòÈÎÎñ´úÂëµÄÖ ......
ÔÚ·þÎñÆ÷ÉÏд²¿ÊðÏîÄ¿µÄ½Å±¾ ,ÐèÒª°ÑÉÏ´«À´µÄ×îеÄÏîÄ¿½âѹ, ²¿Êð ,Æô¶¯·þÎñ ʵÏÖ×Ô¶¯»¯
ÓÚÊÇÕÒµ½×îеÄÎļþÊǵÚÒ»¼þÊÂÇé
¾ÍµÃµ½ÁËÒÔϽű¾
$ ls -lrt | awk '/xmhi/ { f=$NF };END{ print f }'
ÖмäµÄxmhiÊÇÎļþËù°üº¬µÄ×Ö·û´®
ÁíÍâÈç¹ûÒªls³öËùÓеÄÎļþÃû
$ ls -l |awk '{print$9}' ......
½øÈëviµÄÃüÁî
vi filename :´ò¿ª»òн¨Îļþ£¬²¢½«¹â±êÖÃÓÚµÚÒ»ÐÐÊ×
vi +n filename £º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚµÚnÐÐÊ×
vi + filename £º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚ×îºóÒ»ÐÐÊ×
vi +/pattern filename£º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚµÚÒ»¸öÓëpatternÆ¥ÅäµÄ´®´¦
vi -r filename £ºÔÚÉÏ´ÎÕýÓÃvi±à¼Ê±·¢Éúϵͳ±ÀÀ££¬»Ö¸´filename
vi ......