[ת]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µÈÐÒé ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
¹ÒÔØÎļþϵͳ£ºmount
¸ñʽ£ºmount [-²ÎÊý] [É豸Ãû³Æ] [¹ÒÔØµã]
³£ÓõIJÎÊý£º
¡¡¡¡ -t Ö¸¶¨É豸µÄÎļþϵͳÀàÐÍ£¬³£¼ûµÄÓУº
¡¡¡¡ minix linux×îÔçʹÓõÄÎļþϵͳ
¡¡¡¡ ext2 linuxĿǰ³£ÓõÄÎļþϵͳ
¡¡¡¡ msdos MS ......
1. Two methods to construct the cluster of servers
(1). DNS based load balancing cluster
DNS load balancing is probably the simplest method to build network
service cluster. It uses Domain Name System to distribute requests to
different servers through resolving the domain name to different IP
......