Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ARM Linux bootloader Æô¶¯¹ý³Ì

 1. Òý ÑÔ
Linux ×î³õÊÇÓÉÈðµäºÕ¶ûÐÁ»ù´óѧµÄѧÉú Linus TorvaldsÔÚ1991 Ä꿪·¢³öÀ´µÄ£¬Ö®ºóÔÚ
GNUµÄÖ§³ÖÏ£¬Linux »ñµÃÁ˾޴óµÄ·¢Õ¹¡£ËäÈ» Linux ÔÚ×ÀÃæ PC »úÉÏµÄÆÕ¼°³Ì¶ÈÔ¶²»¼°Î¢
ÈíµÄ Windows ²Ù×÷ϵͳ£¬µ«ËüµÄ·¢Õ¹ËÙ¶ÈÖ®¿ì¡¢Óû§ÊýÁ¿µÄÈÕÒæÔö¶à£¬Ò²ÊÇ΢ÈíËù²»ÄÜÇá
Êӵġ£¶ø½üЩÄêÀ´ Linux ÔÚǶÈëʽÁìÓòµÄѸÃÍ·¢Õ¹£¬¸üÊǸø Linux ×¢ÈëÁËеĻîÁ¦¡£
Ò»¸öǶÈëʽ Linux ϵͳ´ÓÈí¼þ½Ç¶È¿´¿ÉÒÔ·ÖΪËĸö²¿·Ö£º
Òýµ¼¼ÓÔØ³ÌÐò£¨bootloader£©£¬Linux Äںˣ¬Îļþϵͳ£¬Ó¦ÓóÌÐò¡£
ÆäÖÐ bootloaderÊÇϵͳÆô¶¯»ò¸´Î»ÒÔºóÖ´ÐеĵÚÒ»¶Î´úÂ룬ËüÖ÷ÒªÓÃÀ´³õʼ»¯´¦ÀíÆ÷¼°
ÍâÉ裬Ȼºóµ÷Óà Linux Äںˡ£Linux ÄÚºËÔÚÍê³ÉϵͳµÄ³õʼ»¯Ö®ºóÐèÒª¹ÒÔØÄ³¸öÎļþϵͳ×ö
Ϊ¸ùÎļþϵͳ£¨Root Filesystem£©¡£¸ùÎļþϵͳÊÇ Linux ϵͳµÄºËÐÄ×é³É²¿·Ö£¬Ëü¿ÉÒÔ×öΪLinux ϵͳÖÐÎļþºÍÊý¾ÝµÄ´æ´¢ÇøÓò£¬Í¨³£Ëü»¹°üÀ¨ÏµÍ³ÅäÖÃÎļþºÍÔËÐÐÓ¦ÓÃÈí¼þËùÐèÒªµÄ
¿â¡£Ó¦ÓóÌÐò¿ÉÒÔ˵ÊÇǶÈëʽϵͳµÄ“Áé»ê”£¬ËüËùʵÏֵŦÄÜͨ³£¾ÍÊÇÉè¼Æ¸ÃǶÈëʽϵͳ
ËùÒª´ïµ½µÄÄ¿±ê¡£Èç¹ûûÓÐÓ¦ÓóÌÐòµÄÖ§³Ö£¬ÈκÎÓ²¼þÉÏÉè¼Æ¾«Á¼µÄǶÈëʽϵͳ¶¼Ã»ÓÐʵÓÃ
ÒâÒå¡£
´ÓÒÔÉÏ·ÖÎöÎÒÃÇ¿ÉÒÔ¿´³ö bootloader ºÍ Linux ÄÚºËÔÚǶÈëʽϵͳÖеĹØÏµºÍ×÷Óá£
BootloaderÔÚÔËÐйý³ÌÖÐËäÈ»¾ßÓгõʼ»¯ÏµÍ³ºÍÖ´ÐÐÓû§ÊäÈëµÄÃüÁîµÈ×÷Ó㬵«Ëü×î¸ù±¾µÄ
¹¦ÄܾÍÊÇΪÁËÆô¶¯ Linux Äںˡ£ÔÚǶÈëʽϵͳ¿ª·¢µÄ¹ý³ÌÖУ¬ºÜ´óÒ»²¿·Ö¾«Á¦¶¼ÊÇ»¨ÔÚ
bootloader ºÍ Linux Äں˵Ŀª·¢»òÒÆÖ²ÉÏ¡£Èç¹ûÄÜÇå³þµÄÁ˽â bootloader Ö´ÐÐÁ÷³ÌºÍ LinuxµÄÆô¶¯¹ý³Ì£¬½«ÓÐÖúÓÚÃ÷È·¿ª·¢¹ý³ÌÖÐËùÐèµÄ¹¤×÷£¬´Ó¶ø¼ÓËÙǶÈëʽϵͳµÄ¿ª·¢¹ý³Ì¡£¶øÕâÕýÊDZ¾ÎĵÄËùÒªÑо¿µÄÄÚÈÝ¡£
2. Bootloader
2.1 BootloaderµÄ¸ÅÄîºÍ×÷ÓÃ
BootloaderÊÇǶÈëʽϵͳµÄÒýµ¼¼ÓÔØ³ÌÐò£¬ËüÊÇϵͳÉϵçºóÔËÐеĵÚÒ»¶Î³ÌÐò£¬Æä×÷ÓÃ
ÀàËÆÓÚ PC »úÉ쵀 BIOS¡£ÔÚÍê³É¶ÔϵͳµÄ³õʼ»¯ÈÎÎñÖ®ºó£¬Ëü»á½«·ÇÒ×ʧÐÔ´æ´¢Æ÷£¨Í¨³£
ÊÇ Flash»ò DOC µÈ£©ÖеÄLinux Äں˿½±´µ½ RAM ÖÐÈ¥£¬È»ºóÌø×ªµ½Äں˵ĵÚÒ»ÌõÖ¸Áî´¦¼ÌÐøÖ´ÐУ¬´Ó¶øÆô¶¯ Linux Äںˡ£
Óɴ˿ɼû£¬bootloader ºÍ Linux ÄÚºËÓÐ×ÅÃܲ»¿É·ÖµÄÁªÏµ£¬ÒªÏëÇå³þµÄÁ˽â LinuxÄÚºË
µÄÆô¶¯¹ý³Ì£¬ÎÒÃDZØÐëÏȵÃÈÏʶ bootloaderµÄÖ´Ðйý³Ì£¬ÕâÑù²ÅÄܶÔǶÈëʽϵͳµÄÕû¸öÆô¶¯
¹ý³ÌÓÐÇåÎúµÄÕÆÎÕ¡£
2.2 BootloaderµÄÖ´Ðйý³Ì
²»Í¬µÄ´¦ÀíÆ÷Éϵç»ò¸´Î»ºóÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµØÖ·²¢²»Ïàͬ£¬¶ÔÓÚ ARM ´¦ÀíÆ÷À´Ëµ£¬
¸ÃµØÖ·Îª 0x


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

Linux Ðźż¯ dzÎö

  LinuxÐźÅÓжàÖÖ˵·¨¡£Ò»¸ö½ø³Ì´´½¨Ò»¸öÐźÅÓÃÓÚ·¢Ë͸øÁíÍâÒ»¸ö½ø³Ì½Ð×ö·¢ËÍÒ»¸öÐźţ¬Äں˴´½¨Ò»¸öÐźŽÐ×öÉú³ÉÒ»¸öÐźţ¬½ø³Ì×Ô¼ºÏò×Ô¼º·¢ËÍÐźŽÐ×ö»½ÆðÒ»¸öÐźš£²»¹ýÎÒ¿´Ò²Ã»±ØÒªÕâôѧ¾¿Æø¡£
  Ðźż¯--signel set,Æäʵ¾ÍÊǽ«¶à¸öÐźŷÅÔÚ¼¯ºÏÖнøÐм¯ÖеĴ¦Àí¡£POSIX.1¶¨ÒåÁËsigset_tÒÔ°üº­Ò»¸öÐźż¯£ ......

²é¿´linux°æ±¾ÃüÁî

1. ²é¿´Äں˰汾ÃüÁ
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 ......

linux½ø³Ì¹ÜÀíÖ®½ø³Ì´´½¨

 Ëùν½ø³Ì¾ÍÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý. ËüÊÇÏÖ´ú²Ù×÷ϵͳÖÐÒ»¸öºÜÖØÒªµÄ³éÏó,ÎÒÃÇ´Ó½ø³ÌµÄÉúÃüÖÜÆÚ:´´½¨,Ö´ÐÐ,ÏûÍöÀ´·ÖÎöÒ»ÏÂLinuxÉϵĽø³Ì¹ÜÀíʵÏÖ.
Ò»:ǰÑÔ
½ø³Ì¹ÜÀí½á¹¹;
ÔÚÄÚºËÖÐ,ÿһ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask.¾ÍÊÇÒÔǰËù½²µÄPCB.ËüµÄ½á¹¹ÈçÏÂ(include/linux/sched.h):
struct task_struct {
    ......

ǶÈëʽLinuxÖ®Kernel£¨²Ã¼õÒÆÖ²£©Æô¶¯µ÷ÊÔ¼¼Êõ

ǶÈëʽϵͳ´î½¨¹ý³ÌÖУ¬¶ÔÓÚϵͳƽ̨´î½¨¹¤³ÌʦÔÚÍê³ÉBootloader
µÄµ÷ÊÔÖ®ºó¾Í½øÈëKernel
²Ã¼õÒÆÖ²µÄ½×¶Î£¬ÆäÖÐ×îÖØÒªµÄÒ»²½ÊÇKernel
Æô¶¯µÄµ÷ÊÔ£¬ÔÚµ÷ÊÔKernel
¹ý³ÌÖÐͨ³£Óöµ½×î³£¼ûµÄÎÊÌâÊÇÆô¶¯Òì³£:
Uncompressing Linux............................................................
......................... ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ