[ת]LinuxÄÚºËMakefileÎļþ£¨¶þ£©
=== 6 ÌåϵMakefileÎļþ
ÔÚ¿ªÊ¼½øÈë¸÷¸öĿ¼±àÒë֮ǰ£¬¶¥²ãMakefileÎļþÉèÖñàÒë»·¾³ºÍ×öЩ׼±¸¹¤×÷¡£¶¥²ãMakefileÎļþ°üº¬Í¨Óò¿·Ö£¬arch/$(ARCH) /Makefile°üº¬¸ÃÌåϵ¼Ü¹¹ËùÐèµÄÉèÖá£Òò´Ëarch/$(ARCH)/Makefile»áÉèÖÃһЩ±äÁ¿ºÍÉÙÁ¿µÄÄ¿±ê¡£
µ±±àÒëʱ½«°´ÕÕÒÔÏ´ó¸Å²½ÖèÖ´ÐУº
1) ÅäÖÃÄÚºË => ²úÉú .configÎļþ
2) ±£´æÄں˰汾µ½include/linux/version.hÎļþÖÐ
3) ·ûºÅÁ´½Óinclude/asm to include/asm-$(ARCH)
4) ¸üÐÂËùÓÐÄ¿±ê¶ÔÏóµÄÆäËüǰÌáÎļþ
- ¸½¼ÓǰÌáÎļþ¶¨ÒåÔÚarch/$(ARCH)/MakefileÎļþÖÐ
5) µÝ¹é½øÈëinit-* core* drivers-* net-* libs-*ÖеÄËùÓÐ×ÓĿ¼ºÍ±àÒëËùÓеÄÄ¿±ê¶ÔÏó
- ÉÏÃæ±äÁ¿Öµ¶¼ÒýÓõ½arch/$(ARCH)/MakefileÎļþ¡£
6) Á´½ÓËùÓеÄobjectÎļþÉú³ÉvmlinuxÎļþ£¬vmlinuxÎļþ·ÅÔÚ´úÂëÊ÷¸ùĿ¼Ï¡£
×ʼÁ´½ÓµÄ¼¸¸öobjectÎļþÁоÙÔÚarch/$(ARCH)/MakefileÎļþµÄhead-y±äÁ¿ÖС£
7) ×îºóÌåϵMakefileÎļþ¶¨Òå±àÒëºóÆÚ´¦Àí¹æÔòºÍ½¨Á¢×îÖÕµÄÒýµ¼Ó³Ïñbootimage¡£
- °üÀ¨´´½¨Òýµ¼¼Ç¼
- ×¼±¸initrdÓ³ÏñºÍÏà¹Ø´¦Àí
--- 6.1 ±äÁ¿ÉèÖÃ
LDFLAGS $(LD)Ò»°ãÑ¡Ïî
Ñ¡ÏîʹÓÃÓÚÁ´½ÓÆ÷µÄËùÓе÷ÓÃÖС£Í¨³£¶¨Òåemulation¾Í¿ÉÒÔÁË¡£
Example:
#arch/s390/Makefile
LDFLAGS := -m elf_s390
×¢Òâ: EXTRA_LDFLAGSºÍLDFLAGS_$@¿ÉÒÔ½øÒ»²½¶©ÖÆÊ¹ÓÃÑ¡ÏÇë²Î¿¼µÚ7Õ¡£
LDFLAGS_MODULE $(LD)Á´½ÓÄ£¿éµÄÑ¡Ïî
LDFLAGS_MODULEͨ³£ÉèÖÃ$(LD)Á´½ÓÄ£¿éµÄ.koÑ¡ÏĬÈÏΪ"-r"¼´¿ÉÖØ¶¨Î»Êä³öÎļþ¡£
LDFLAGS_vmlinux $(LD)Á´½ÓvmlinuxÑ¡Ïî
LDFLAGS_vmlinux¶¨ÒåÁ´½Ó×îÖÕvmlinuxʱÁ´½ÓÆ÷µÄÑ¡Ïî¡£LDFLAGS_vmlinuxÖ§³ÖʹÓÃLDFLAGS_$@¡£
Example:
#arch/i386/Makefile
LDFLAGS_vmlinux := -e stext
OBJCOPYFLAGS objcopyÑ¡Ïî
&
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
LinuxÖеȴý¶ÓÁлúÖÆ·ÖÎö
ʲôÊǵȴý¶ÓÁУ¿
ÔÚÈí¼þ¿ª·¢ÖÐÈÎÎñ¾³£ÓÉÓÚijÖÖÌõ¼þûÓеõ½Âú×ã¶ø²»µÃ²»½øÈë˯Ãß״̬£¬È»ºóµÈ´ýÌõ¼þµÃµ½Âú×ãµÄʱºòÔÙ¼ÌÐøÔËÐУ¬½øÈëÔËÐÐ״̬¡£ÕâÖÖÐèÇóÐèÒªµÈ´ý¶ÓÁлúÖÆµÄÖ§³Ö¡£LinuxÖÐÌṩÁ˵ȴý¶ÓÁеĻúÖÆ£¬¸Ã»úÖÆÔÚÄÚºËÖÐÓ¦Óúܹ㷺¡£
......
ÎÒµÄϵͳÊÇFedora 11
1. ÅäÖñ¾»úµÄIPµØÖ·
±ÈÈçÎÒµÄIPµØÖ·ÊÇ192.168.1.220
ÃüÁîÐУº
sudo ifconfig eth0 192.168.1.220 netmask 255.255.255.0
ÕâÊÇÁÙʱµÄÉèÖã¬ÖØÆôºó¾Í¶ªÊ§ÁË¡£Èç¹ûÏë±£´æÉèÖ㬾ÍÐÞ¸ÄÅäÖÃÎļþ£º
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
ÓÃ#×¢µôBOOTPROTO=dhcp£¬²¢ÇÒÌí¼Ó»òÉèÖÃÒ ......