ÀÓº£µðµå ¸®´ª½º¸¦ ÀÌ¿ëÇؼ ÀåÄ¡¸¦ ¸¸µé ¶§ °í·ÁÇÒ Çϵå¿þ¾î °ü·Ã »çÇ×, ÅøüÀΰú ºÎÆ®·Î´õ ¼±ÅÃ, Ä¿³Î ±¸¼º°ú ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ »ý¼º, ºôµå ½Ã½ºÅÛ ¼±ÅÃ, Ç÷¡½Ã ¸Þ¸ð¸®, ÀåÄ¡ µå¶óÀ̹ö, ½Ã½ºÅÛ ºÎÆ® °úÁ¤ ±×¸®°í ¸¸µé¾îÁø ÀÓº£µðµå ¸®´ª½º Ç÷§Æû À§¿¡¼ ÇÁ·Î±×·¡¹ÖÇÒ ¶§ °í·ÁÇØ¾ß ÇÒ ÇÁ·Î¼¼½º¿Í ½º·¹µå, ¸Þ¸ð¸® °ü¸®, µð¹ö±ë, ÇÁ·ÎÆÄÀϸµ, ½Ç½Ã°£ ÇÁ·Î±×·¡¹Ö °ü·Ã ³»¿ë µîÀ» ´Ù·é´Ù. 3ÆÇ¿¡¼´Â ¸®´ª½º¿Í Yocto project ¹öÀüÀ» Æ÷ÇÔÇØ ÀüüÀûÀ¸·Î ³»¿ëÀÌ ¾÷µ¥ÀÌÆ®µÇ°í »ó¼¼ÇÑ ¼³¸íÀÌ Ãß°¡µÆÀ¸¸ç, ¸ð´ø ºôµå ½Ã½ºÅÛÀÎ CMake, ÆÄÀ̽㠰ü·Ã ³»¿ëÀÌ Ãß°¡µÆ´Ù.
¼ÒÇÁÆ®¿þ¾î ÄÁ¼³ÅÏÆ®ÀÌÀÚ ±³À°ÀÚ·Î ¿µ±¹ ³²ºÎ¿¡ »ì°í ÀÖ´Ù. 20³â °¡±îÀÌ ¿ÀǼҽº ÀÓº£µðµå ½Ã½ºÅÛ ¼³°è¿Í °³¹ß °æÇèÀ» ½×¾Æ¿ÔÀ¸¸ç, ÀÓº£µðµå ¸®´ª½º, ¸®´ª½º ÀåÄ¡ µå¶óÀ̹ö, ¾Èµå·ÎÀ̵å Ç÷§Æû °³¹ß °ü·Ã ±³À°°ú ¸àÅ丵 ¼ºñ½º¸¦ Á¦°øÇÏ´Â 2net LtdÀÇ Ã¢¾÷ÀÚÀÌÀÚ ¼ö¼® ÄÁ¼³ÅÏÆ®´Ù. ARM, Ä÷ÄÄ(Qualcomm), ÀÎÅÚ(Intel), ¿¡¸¯½¼(Ericsson), Á¦³Ê·² ´ÙÀ̳»¹Í½º(General Dynamics) µî ÀÓº£µðµå ¾÷°èÀÇ ´ë±Ô¸ð ȸ»ç ¿©·¯ °÷ÀÇ ¿£Áö´Ï¾îµéÀ» ±³À°Çß´Ù. ÀÓº£µðµå ¸®´ª½º ÄÜÆÛ·±½º(Embedded Linux Conference)¿Í ÀÓº£µðµå ¿ùµå(Embedded World) µî ¿ÀǼҽº¿Í ÀÓº£µðµå ÄÜÆÛ·±½º¿¡¼ ÀÚÁÖ °¿¬ÇÑ´Ù. ºí·Î±× ¡®Inner Penguin¡¯(www.2net.co.uk)¿¡¼ ±×ÀÇ ÀÛ¾÷ Áß ÀϺθ¦ »ìÆ캼 ¼ö ÀÖ´Ù.
1ºÎ. ÀÓº£µðµå ¸®´ª½ºÀÇ ¿ä¼Ò1Àå. ½ÃÀÛ__¸®´ª½º ¼±ÅÃÇϱâ __¸®´ª½º¸¦ ¼±ÅÃÇÏÁö ¸»¾Æ¾ß ÇÒ ¶§ __Âü¿© ´Üüµé __ÇÁ·ÎÁ§Æ® »ý¸íÁÖ±â ____ÀÓº£µðµå ¸®´ª½ºÀÇ 4¿ä¼Ò __¿ÀǼҽº __¶óÀ̼±½º __ÀÓº£µðµå ¸®´ª½º¸¦ À§ÇÑ Çϵå¿þ¾î ¼±ÅÃÇϱâ __ÀÌ Ã¥¿¡¼ »ç¿ëÇÏ´Â Çϵå¿þ¾î ____¶óÁ¸® ÆÄÀÌ 4 ____ºñ±Ûº» ºí·¢ ____QEMU __°³¹ß ȯ°æ __¿ä¾à 2Àå. ÅøüÀÎÀ» ¹è¿ìÀÚ__±â¼úÀû ¿ä±¸ »çÇ× __ÅøüÀÎ ¼Ò°³ ____ÅøüÀÎÀÇ Á¾·ù ____CPU ¾ÆÅ°ÅØó ____C ¶óÀ̺귯¸® °í¸£±â __ÅøüÀΠã±â __crosstool-NG¸¦ ÀÌ¿ëÇØ ÅøüÀÎ ºôµåÇϱâ ____crosstool-NG ¼³Ä¡ ____ºñ±Ûº» ºí·¢¿ë ÅøüÀÎ ºôµå ____QEMU¿ë ÅøüÀÎ ºôµå __ÅøüÀÎÀÇ ±¸Á¶ ____Å©·Î½º ÄÄÆÄÀÏ·¯¸¦ ¾Ë¾Æº¸ÀÚ ____sysroot, ¶óÀ̺귯¸®, Çì´õ ÆÄÀÏ ____ÅøüÀÎ ¾ÈÀÇ ´Ù¸¥ µµ±¸µé ____C ¶óÀ̺귯¸®ÀÇ ¿ä¼Ò¸¦ »ìÆ캸ÀÚ __¶óÀ̺귯¸®¿Í ¸µÅ©Çϱâ: Á¤Àû ¸µÅ©¿Í µ¿Àû ¸µÅ© ____Á¤Àû ¶óÀ̺귯¸® ____°øÀ¯ ¶óÀ̺귯¸® __Å©·Î½º ÄÄÆÄÀÏ ±â¼ú ____´Ü¼ø makefile ____Autotools ____ÆÐÅ°Áö ±¸¼º ____Å©·Î½º ÄÄÆÄÀÏ °ü·Ã ¹®Á¦ ____CMake __¿ä¾à __Ãß°¡ ÀÚ·á 3Àå. ºÎÆ®·Î´õ¿¡ ´ëÇÑ ¸ðµç °Í__±â¼úÀû ¿ä±¸ »çÇ× __ºÎÆ®·Î´õ´Â ¹«½¼ ÀÏÀ» Çϴ°¡? __ºÎÆ® ¼ø¼ ____1´Ü°è: ·Ò ÄÚµå ____2´Ü°è: SPL ____3´Ü°è: TPL __ºÎÆ®·Î´õ¿¡¼ Ä¿³Î·Î À̵¿ __ÀåÄ¡ Æ®¸® ¼Ò°³ ____ÀåÄ¡ Æ®¸® ±âÃÊ ____reg ÇÁ·ÎÆÛƼ ____·¹À̺í°ú ÀÎÅÍ·´Æ® ____ÀåÄ¡ Æ®¸® ÀÎŬ·çµå ÆÄÀÏ ____ÀåÄ¡ Æ®¸® ÄÄÆÄÀÏÇϱâ __U-Boot ____U-Boot ºôµåÇϱâ ____U-Boot ¼³Ä¡Çϱâ ____U-Boot »ç¿ëÇϱâ ____¸®´ª½º ºÎÆà ____U-Boot¸¦ »õ·Î¿î º¸µå¿¡ À̽ÄÇϱâ ____ºôµå¿Í Å×½ºÆ® ____ÆÈÄÜ ¸ðµå __¿ä¾à 4Àå. Ä¿³Î ±¸¼º°ú ºôµå__±â¼úÀû ¿ä±¸ »çÇ× __Ä¿³ÎÀº ¹«¾ùÀ» Çϴ°¡? __Ä¿³Î ¼±ÅÃÇϱâ ____Ä¿³Î °³¹ß ÁÖ±â ____¾ÈÁ¤Àû Àå±â Áö¿ø ¸±¸®½º __Ä¿³Î ºôµåÇϱâ ____¼Ò½º ±¸Çϱâ ____Ä¿³Î ±¸¼º ÀÌÇØÇϱâ: Kconfig ____LOCALVERSIONÀ» ÀÌ¿ëÇØ Ä¿³Î ½Äº°Çϱâ ____¾ðÁ¦ Ä¿³Î ¸ðµâÀ» »ç¿ëÇϴ°¡? __ÄÄÆÄÀÏÇϱâ: Kbuild ____¾î¶² Ä¿³Î À̹ÌÁö¸¦ ÄÄÆÄÀÏÇÒÁö ¾Ë¾Æ³»±â ____ºôµå ¾ÆƼÆÑÆ® ____ÀåÄ¡ Æ®¸® ÄÄÆÄÀÏÇϱâ ____¸ðµâ ÄÄÆÄÀÏÇϱâ ____Ä¿³Î ¼Ò½º û¼ÒÇϱâ ____¶óÁ¸® ÆÄÀÌ 4¿ë 64ºñÆ® Ä¿³Î ºôµåÇϱâ ____ºñ±Ûº» ºí·¢¿ë Ä¿³Î ºôµåÇϱâ ____QEMU¿ë Ä¿³Î ºôµåÇϱâ __Ä¿³Î ºÎÆÃÇϱâ ____¶óÁ¸® ÆÄÀÌ 4 ºÎÆÃÇϱâ ____ºñ±Ûº» ºí·¢ ºÎÆÃÇϱâ ____QEMU ºÎÆÃÇϱâ ____Ä¿³Î ÆдР____Ãʱ⠻ç¿ëÀÚ °ø°£ ____Ä¿³Î ¸Þ½ÃÁö ____Ä¿³Î ¸í·ÉÁÙ __¸®´ª½º¸¦ »õ º¸µå¿¡ À̽ÄÇϱâ ____»õ·Î¿î ÀåÄ¡ Æ®¸® ____º¸µåÀÇ compatible ÇÁ·ÎÆÛƼ ¼³Á¤Çϱâ __¿ä¾à __Ãß°¡ ÀÚ·á 5Àå. ·çÆ® ÆÄÀϽýºÅÛ ¸¸µé±â__±â¼úÀû ¿ä±¸ »çÇ× __·çÆ® ÆÄÀϽýºÅÛ¿¡´Â ¹«¾ùÀÌ ÀÖ¾î¾ß Çϴ°¡? ____µð·ºÅ͸® ·¹À̾ƿô ____½ºÅ×ÀÌ¡ µð·ºÅ͸® ____POSIX ÆÄÀÏ Á¢±Ù ±ÇÇÑ ____½ºÅ×ÀÌ¡ µð·ºÅ͸®ÀÇ ÆÄÀÏ ¼ÒÀ¯±Ç°ú ±ÇÇÑ ____·çÆ® ÆÄÀϽýºÅÛ¿ë ÇÁ·Î±×·¥ ____·çÆ® ÆÄÀϽýºÅÛ¿ë ¶óÀ̺귯¸® ____ÀåÄ¡ ³ëµå ____proc°ú sysfs ÆÄÀϽýºÅÛ ____Ä¿³Î ¸ðµâ __·çÆ® ÆÄÀϽýºÅÛÀ» Ÿ±êÀ¸·Î Àü¼ÛÇϱâ __ºÎÆ® initramfs ¸¸µé±â ____´Üµ¶Çü initramfs ____initramfs ºÎÆÃÇϱâ ____QEMU·Î ºÎÆÃÇϱâ ____ºñ±Ûº» ºí·¢ ºÎÆÃÇϱâ ____initramfs¸¦ Ä¿³Î À̹ÌÁö¿¡ ³Ö±â ____ÀåÄ¡ Å×À̺íÀ» ÀÌ¿ëÇØ initramfs ºôµåÇϱâ ____¿À·¡µÈ initrd Çü½Ä __init ÇÁ·Î±×·¥ ____µ¥¸ó ÇÁ·Î¼¼½º ½ÃÀÛÇϱâ __»ç¿ëÀÚ °èÁ¤ ±¸¼ºÇϱâ ____·çÆ® ÆÄÀϽýºÅÛ¿¡ »ç¿ëÀÚ °èÁ¤ Ãß°¡Çϱâ __ÀåÄ¡ ³ëµå¸¦ °ü¸®ÇÏ´Â ´õ ÁÁÀº ¹æ¹ý ____devtmpfs¸¦ »ç¿ëÇÏ´Â ¿¹ ____mdev¸¦ »ç¿ëÇÏ´Â ¿¹ ____°á±¹ Á¤Àû ÀåÄ¡ ³ëµå´Â ±×·¸°Ô ³ª»Û °ÍÀΰ¡? __³×Æ®¿öÅ© ±¸¼ºÇϱâ ____glibc¿ë ³×Æ®¿öÅ© ¿ä¼Ò __ÀåÄ¡ Å×À̺íÀ» ÀÌ¿ëÇØ ÆÄÀϽýºÅÛ À̹ÌÁö ¸¸µé±â ____ºñ±Ûº» ºí·¢ ºÎÆÃÇϱâ ____NFS¸¦ ÀÌ¿ëÇØ ·çÆ® ÆÄÀϽýºÅÛ ¸¶¿îÆ®Çϱâ ____QEMU·Î Å×½ºÆ®Çϱâ __ºñ±Ûº» ºí·¢À¸·Î Å×½ºÆ®Çϱâ __ÆÄÀÏ ±ÇÇÑ ¹®Á¦ __TFTP¸¦ ÀÌ¿ëÇØ Ä¿³Î ·ÎµåÇϱâ __¿ä¾à __Ãß°¡ ÀÚ·á 6Àå. ºôµå ½Ã½ºÅÛ ¼±ÅÃÇϱâ__±â¼úÀû ¿ä±¸ »çÇ× __ºôµå ½Ã½ºÅÛ ºñ±³ __¹ÙÀ̳ʸ® ¹èÆ÷ __Buildroot ¼Ò°³ ____¹è°æ ____¾ÈÁ¤ ¹öÀü ¸±¸®½º ¹× Àå±â°£ Áö¿ø ¹öÀü ____¼³Ä¡ ____±¸¼º ____½ÇÇà ____½ÇÁ¦ Çϵå¿þ¾î¿¡ Ÿ±âÆà ____Ä¿½ºÅÒ BSP »ý¼º ____ÀÚ½ÅÀÇ ÄÚµå Ãß°¡ ____¶óÀ̼±½º Áؼö __Yocto ÇÁ·ÎÁ§Æ® ¼Ò°³ ____¹è°æ ____¾ÈÁ¤ÀûÀÎ ¸±¸®½º¿Í Áö¿ø ____Yocto ÇÁ·ÎÁ§Æ® ¼³Ä¡ ____¼³Á¤ ____ºôµå ____QEMU ŸŶ ½ÇÇà ____·¹À̾î ____local.conf¸¦ ÅëÇÑ À̹ÌÁö Ä¿½ºÅ͸¶ÀÌ¡ ____À̹ÌÁö ·¹½ÃÇÇ ¾²±â ____SDK»ý¼º ____¶óÀ̼±½º °Ë»ç __¿ä¾à __Ãß°¡ ÀÚ·á 7Àå. Yocto¸¦ ÀÌ¿ëÇÑ °³¹ß__±â¼úÀû ¿ä±¸ »çÇ× __±âÁ¸ BSP À§¿¡¼ ºôµå ____±âÁ¸ BSP¸¦ ºôµå ____Wi-Fi Á¦¾î ____ºí·çÅõ½º Á¦¾î ____Ä¿½ºÅÒ ·¹À̾î Ãß°¡ __devtool·Î º¯°æ »çÇ× Ä¸Ã³ ____°³¹ß ¿öÅ©Ç÷Π____»õ·Î¿î ·¹½ÃÇÇ »ý¼º ____·¹½ÃÇÇ·Î ºôµåµÈ ¼Ò½º ¼öÁ¤ ____·¹½ÃÇǸ¦ ÃֽŠ¹öÀüÀ¸·Î ¾÷±×·¹À̵å __³ª¸¸ÀÇ ¹èÆ÷ÆÇ ºôµå ____ÇÒ ¶§¿Í ÇÏÁö ¸»¾Æ¾ß ÇÒ ¶§ ____»õ·Î¿î ¹èÆ÷ ·¹ÀÌ¾î »ý¼º ____¹èÆ÷ÆÇ È¯°æ ¼³Á¤ ____¹èÆ÷ÆÇ¿¡ ´õ ¸¹Àº ·¹½ÃÇÇ Ãß°¡ ____·±ÅÍÀÓ ÆÐÅ°Áö °ü¸® __¿ø°Ý ÆÐÅ°Áö ¼¹ö ÇÁ·ÎºñÀú´× __¿ä¾à __Ãß°¡ ÀÚ·á 8Àå. YoctoÀÇ ³»ºÎ¸¦ »ìÆ캸ÀÚ__±â¼úÀû ¿ä±¸ »çÇ× __YoctoÀÇ ¾ÆÅ°ÅØó¿Í ¿öÅ©Ç÷ΠºÐ¼® ____¸ÞŸµ¥ÀÌÅÍ ____ºôµå ŽºÅ© ____À̹ÌÁö »ý¼º __¸ÞŸµ¥ÀÌÅ͸¦ ·¹À̾î·Î ºÐ¸® __ºôµå ½ÇÆп¡ ´ëÇÑ ¹®Á¦ ÇØ°á ____¿À·ù °Ý¸®Çϱâ ____ȯ°æ ¼³Á¤ ´ýÇÁ ____ŽºÅ© ·Î±× Àбâ ____´õ ¸¹Àº ·Î±ë Ãß°¡ ____devshell¿¡¼ ¸í·É ½ÇÇà ____ÀÇÁ¸¼º ±×·¡ÇÁ ÀÛ¼º __BitBake ±¸¹®°ú ÀÇ¹Ì ÀÌÇØ ____ŽºÅ© ____ÀÇÁ¸¼º ____º¯¼ö ____ÇÔ¼ö ____RDEPENDS ÀçÈ®ÀÎ __¿ä¾à __Ãß°¡ ÀÚ·á 2ºÎ. ½Ã½ºÅÛ ¾ÆÅ°ÅØó¿Í ¼³°è °áÁ¤9Àå. ÀúÀå¼Ò Àü·« ¼ö¸³__±â¼úÀû ¿ä±¸ »çÇ× __ÀúÀå¼Ò ¿É¼Ç ____NOR Ç÷¡½Ã ____NAND Ç÷¡½Ã __ºÎÆ®·Î´õ¿¡¼ Ç÷¡½Ã ¸Þ¸ð¸® Á¢±ÙÇϱâ ____U-Boot¿Í NOR Ç÷¡½Ã ____U-Boot¿Í NAND Ç÷¡½Ã ____U-Boot¿Í MMC, SD, eMMC __¸®´ª½º¿¡¼ Ç÷¡½Ã ¸Þ¸ð¸® Á¢±Ù ____MTD ____MMC ºí·Ï µå¶óÀ̹ö __Ç÷¡½Ã ¸Þ¸ð¸®¸¦ À§ÇÑ ÆÄÀϽýºÅÛ ____Ç÷¡½Ã º¯È¯ ·¹À̾î __NOR¿Í NAND Ç÷¡½Ã ¸Þ¸ð¸®¸¦ À§ÇÑ ÆÄÀϽýºÅÛ ____JFFS2 ____YAFFS2 ____UBI¿Í UBIFS __ÄÁÆ®·Ñ·¯°¡ ³»ÀåµÈ Ç÷¡½Ã¸¦ À§ÇÑ ÆÄÀϽýºÅÛ ____Ç÷¡½Ãº¥Ä¡ ____Discard¿Í TRIM ____ext4 ____F2FS ____FAT16/32 __Àбâ Àü¿ë ¾ÐÃà ÆÄÀϽýºÅÛ ____SquashFS __Àӽà ÆÄÀϽýºÅÛ __Àбâ Àü¿ë ·çÆ® ÆÄÀϽýºÅÛ ¸¸µé±â __ÆÄÀϽýºÅÛ ¼±Åà __¿ä¾à __Ãß°¡ ÀÚ·á 10Àå. ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ®__±â¼úÀû ¿ä±¸ »çÇ× __¾÷µ¥ÀÌÆ®´Â ¾îµð¿¡¼ ½ÃÀÛÇϴ°¡? __¹«¾ùÀ» ¾÷µ¥ÀÌÆ®ÇØ¾ß Çϴ°¡? ____ºÎÆ®·Î´õ ____Ä¿³Î ____·çÆ® ÆÄÀϽýºÅÛ ____½Ã½ºÅÛ ¾ÖÇø®ÄÉÀÌ¼Ç ____ÀåÄ¡º° µ¥ÀÌÅÍ ____¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÑ ÄÄÆ÷³ÍÆ® __¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ®ÀÇ ±âº» ____°ß°íÇÑ ¾÷µ¥ÀÌÆ® ____¾ÈÀüÇÑ ¾÷µ¥ÀÌÆ® ____¾÷µ¥ÀÌÆ® º¸¾È __¾÷µ¥ÀÌÆ® ¸ÞÄ¿´ÏÁò À¯Çü ____½Ã¸ÞÆ®¸¯ À̹ÌÁö ¾÷µ¥ÀÌÆ® ____¾î½Ã¸ÞÆ®¸¯ À̹ÌÁö ¾÷µ¥ÀÌÆ® ____¿øÀÚ ÆÄÀÏ ¾÷µ¥ÀÌÆ® __OTA ¾÷µ¥ÀÌÆ® __·ÎÄà ¾÷µ¥ÀÌÆ® ½Ã Mender »ç¿ëÇϱâ ____Mender Ŭ¶óÀ̾ðÆ® ºôµåÇϱâ __¾÷µ¥ÀÌÆ® ¼³Ä¡Çϱâ __OTA ¾÷µ¥ÀÌÆ® ½Ã Mender »ç¿ëÇϱâ __·ÎÄà ¾÷µ¥ÀÌÆ® ½Ã balena »ç¿ëÇϱâ ____°èÁ¤ »ý¼ºÇϱâ ____¾ÖÇø®ÄÉÀÌ¼Ç »ý¼ºÇϱâ ____ÀåÄ¡ Ãß°¡Çϱâ ____CLI ¼³Ä¡Çϱâ ____ÇÁ·ÎÁ§Æ® Ǫ½ÃÇϱâ __¿ä¾à 11Àå. ÀåÄ¡ µå¶óÀ̹ö ÀÎÅÍÆäÀ̽º__±â¼úÀû ¿ä±¸ »çÇ× __ÀåÄ¡ µå¶óÀ̹öÀÇ ¿ªÇÒ __¹®ÀÚ ÀåÄ¡ __ºí·Ï ÀåÄ¡ __³×Æ®¿öÅ© ÀåÄ¡ __½ÇÇà ½Ã µå¶óÀ̹ö ã±â ____Sysfs¿¡¼ Á¤º¸ °¡Á®¿À±â __ÀûÇÕÇÑ ÀåÄ¡ µå¶óÀ̹ö ã±â __»ç¿ëÀÚ °ø°£ÀÇ ÀåÄ¡ µå¶óÀ̹ö ____GPIO ____LED ____I2C ____SPI __Ä¿³Î ÀåÄ¡ µå¶óÀ̹ö ÀÛ¼º ____ij¸¯ÅÍ µå¶óÀ̹ö ÀÎÅÍÆäÀ̽º ¼³°è ____ÀåÄ¡ µå¶óÀ̹öÀÇ ±¸Á¶ ____Ä¿³Î ¸ðµâ ÄÄÆÄÀÏÇϱâ ____Ä¿³Î ¸ðµâ ·Îµù __Çϵå¿þ¾î ±¸¼º Á¤º¸ ã±â ____ÀåÄ¡ Æ®¸® ____Ç÷§Æû µ¥ÀÌÅÍ ____ÀåÄ¡ µå¶óÀ̹ö¿Í Çϵå¿þ¾îÀÇ ¿¬µ¿ __¿ä¾à __Ãß°¡ ÀÚ·á 12Àå. ºê·¹ÀÌÅ©¾Æ¿ô º¸µå¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÅäŸÀÌÇÎ__±â¼úÀû ¿ä±¸ »çÇ× __ÀåÄ¡ Æ®¸®ÀÇ ¼Ò½º¿¡ ȸ·Îµµ ¸ÅÇÎÇϱâ ____ȸ·Îµµ¿Í µ¥ÀÌÅÍ ½ÃÆ® Àбâ ____ºñ±Ûº» ºí·¢¿¡ µ¥ºñ¾È ¼³Ä¡Çϱâ ____spidev È°¼ºÈÇϱâ ____ÀåÄ¡ Æ®¸® Ä¿½ºÅ͸¶ÀÌ¡Çϱâ __ºê·¹ÀÌÅ©¾Æ¿ô º¸µå¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÅäŸÀÌÇÎ ____SPI Á¡ÆÛ ´Ý±â ____GNSS ¾ÈÅ׳ª ºÎÂøÇϱâ ____SPI Çì´õ ºÎÂøÇϱâ ____SPI Á¡ÆÛ ¿ÍÀÌ¾î ¿¬°áÇϱâ __·ÎÁ÷ ºÐ¼®±â·Î SPI ½ÅÈ£ ÇÁ·ÎºùÇϱâ __SPI¸¦ ÅëÇØ NMEA ¸Þ½ÃÁö ¼ö½ÅÇϱâ __¿ä¾à __Ãß°¡ ÀÚ·á 13Àå. ½Ã½ºÅÛ ±¸µ¿: init ÇÁ·Î±×·¥__±â¼úÀû ¿ä±¸ »çÇ× __Ä¿³Î ±¸µ¿ ÀÌÈÄ __init ÇÁ·Î±×·¥ÀÇ ¼Ò°³ __BusyBox init ____Buildroot init ½ºÅ©¸³Æ® __System V init ____inittab ____init.d ½ºÅ©¸³Æ® ____»õ·Î¿î µ¥¸ó Ãß°¡ ____¼ºñ½º ½ÃÀÛ°ú Á¾·á __systemd ____Yocto ÇÁ·ÎÁ§Æ®¿Í Buildroot¿¡¼ system ºôµåÇϱâ ____Ÿ±ê, ¼ºñ½º, À¯´ÖÀÇ ¼Ò°³ ____Systemd·Î ½Ã½ºÅÛÀ» ±¸µ¿ÇÏ´Â ¹æ¹ý ____Á÷Á¢ ¸¸µç ¼ºñ½º Ãß°¡ ____¿öÄ¡µ¶ Ãß°¡ ____ÀÓº£µðµå ¸®´ª½º¿¡¼ Áß¿äÇÑ Á¡ __¿ä¾à __Ãß°¡ ÀÚ·á 14Àå. BusyBox runit__±â¼úÀû ¿ä±¸ »çÇ× __BusyBox runit °¡Á®¿À±â __¼ºñ½º µð·ºÅ͸®¿Í ÆÄÀÏ ¸¸µé±â ____¼ºñ½º µð·ºÅ͸® ·¹À̾ƿô ____¼ºñ½º ±¸¼º __¼ºñ½º °ü¸® ____¼ºñ½º Á¦¾îÇϱâ __´Ù¸¥ ¼ºñ½º¿¡ ´ëÇÑ ÀÇÁ¸¼º ____½ÃÀÛ ÀÇÁ¸¼º ____Ä¿½ºÅÒ ½ÃÀÛ ÀÇÁ¸¼º ____¸ðµÎ ÇÕÄ¡±â __Àü¿ë ¼ºñ½º ·Î±ë ____¾î¶»°Ô µ¿ÀÛÇϴ°¡? ____¼ºñ½º¿¡ Àü¿ë ·Î±ë Ãß°¡Çϱâ ____·Î±× ȸÀü __¼ºñ½º¿¡ ½Ã±×³Î º¸³»±â __¿ä¾à __Ãß°¡ ÀÚ·á 15Àå. Àü¿ø °ü¸®__±â¼úÀû ¿ä±¸ »çÇ× __Àü·Â »ç¿ë·® ÃøÁ¤ __Ŭ·° ÁÖÆļö ½ºÄÉÀϸµ ____CPUFreq µå¶óÀ̹ö ____CPUFreq »ç¿ë __ÃÖÀûÀÇ idle »óÅ ¼±ÅÃÇϱâ ____CPUIdle µå¶óÀ̹ö ____ƽ¸®½º ÀÛ¾÷ __ÁÖº¯ ±â±â Àü¿ø ²ô±â __½Ã½ºÅÛÀ» ÀýÀü ¸ðµå·Î ÀüȯÇϱâ ____Àü·Â »óÅ ____¿þÀÌÅ©¾÷ À̺¥Æ® ____½Ç½Ã°£ Ŭ·°ÀÇ ½Ã°£ ÁöÁ¤ ¿þÀÌÅ©¾÷ __¿ä¾à __Ãß°¡ ÀÚ·á 3ºÎ. ÀÓº£µðµå ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼ºÇϱâ16Àå. ÆÄÀ̽ã ÆÐŰ¡Çϱâ__±â¼úÀû ¿ä±¸ »çÇ× ____µµÄ¿ ¼³Ä¡Çϱâ __ÆÄÀ̽ã ÆÐŰ¡ÀÇ ±â¿ø ÃßÀû ____distutils ____setuptools ____setup.py __pip·Î ÆÄÀ̽ã ÆÐÅ°Áö ¼³Ä¡Çϱâ ____requirements.txt __venv¸¦ ÀÌ¿ëÇØ ÆÄÀ̽㠰¡»ó ȯ°æ °ü¸®Çϱâ __conda¸¦ ÀÌ¿ëÇØ ¹Ì¸® ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ¼³Ä¡Çϱâ ____ȯ°æ °ü¸® ____ÆÐÅ°Áö °ü¸® __µµÄ¿¸¦ »ç¿ëÇØ ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷Çϱâ ____µµÄ¿ÆÄÀÏ ÇغΠ____µµÄ¿ À̹ÌÁö ºôµåÇϱâ ____µµÄ¿ À̹ÌÁö ½ÇÇàÇϱâ ____µµÄ¿ À̹ÌÁö °¡Á®¿À±â ____µµÄ¿ À̹ÌÁö °Ô½ÃÇϱâ ____µÞÁ¤¸® __¿ä¾à __Ãß°¡ ÀÚ·á 17Àå. ÇÁ·Î¼¼½º¿Í ½º·¹µå__±â¼úÀû ¿ä±¸ »çÇ× __ÇÁ·Î¼¼½º¿Í ½º·¹µå __ÇÁ·Î¼¼½º ____»õ·Î¿î ÇÁ·Î¼¼½º ¸¸µé±â ____ÇÁ·Î¼¼½º Á¾·áÇϱâ ____´Ù¸¥ ÇÁ·Î±×·¥ ½ÇÇàÇϱâ ____µ¥¸ó ____ÇÁ·Î¼¼½º °£ Åë½Å __½º·¹µå ____»õ·Î¿î ½º·¹µå ¸¸µé±â ____½º·¹µå Á¾·áÇϱâ ____½º·¹µå¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ ÄÄÆÄÀÏÇϱâ ____½º·¹µå °£ Åë½Å ____»óÈ£ ¹èÁ¦ ____Á¶°Ç ¹Ù²Ù±â ____¹®Á¦ ³ª´©±â __ZeroMQ ____pyzmq ¹Þ±â ____ÇÁ·Î¼¼½º °£ ¸Þ½Ã¡ ____ÇÁ·Î¼¼½º ³» ¸Þ½Ã¡ __½ºÄÉÁÙ¸µ ____°øÆò¼º ´ë °áÁ¤¼º ____½ÃºÐÇÒ Á¤Ã¥ ____½Ç½Ã°£ Á¤Ã¥ ____Á¤Ã¥ ¼±ÅÃÇϱâ ____½Ç½Ã°£ ¿ì¼±¼øÀ§ ¼±ÅÃÇϱâ __¿ä¾à __Ãß°¡ ÀÚ·á 18Àå. ¸Þ¸ð¸® °ü¸®__±â¼úÀû ¿ä±¸ »çÇ× __°¡»ó ¸Þ¸ð¸® ±âÃÊ __Ä¿³Î °ø°£ ¸Þ¸ð¸® ·¹À̾ƿô __Ä¿³ÎÀÌ ¾ó¸¶³ª ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇϴ°¡? __»ç¿ëÀÚ °ø°£ ¸Þ¸ð¸® ·¹À̾ƿô __ÇÁ·Î¼¼½º ¸Þ¸ð¸® ¸Ê __½º¿ÍÇÎ ____¾ÐÃà ¸Þ¸ð¸®(zram)·Î ½º¿Ò __mmapÀ¸·Î ¸Þ¸ð¸® ¸ÅÇÎ ____mmapÀ» »ç¿ëÇØ µ¶¸³µÈ ¸Þ¸ð¸® ÇÒ´ç ____mmapÀ» »ç¿ëÇØ ¸Þ¸ð¸® °øÀ¯ ____mmapÀ» »ç¿ëÇØ ÀåÄ¡ ¸Þ¸ð¸®¿¡ ¾×¼¼½º __¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¸Þ¸ð¸®¸¦ ¾ó¸¶³ª »ç¿ëÇÏ°í Àִ°¡? __ÇÁ·Î¼¼½ºº° ¸Þ¸ð¸® »ç¿ë·® ____top°ú ps »ç¿ë ____smem »ç¿ë ____°í·ÁÇÒ ¸¸ÇÑ ´Ù¸¥ µµ±¸ __¸Þ¸ð¸® ´©¼ö ½Äº°Çϱâ ____mtrace ____Valgrind __¸Þ¸ð¸® ºÎÁ· __¿ä¾à __Ãß°¡ ÀÚ·á 4ºÎ ¡ª µð¹ö±ë°ú ¼º´É ÃÖÀûÈ19Àå. GDB·Î µð¹ö±ëÇϱâ__±â¼úÀû ¿ä±¸ »çÇ× __GNU µð¹ö°Å __µð¹ö±ë ÁغñÇϱâ __¾ÖÇø®ÄÉÀÌ¼Ç µð¹ö±ë ____gdbserver¸¦ ÀÌ¿ëÇÑ ¿ø°Ý µð¹ö±ë ____¿ø°Ý µð¹ö±ëÀ» À§ÇÑ Yocto ÇÁ·ÎÁ§Æ® ¼Â¾÷Çϱâ ____¿ø°Ý µð¹ö±ëÀ» À§ÇÑ Buildroot ¼Â¾÷Çϱâ ____µð¹ö±ë ½ÃÀÛÇϱâ ____³×ÀÌƼºê µð¹ö±ë __JIT µð¹ö±ë __µð¹ö±ë Æ÷Å©¿Í ½º·¹µå __ÄÚ¾î ÆÄÀÏ ____GDB¸¦ ÀÌ¿ëÇØ ÄÚ¾î ÆÄÀÏ »ìÆ캸±â __GDB »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ____Å͹̳Π»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ____µ¥ÀÌÅÍ µð½ºÇ÷¹ÀÌ µð¹ö°Å ____ºñÁÖ¾ó ½ºÆ©µð¿À ÄÚµå __Ä¿³Î ÄÚµå µð¹ö±ë ____kgdb¸¦ »ç¿ëÇÑ Ä¿³Î ÄÚµå µð¹ö±ë ____µð¹ö±× ¼¼¼Ç »ùÇà ____¾ó¸® ÄÚµå µð¹ö±ë ____µð¹ö±ë ¸ðµâ ____kdb¸¦ »ç¿ëÇÑ Ä¿³Î ÄÚµå µð¹ö±ë ____¿ó½º ¸Þ½ÃÁö »ìÆ캸±â ____¿ó½º ¸Þ½ÃÁöÀÇ º¸Á¸ __¿ä¾à __Ãß°¡ ÀÚ·á 20Àå. ÇÁ·ÎÆÄÀϸµ°ú ÃßÀû__±â¼úÀû ¿ä±¸ »çÇ× __°üÂûÀÚ È¿°ú ____½Éº¼ Å×À̺í°ú ÄÄÆÄÀÏ Ç÷¡±× __ÇÁ·ÎÆÄÀϸµ ½ÃÀÛÇϱâ __topÀ» ÀÌ¿ëÇÑ ÇÁ·ÎÆÄÀϸµ __°¡³ÇÑ »ç¶÷ÀÇ ÇÁ·ÎÆÄÀÏ·¯ __perf ____perf¸¦ À§ÇÑ Ä¿³Î ±¸¼º ____Yocto ÇÁ·ÎÁ§Æ®¸¦ ÀÌ¿ëÇØ perf ºôµåÇϱâ ____Buildroot¸¦ ÀÌ¿ëÇØ perf ºôµåÇϱâ ____perf¸¦ ÀÌ¿ëÇØ ÇÁ·ÎÆÄÀϸµÇϱâ ____È£Ãâ ±×·¡ÇÁ ____perf annotate __À̺¥Æ® ÃßÀû __Ftrace ____Ftrace¸¦ »ç¿ëÇϱâ À§ÇÑ Áغñ ____Ftrace »ç¿ëÇϱâ ____µ¿Àû Ftrace¿Í Æ®·¹À̽º ÇÊÅÍ ____Æ®·¹À̽º À̺¥Æ® __LTTng »ç¿ëÇϱâ ____LTTng¿Í Yocto ÇÁ·ÎÁ§Æ® ____LTTng¿Í Buildroot ____LTTng¸¦ »ç¿ëÇØ Ä¿³Î ÃßÀûÇϱâ __BPF »ç¿ëÇϱâ ____BPF¸¦ À§ÇÑ Ä¿³Î ±¸¼º ____Buildroot¸¦ ÀÌ¿ëÇØ BCC ÅøŶ ºôµåÇϱâ ____BPF ÃßÀû µµ±¸ »ç¿ëÇϱâ __Valgrind »ç¿ëÇϱâ ____Callgrind ____Helgrind __strace »ç¿ëÇϱâ __¿ä¾à __Ãß°¡ ÀÚ·á 21Àå. ½Ç½Ã°£ ÇÁ·Î±×·¡¹Ö__±â¼úÀû ¿ä±¸ »çÇ× __½Ç½Ã°£À̶õ ¹«¾ùÀΰ¡? __ºñ°áÁ¤¼ºÀÇ ¿øÀÎ ½Äº°Çϱâ __½ºÄÉÁÙ¸µ Áö¿¬ ÀÌÇØÇϱâ __Ä¿³Î ¼±Á¡ ____½Ç½Ã°£ ¸®´ª½º Ä¿³Î(PREEMPT_RT) ____½º·¹µå ÀÎÅÍ·´Æ® Çڵ鷯 __¼±Á¡ °¡´ÉÇÑ Ä¿³Î Àá±Ý ____PREEMPT_RT ÆÐÄ¡ °¡Á®¿À±â ____Yocto ÇÁ·ÎÁ§Æ®¿Í PREEMPT_RT __°íÇØ»óµµ Å¸ÀÌ¸Ó __ÆäÀÌÁö ÆúÆ® ÇÇÇϱâ __ÀÎÅÍ·´Æ® ½¯µù __½ºÄÉÁÙ¸µ Áö¿¬ ÃøÁ¤Çϱâ ____cyclictest ____Ftrace ____cyclictest¿Í Ftrace¸¦ ÇÔ²² »ç¿ëÇϱâ __¿ä¾à __Ãß°¡ ÀÚ·á