´ÓÖÇÄܼҾÓÉ豸µ½¹¤Òµ×Ô¶¯»¯ÏµÍ³£¬´Ó¿É´©´÷É豸µ½Æû³µµç×Ó£¬Ç¶ÈëʽϵͳµÄÉíÓ°ÎÞ´¦²»ÔÚ
¶øÒªÔÚÕâЩ¶àÑù»¯µÄÓ²¼þƽ̨ÉÏÔËÐиßЧ¡¢¿É¿¿ÇÒ°²È«µÄÈí¼þ£¬Ò»¸öÇ¿´óµÄ²Ù×÷ϵͳÊDz»¿É»òȱµÄ»ùʯ
ÔÚÖÚ¶àÑ¡ÏîÖУ¬Yocto Project¼°ÆäÑÜÉúµÄYocto LinuxÒÔÆä¸ß¶ÈµÄ¿É¶¨ÖÆÐÔ¡¢×ÊÔ´ÓÅ»¯ÒÔ¼°Ç¿´óµÄÉçÇøÖ§³Ö£¬³ÉΪÁËǶÈëʽϵͳ¿ª·¢ÕßÃǵÄÊ×Ñ¡
±¾ÎÄÖ¼ÔÚͨ¹ýÒ»±¾ÐéÄâµÄ¡°Yocto LinuxÊé¼®¡±µÄÊӽǣ¬ÉîÈë̽Ë÷Yocto ProjectµÄ÷ÈÁ¦£¬Ö¸µ¼¶ÁÕßÈçºÎÀûÓÃËü¹¹½¨³öÀíÏëµÄǶÈëʽϵͳ
µÚÒ»Õ£ºYocto Project¸ÅÀÀ 1.1 Yocto ProjectµÄÆðÔ´ÓëÔ¸¾° Yocto Project£¬ÓÉLinux»ù½ð»áÓÚ2011Äê·¢Æð£¬ÊÇÒ»¸ö¿ª·ÅµÄ¡¢Ð×÷µÄÏîÄ¿£¬Ö¼ÔÚÌṩһ¸öÁé»î¡¢¿ÉÀ©Õ¹µÄ¿ò¼Ü£¬°ïÖú¿ª·¢ÕßΪǶÈëʽÉ豸´´½¨¶¨ÖÆ»¯µÄLinux·¢Ðаæ
ÆäÃû³Æ¡°Yocto¡±£¨10^-24£©Ô¢Òâ×ÅÏîÄ¿µÄÄ¿±êÊÇ´Ó×î»ù´¡µÄ¹¹½¨¿é¿ªÊ¼£¬¹¹½¨³öÊÊÓ¦¸÷ÖÖ×ÊÔ´ÊÜÏÞ»·¾³µÄϵͳ
Yocto Project²»½ö½öÊÇÒ»¸ö²Ù×÷ϵͳ£¬¸üÊÇÒ»¸öÍêÕûµÄ¿ª·¢¹¤¾ßÁ´£¬°üÀ¨¹¹½¨ÏµÍ³¡¢²ã¹ÜÀí¡¢Èí¼þ²Ö¿âµÈ£¬¼«´óµØ¼ò»¯ÁËǶÈëʽLinuxϵͳµÄ¿ª·¢Á÷³Ì
1.2 Yocto ProjectµÄºËÐÄ×é¼þ - BitBake£º×÷ΪYocto ProjectµÄ¹¹½¨ÒýÇæ£¬BitBake¸ºÔð½âÎöÅä·½Îļþ£¨recipes£©£¬×Ô¶¯ÏÂÔØ¡¢ÅäÖᢱàÒëºÍ°²×°Èí¼þ°ü
- OpenEmbedded Layer Index (OE-Core)£ºÕâÊÇYocto ProjectµÄºËÐIJ㣬ÌṩÁ˹¹½¨ÏµÍ³ËùÐèµÄ»ù±¾¹¤¾ßºÍ¿â
- Yocto Project Meta-Layers£ºÕâЩ²ã°üº¬Á˶îÍâµÄÈí¼þ°ü¡¢ÅäÖúÍÅä·½£¬¿ª·¢Õß¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇóÑ¡ÔñºÍ¼¯³É
- QEMU User Mode Emulator£ºÓÃÓÚÔÚÖ÷»úϵͳÉÏÄ£ÄâÄ¿±êÓ²¼þ»·¾³£¬±ãÓÚ¿ª·¢ºÍ²âÊÔ
µÚ¶þÕ£ºYocto LinuxµÄ¹¹½¨Óë¶¨ÖÆ 2.1 ÈëÃÅ£º´î½¨¿ª·¢»·¾³ Òª¿ªÊ¼Ê¹ÓÃYocto Project£¬Ê×ÏÈÐèÒªÅäÖÃÒ»¸ö¿ª·¢»·¾³
Õâͨ³£°üÀ¨°²×°Yocto ProjectµÄ¹¤¾ßÁ´£¨ÈçBitBake¡¢RepoµÈ£©£¬ÒÔ¼°ÉèÖñØÒªµÄ»·¾³±äÁ¿
ͨ¹ý¹Ù·½Îĵµ»òYocto ProjectµÄQuick Start Guide£¬¼´Ê¹ÊdzõѧÕßÒ²ÄÜ¿ìËÙÉÏÊÖ
2.2 ¹¹½¨»ù´¡¾µÏñ Ò»µ©»·¾³ÅäÖÃÍê³É£¬ÏÂÒ»²½Êǹ¹½¨Ò»¸ö¼òµ¥µÄLinux¾µÏñ
Õâͨ³£Éæ¼°Ñ¡ÔñÊʵ±µÄYocto Project²ã£¨Èçcore-image-minimal£©£¬È»ºóÔËÐй¹½¨ÃüÁî
BitBake»á¸ù¾ÝÅä·½Îļþ×Ô¶¯´¦ÀíÒÀÀµ¹ØÏµ£¬ÏÂÔØÔ´´úÂ룬±àÒë²¢´ò°ü³É×îÖÕ¾µÏñ
2.3 Éî¶È¶¨ÖÆ£ºÌí¼Ó¹¦ÄÜÓëÓÅ»¯ Yocto LinuxµÄÕæÕý÷ÈÁ¦ÔÚÓÚÆä¸ß¶ÈµÄ¿É¶¨ÖÆÐÔ
ͨ¹ý´´½¨»òÐÞ¸ÄÅä·½Îļþ£¬¿ª·¢Õß¿ÉÒÔÇáËɵØÏò¾µÏñÖÐÌí¼ÓеÄÈí¼þ°ü¡¢Çý¶¯³ÌÐò¡¢ÅäÖÃÎļþµÈ
ͬʱ£¬Yocto Project»¹Ö§³Ö¶ÔÄںˡ¢Îļþϵͳ¡¢Æô¶¯Á÷³ÌµÈ½øÐÐÉî¶È¶¨ÖÆ£¬ÒÔÂú×ãÌØ¶¨Ó²¼þºÍÓ¦ÓõÄÐèÇó
- ÄÚºËÅäÖãºÀûÓÃYocto ProjectµÄ¹¤¾ß£¬¿ÉÒÔ·½±ãµØÅäÖúͱàÒë×Ô¶¨ÒåµÄÄںˣ¬°üÀ¨ÆôÓûò½ûÓÃÌØ¶¨µÄÄÚºËÄ£¿é
- ÎļþϵͳÓÅ»¯£ºÍ¨¹ýµ÷ÕûÎļþϵͳµÄ²¼¾Ö¡¢Ñ¹ËõËã·¨ºÍ¹ÒÔØÑ¡Ï¿ÉÒÔ½øÒ»²½ÓÅ»¯´æ´¢¿Õ¼äºÍ·ÃÎÊËÙ¶È
- °²È«ÔöÇ¿£ºYocto LinuxÖ§³Ö¼¯³É¶àÖÖ°²È«»úÖÆ£¬ÈçSELinux¡¢AppArmor¡¢°²È«Æô¶¯µÈ£¬È·±£ÏµÍ³ÃâÊܶñÒâ¹¥»÷
µÚÈýÕ£º¿ª·¢Á÷³ÌÓë×î¼Ñʵ¼ù 3.1 µü´ú¿ª·¢Óë²âÊÔ ÔÚǶÈëʽϵͳµÄ¿ª·¢¹ý³ÌÖУ¬¿ìËÙµü´úºÍÓÐЧ²âÊÔÊǹؼü
Yocto ProjectÌṩÁ˶àÖÖ¹¤¾ßºÍ·½·¨À´¼ÓËÙÕâÒ»¹ý³Ì£¬°üÀ¨Ê¹ÓÃQEMU½øÐпìËÙÔÐÍÑéÖ¤£¬ÒÔ¼°¼¯³É³ÖÐø¼¯³É/³ÖÐø²¿Êð£¨CI/CD£©ÏµÍ³£¬ÊµÏÖ×Ô¶¯»¯¹¹½¨ºÍ²âÊÔ
3.2 ²ã¼¶¹ÜÀíÓë°æ±¾¿ØÖÆ Yocto Project¹ÄÀøÊ¹Ó÷ֲãµÄ·½·¨À´¹ÜÀí¹¹½¨ÏµÍ³£¬ÕâÓÐÖúÓÚ±£³Ö´úÂëµÄÇåÎúºÍ×éÖ¯ÐÔ
ÿ¸ö²ã¿ÉÒÔ¶ÀÁ¢µØ¿ª·¢¡¢²âÊԺͷ¢²¼£¬±ãÓÚÍŶÓÐ×÷ºÍ°æ±¾¿ØÖÆ
ͬʱ£¬ÀûÓÃGitµÈ°æ±¾¿ØÖÆÏµÍ³£¬¿ÉÒÔ¸ßЧµØ×·×ٺ͹ÜÀí±ä¸ü
3.3 ÐÔÄÜÓÅ»¯Óë×ÊÔ´¹ÜÀí ÔÚ×ÊÔ´ÊÜÏÞµÄǶÈëʽÉ豸ÉÏ£¬ÐÔÄÜÓÅ»¯ÖÁ¹ØÖØÒª
Yocto LinuxÌṩÁ˶àÖÖ¹¤¾ßºÍ¼¼Êõ£¬È羲̬·ÖÎö¡¢¶¯Ì¬µ÷ÓÅ¡¢ÄÚ´æ¹ÜÀíµÈ£¬°ïÖú¿ª·¢Õßʶ±ð²¢½â¾öÐÔÄÜÆ¿¾±
´ËÍ⣬ͨ¹ýºÏÀíÅäÖÃϵͳ×ÊÔ´£¨ÈçCPU¡¢ÄÚ´æ¡¢´æ´¢£©£¬¿ÉÒÔÈ·±£ÏµÍ³ÔÚ¸÷ÖÖ¸ºÔØÏ¶¼ÄÜÎȶ¨ÔËÐÐ
µÚËÄÕ£ºÊµÕ½°¸ÀýÓëÓ¦Óó¡¾° 4.1 ÖÇÄܼҾÓÉ豸 Yocto LinuxÒòÆäÇáÁ¿¼¶ºÍ×ÊÔ´¸ßЧµÄÌØµã£¬·Ç³£ÊʺÏÓÃÓÚÖÇÄܼҾÓÉ豸£¬ÈçÖÇÄܵÆÅÝ¡¢ÖÇÄܲå×ù¡¢ÉãÏñÍ·µÈ
ͨ¹ý¶¨ÖÆ»¯µÄϵͳ¾µÏñ£¬¿ª·¢Õß¿ÉÒÔÈ·±£É豸¿ìËÙÆô¶¯¡¢µÍ¹¦ºÄÔËÐУ¬²¢¼¯³É±ØÒªµÄÎïÁªÍøÐÒ飨ÈçMQTT¡¢CoAP£©ÒÔʵÏÖÔ¶³Ì¿ØÖƺÍÊý¾ÝÊÕ¼¯
4.2 ¹¤Òµ×Ô¶¯»¯Óë±ßÔµ¼ÆËã ÔÚ¹¤Òµ4.0ºÍ±ßÔµ¼ÆËãµÄ±³¾°Ï£¬Yocto LinuxΪ¹¤Òµ×Ô¶¯»¯É豸ÌṩÁËÇ¿´óµÄÖ§³Ö
ͨ¹ý¶¨ÖÆ»¯µÄϵͳ£¬¿ÉÒÔʵÏÖʵʱÊý¾Ý´¦Àí¡¢É豸¼äµÄÎÞ·ìͨÐÅÒÔ¼°Ô¶³Ì¼à¿ØºÍά»¤
ͬʱ£¬Yocto LinuxµÄ°²È«ÌØÐÔҲΪ¹¤Òµ»·¾³ÌṩÁ˱ØÒªµÄ±£»¤
4.3 Æû³µµç×ÓÓë³µÔØÐÅÏ¢ÓéÀÖϵͳ Ëæ×ÅÆû³µÐÐÒµµÄÊý×Ö»¯×ªÐÍ£¬Æû³µµç×Óϵͳ¶Ô²Ù×÷ϵͳµÄÒªÇóÔ½À´Ô½¸ß
Yocto Linuxƾ½èÆä¸ß¿É¿¿ÐÔ¡¢°²È«ÐԺͿÉÀ©Õ¹ÐÔ£¬³ÉΪ¿ª·¢³µÔØÐÅÏ¢ÓéÀÖϵͳ¡¢¸ß¼¶¼ÝÊ»¸¨Öúϵͳ£¨ADAS£©µÈ¸´ÔÓÓ¦ÓõÄÀíÏëÑ¡Ôñ
µÚÎåÕ£ºÎ´À´Õ¹ÍûÓëÉçÇø²ÎÓë 5.1 ¼¼ÊõÇ÷ÊÆÓë´´ÐÂ Ëæ×ÅÎïÁªÍø¡¢È˹¤ÖÇÄÜ¡¢5GͨÐŵȼ¼ÊõµÄ¿ìËÙ·¢Õ¹£¬Ç¶ÈëʽϵͳÕýÃæÁÙ×ÅǰËùδÓеĻúÓöºÍÌôÕ½
Yocto ProjectÒ²ÔÚ²»¶ÏÑݽø£¬ÒÔÊÊÓ¦ÕâЩ¼¼ÊõÇ÷ÊÆ£¬Îª¿ª·¢ÕßÌṩ¸ü¼ÓÏȽø¡¢Áé»îµÄ¹¤¾ßºÍ¿ò¼Ü
5.2 ÉçÇø²ÎÓëÓë¹±Ï× Yocto ProjectµÄ³É¹¦Àë²»¿ªÆäÇ¿´óµÄÉçÇøÖ§³Ö
ÎÞÂÛÊdzõѧÕß»¹ÊÇ×ÊÉ·¢Õߣ¬¶¼¿ÉÒÔͨ¹ý²ÎÓëÎĵµ±àд¡¢´úÂë¹±Ïס¢ÂÛ̳ÌÖÂ۵ȷ½Ê½£¬ÎªÏîÄ¿µÄ·¢Õ¹×ö³ö¹±Ï×
ͬʱ£¬ÉçÇøÒ²ÊÇ»ñÈ¡°ïÖú¡¢·ÖÏí¾ÑéºÍѧϰм¼ÊõµÄ±¦¹ó×ÊÔ´
½áÓï ×ÛÉÏËùÊö£¬Yocto Linux×÷ΪYocto ProjectµÄºËÐijɹû£¬ÎªÇ¶ÈëʽϵͳµÄ¿ª·¢ÌṩÁËǰËùδÓеÄÁé»îÐԺͶ¨ÖÆ»¯ÄÜÁ¦
ͨ¹ýÕÆÎÕYocto ProjectµÄ¹¹½¨ÏµÍ³¡¢¶¨ÖƼ¼ÇÉÒÔ¼°×î¼Ñʵ¼ù£¬¿ª·¢Õß¿ÉÒÔ¹¹½¨³ö¼È¸ßЧÓÖ°²È«µÄǶÈëʽLinuxϵͳ£¬Âú×ã´ÓÖÇÄܼҾӵ½¹¤Òµ×Ô¶¯»¯ÔÙµ½Æû³µµç×ӵȹ㷺ÁìÓòµÄÐèÇó
Ëæ×ż¼ÊõµÄ²»¶Ï½ø²½ºÍÉçÇøµÄ³ÖÐø·¢Õ¹£¬Yocto Linux½«¼ÌÐøÒýÁìǶÈëʽϵͳ¿ª·¢µÄδÀ´£¬¿ªÆô¸ü¶à¿ÉÄÜ
¶ÔÓÚÈκÎÓÐÖ¾ÓÚ̽Ë÷ǶÈëʽϵͳÁìÓòµÄ¿ª·¢ÕßÀ´Ëµ£¬ÉîÈëѧϰºÍʵ¼ùYocto LinuxÎÞÒÉÊÇÒ»Ìõ³äÂúÌôÕ½Óë»úÓöµÄµÀ·