ÈçºÎÔÚUbuntu±àÒëLinuxÄÚºË
Ê×ÏÈÐèÒªÏÂÔØLinux kernel£¬ÔÚwww.kernel.orgÀïÃæÏÂÔØ¡£È»ºóÐèÒª°²×°kernel-package£¬fakeroot¡£ÕâÑù×¼±¸¹¤×÷¾ÍÍê³ÉÁË¡£
ÏÂÃæ¿ªÊ¼Äں˵ÄÅäÖá£×îÖØÒªµÄÒ»µãÊÇÈ¥µôkenerl hackingÑ¡ÏÏÂÃæµÄ“±àÒëÄں˴øÓÐdebugÐÅÏ¢”Ñ¡Ï·ñÔò±àÒë³öÀ´µÄÄÚºËÎÞ±ÈÅÓ´ó
¡£È»ºó¸ù¾Ý¸öÈËÐèҪȥµôһЩÇý¶¯¡£²»¹ý±ØÐëÇå³þÖªµÀ×Ô¼ºÔÚ¸Éʲô£¬·ñÔòÆô¶¯²»ÁËÊǺÜÕý³£µÄ¡£
Òò
Ϊ´ó²¿·Ö»úÆ÷¶¼ÊǶàºËµÄÁË£¬ËùÓжà¸öjobͬʱ½øÐÐÄÜÓÐЧµØÌá¸ßЧÂÊ¡£¿ÉÒÔexport±äÁ¿CONCURRENCY_LEVEL=£££¨££Îª¹¤×÷µÄÊýÄ¿£¬Ê®
½øÖÆ£©£¬À´ÉèÖÃͬʱ½øÐеŤ×÷Êý¡£¼ÙÈçÄãµÄUÊÇË«ºË£¬¶øÓÖÏëÔÚ±àÒëµÄʱºòÉÏÉÏÍøÖ®À࣬ÉèÖÃΪ2¡£ÈôÏëÈ«Á¦¿ª¹¤£¬ÉèÖÃΪ3¡£ÕâÊÇÒòΪ½ø³ÌµÄ´´½¨ÐèҪһЩÏû
ºÄ£¬¸ü¶àµÄ½ø³Ì²ÅÄÜÍêÕûµØÏûºÄÍêCPU¡£ÕâÑùÖ´ÐÐmake-kpkgÃüÁ fakeroot make-kpkg --initrd
--append_to_version=-lin20070227 kernel_image kernel_headers
ÆäÖÐappend_to_versionÑ¡ÏîÊǸöÈËϲºÃ£¬»¹ÓÐkernel_imageºÍkernel_headersµÄλÖò»Äܵ÷»»¡£
±àÒëºÃ£¬Ë«»÷°²×°imageºÍheaders¡£ÖØÆô£¨±ØÐ룩
¡£
×îºóÒ»²¿ÊÇÉèÖÃ/lib/module/`uname --kernel-release`ÀïÃæµÄbuild·ûºÅÁ´½Ó£¬°ÑËüÐÞ¸ÄΪ/usr/src/linux-headers-`uname --kernel-release`/
enjoy!
Ïà¹ØÎĵµ£º
1 ÒýÑÔ
ÔÚǶÈëʽӦÓÃϵͳÖУ¬ÌرðÊÇÖÇÄÜÒÇÆ÷¡¢ÒÇ±í¡¢»úµçÉ豸¼°×°ÖÿØÖÆÖУ¬ÐèҪʹÓÃA/Dת»»½«Ä£ÄâµÄµçÁ¿ÐźÅת»»ÎªÊý×ÖÐźŽøÐд¦Àí£¬¶øºóÔÙ½«´¦ÀíµÄ½á¹ûͨ¹ýD/Aת»»ÎªÄ£ÄâÁ¿ÊµÏÖ¶Ô±»¿Ø¹ý³ÌºÍ¶ÔÏóµÄ¿ØÖÆ[1]¡£
»ùÓÚARM920TÄں˵Äs3c2410ÊÇÒ»¿îµÍ¹¦ºÄ£¬¸ßÐԼ۱ȵĴ¦ÀíÆ÷[2]¡£Õâ¿î´¦ÀíÆ÷ÄÚ²¿¼¯³ÉÁ˶àÖÖ¿ØÖƽӿڣ¬×Ô´ø8·1 ......
/*
* linux/kernel/asm.s
*
* (C) 1991 Linus Torvalds
*/
/*
* asm.s contains the low-level code for most hardware faults.
* page_exception is handled by the mm, so that isn't here. This
* file also handles (hopefully) fpu-exceptions ......
C×Ö·û´®´¦Àíº¯ÊýµÄʵÏÖ£¨Linux£©
#include <stddef.h>
char * ___strtok = NULL;
char * strcpy(char * dest,const char *src)
{
char *tmp = dest;
while ((*dest++ = *src++) != '\0')
/* nothing */;
return tmp;
}
char * strncpy(char * des ......
LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......