ÄÜÅÙÃ÷ »ó¼¼º¸±â
ÀÓº£µðµå ¸®´ª½º ÇÁ·Î±×·¡¹Ö ¿ÏÀüÁ¤º¹ 3/e


ÀÓº£µðµå ¸®´ª½º ÇÁ·Î±×·¡¹Ö ¿ÏÀüÁ¤º¹ 3/e

ÀÓº£µðµå ¸®´ª½º ÇÁ·Î±×·¡¹Ö ¿ÏÀüÁ¤º¹ 3/e

<ÇÁ·©Å© ¹Ù½ºÄÉÁî>,<Å©¸®½º ½Ã¸ÕÁî> Àú/<±è±âÁÖ>,<±èº´±Ø>,<¼ÛÁö¿¬> ¿ª | ¿¡ÀÌÄÜÃâÆÇ»ç

Ãâ°£ÀÏ
2024-10-15
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
15 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

ÀÓº£µðµå ¸®´ª½º¸¦ ÀÌ¿ëÇؼ­ ÀåÄ¡¸¦ ¸¸µé ¶§ °í·ÁÇÒ Çϵå¿þ¾î °ü·Ã »çÇ×, ÅøüÀΰú ºÎÆ®·Î´õ ¼±ÅÃ, Ä¿³Î ±¸¼º°ú ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ »ý¼º, ºôµå ½Ã½ºÅÛ ¼±ÅÃ, Ç÷¡½Ã ¸Þ¸ð¸®, ÀåÄ¡ µå¶óÀ̹ö, ½Ã½ºÅÛ ºÎÆ® °úÁ¤ ±×¸®°í ¸¸µé¾îÁø ÀÓº£µðµå ¸®´ª½º Ç÷§Æû À§¿¡¼­ ÇÁ·Î±×·¡¹ÖÇÒ ¶§ °í·ÁÇØ¾ß ÇÒ ÇÁ·Î¼¼½º¿Í ½º·¹µå, ¸Þ¸ð¸® °ü¸®, µð¹ö±ë, ÇÁ·ÎÆÄÀϸµ, ½Ç½Ã°£ ÇÁ·Î±×·¡¹Ö °ü·Ã ³»¿ë µîÀ» ´Ù·é´Ù. 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¸¦ ÇÔ²² »ç¿ëÇϱâ
__¿ä¾à
__Ãß°¡ ÀÚ·á