å°å ¥
ãã®äžé£ã®èšäºã§ã¯ãbuildroot ãã£ã¹ããªãã¥ãŒã·ã§ã³ ãã«ã ã·ã¹ãã ã«ã€ããŠèå¯ãããããã«ã¹ã¿ãã€ãºããçµéšãå ±æããããšæããŸãã ã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ãšæå°éã®æ©èœãåããå°ã㪠OS ãäœæããå®è·µçãªçµéšãåŸãããŸãã
ãŸã第äžã«ããã«ã ã·ã¹ãã ãšãã£ã¹ããªãã¥ãŒã·ã§ã³ãæ··åããªãã§ãã ããã Buildroot ã¯ãæäŸãããããã±ãŒãžã®ã»ããããã·ã¹ãã ãæ§ç¯ã§ããŸãã Buildroot 㯠Makefile ã«åºã¥ããŠæ§ç¯ãããŠãããããèšå€§ãªã«ã¹ã¿ãã€ãºæ©èœãåããŠããŸãã ããã±ãŒãžãå¥ã®ããŒãžã§ã³ã«çœ®ãæããããç¬èªã®ããã±ãŒãžãè¿œå ããããããã±ãŒãžãæ§ç¯ããããã®ã«ãŒã«ãå€æŽãããããã¹ãŠã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããåŸã«ãã¡ã€ã« ã·ã¹ãã ãã«ã¹ã¿ãã€ãºãããããŸãã? buildroot ã¯ããããã¹ãŠãè¡ãããšãã§ããŸãã
ãã·ã¢ã§ã¯ buildroot ã䜿çšãããŸãããç§ã®æèŠã§ã¯ãåå¿è åãã®ãã·ã¢èªæ å ±ã¯ã»ãšãã©ãããŸããã
ãã®äœæ¥ã®ç®æšã¯ãã©ã€ã ããŠã³ããŒããicewm ã€ã³ã¿ãŒãã§ã€ã¹ããã©ãŠã¶ãŒãåããé åžããããçµã¿ç«ãŠãããšã§ãã 察象ãã©ãããã©ãŒã ã¯virtualboxã§ãã
ãªãç¬èªã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãæ§ç¯ããã®ã§ãããã? å€ãã®å ŽåãéããããªãœãŒã¹ã§å¿ èŠãªæ©èœãå¶éãããŸãã ãªãŒãã¡ãŒã·ã§ã³ã§ã¯ãã¡ãŒã ãŠã§ã¢ãäœæããå¿ èŠãããããšãããã«å€ããªããŸãã äžèŠãªããã±ãŒãžãåé€ããŠãã¡ãŒã ãŠã§ã¢ã«å€æããããšã§æ±çšãã£ã¹ããªãã¥ãŒã·ã§ã³ãé©å¿ãããããšã¯ãæ°ãããã£ã¹ããªãã¥ãŒã·ã§ã³ãæ§ç¯ãããããå€ãã®åŽåãèŠããŸãã Gentoo ã®äœ¿çšã«ãå¶éããããŸãã
Buildroot ã·ã¹ãã ã¯éåžžã«åŒ·åã§ãããäœã圹ã«ç«ã¡ãŸããã çµã¿ç«ãŠããã»ã¹ãæå¹ã«ããŠèªååããããšã®ã¿ãå¯èœã§ãã
代æ¿ãã«ã ã·ã¹ãã (yoctoããªãŒãã³ ãã«ã ã·ã¹ãã ãªã©) ã¯èæ ®ãŸãã¯æ¯èŒãããŸããã
ã©ãã§å ¥æã§ããã©ã®ããã«å§ããã°ããã
ãããžã§ã¯ããŠã§ããµã€ã -
Buildroot ã¯ããã«ãã®ã¿ãŒã²ãã ããŒãã® defconfig ãæäœããŸãã defconfig ã¯ãããã©ã«ãå€ãæããªããªãã·ã§ã³ã®ã¿ãä¿åããæ§æãã¡ã€ã«ã§ãã äœãã©ã®ããã«åéãããã決å®ããã®ã¯åœŒã§ãã ãã®å Žåãbusyboxãlinux-kernelãuglibcãu-bootãããã³ãã¢ããã¯ã¹ ããŒãããŒããŒã®æ§æãåå¥ã«æ§æã§ããŸããããããã¯ãã¹ãŠã¿ãŒã²ãã ããŒãã«é¢é£ä»ããããŸãã
ããŠã³ããŒãããã¢ãŒã«ã€ãã解åããããgit ããã¯ããŒã³ãäœæãããšãããã«äœ¿çšã§ãã buildroot ãåŸãããŸãã ãã£ã¬ã¯ããªæ§é ã®è©³çŽ°ã«ã€ããŠã¯ããã¥ã¢ã«ãåç
§ããŠãã ãããæãéèŠãªãã®ã«ã€ããŠèª¬æããŸãã
ããŒã â åããŒãã«åºæã®ãã¡ã€ã«ãå«ãŸãããã£ã¬ã¯ããªã ãããã¯ãã·ã¹ãã ã€ã¡ãŒãž (isoãsdcartãcpio ãªã©)ããªãŒããŒã¬ã€ ãã£ã¬ã¯ããªãã«ãŒãã«èšå®ãªã©ã圢æããããã®ã¹ã¯ãªããã§ãã
èšå® â ããŒãã®å®éã® defconfigã Defconfig ã¯äžå®å
šãªããŒãæ§æã§ãã ããã©ã«ãèšå®ãšç°ãªããã©ã¡ãŒã¿ã®ã¿ãä¿åããŸã
dl â ã¢ã»ã³ããªçšã«ããŠã³ããŒããããœãŒã¹ ã³ãŒã/ãã¡ã€ã«ãå«ãŸãããã£ã¬ã¯ããª
åºå/ã¿ãŒã²ãã â çµæãšããŠåŸããã OS ã®çµã¿ç«ãŠããããã¡ã€ã« ã·ã¹ãã ã ãã®åŸãããŠã³ããŒã/ã€ã³ã¹ããŒã«çšã«ã€ã¡ãŒãžãäœæãããŸãã
åºå/ãã¹ã - ã¢ã»ã³ããªçšã®ãã¹ã ãŠãŒãã£ãªãã£
åºå/ãã«ã - çµã¿ç«ãŠãããããã±ãŒãž
ã¢ã»ã³ããªã¯ KConfig ãä»ããŠæ§æãããŸãã Linux ã«ãŒãã«ã®æ§ç¯ã«ãåãã·ã¹ãã ã䜿çšãããŸãã æãäžè¬çã«äœ¿çšãããã³ãã³ãã®ãªã¹ã (buildroot ãã£ã¬ã¯ããªã§å®è¡):
- make menuconfig - ãã«ãæ§æãåŒã³åºããŸãã ã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ (make nconfigãmake xconfigãmake gconfig) ã䜿çšããããšãã§ããŸãã
- make linux-menuconfig - ã«ãŒãã«èšå®ãåŒã³åºããŸãã
- make clean - ãã«ãçµæ (åºåã«ä¿åãããŠãããã¹ãŠ) ãã¯ãªãŒã³ã¢ããããŸãã
- make - ã·ã¹ãã ãæ§ç¯ããŸãã ããã¯ããã§ã«çµã¿ç«ãŠãããããã»ã¹ãåçµã¿ç«ãŠãããã®ã§ã¯ãããŸããã
- make defconfig_name - æ§æãç¹å®ã® defconfig ã«åãæ¿ããŸã
- make list-defconfigs - defconfig ã®ãªã¹ãã衚瀺ããŸã
- ãœãŒã¹ãäœæãã - ãã«ãããã«ãã€ã³ã¹ããŒã« ãã¡ã€ã«ãããŠã³ããŒãããã ãã§ãã
- make help - 䜿çšå¯èœãªã³ãã³ãããªã¹ãããŸã
éèŠãªæ³šæäºé ãšåœ¹ç«ã€ãã³ã
Buildroot ã¯ããã§ã«ãã«ããããŠããããã±ãŒãžãåãã«ãããŸããã ãããã£ãŠãå®å šãªåçµã¿ç«ãŠãå¿ èŠãªç¶æ³ãçºçããå¯èœæ§ããããŸãã
次ã®ã³ãã³ãã䜿çšããŠå¥ã®ããã±ãŒãžãåæ§ç¯ã§ããŸãã make ããã±ãŒãžå-åæ§ç¯ã ããšãã°ãLinux ã«ãŒãã«ãåæ§ç¯ã§ããŸãã
make linux-rebuild
Buildroot ã¯ãoutput/build/$packagename ãã£ã¬ã¯ããªã« .stamp ãã¡ã€ã«ãäœæããŠãããã±ãŒãžã®ç¶æ ãä¿åããŸãã
ãããã£ãŠãããã±ãŒãžãåæ§ç¯ããã« root-fs ãšã€ã¡ãŒãžãåæ§ç¯ã§ããŸãã
rm output/build/host-gcc-final-*/.stamp_host_installed;rm -rf output/target;find output/ -name ".stamp_target_installed" |xargs rm -rf ; make
䟿å©ãªå€æ°
buildroot ã«ã¯ãç°¡åã«èšå®ã§ããäžé£ã®å€æ°ããããŸã
- $TOPDIR - ãã«ãã«ãŒããã£ã¬ã¯ããª
- $BASEDIR - åºåãã£ã¬ã¯ããª
- $HOST_DIRã$STAGING_DIRã$TARGET_DIR â ãã¹ã fsãã¹ããŒãžã³ã° fsãã¿ãŒã²ãã fs ã®ãã«ã ãã£ã¬ã¯ããªã
- $BUILD_DIR - 解åããã³ãã«ããããããã±ãŒãžãå«ãŸãããã£ã¬ã¯ããª
å¯èŠå
buildroot ã«ã¯èŠèŠåæ©èœããããäŸåé¢ä¿å³ããã«ãæéã°ã©ããæçµã·ã¹ãã ã®ããã±ãŒãž ãµã€ãºã®ã°ã©ããæ§ç¯ã§ããŸãã çµæã¯ãpdf ãã¡ã€ã« (svnãpng ããéžæã§ããŸã) ã®åœ¢åŒã§ãoutput/graph ãã£ã¬ã¯ããªã«ä¿åãããŸãã
èŠèŠåã³ãã³ãã®äŸ:
make graph-depends
äŸåé¢ä¿ããªãŒãæ§ç¯ããmake <pkg>-graph-depends
ç¹å®ã®ããã±ãŒãžã®äŸåé¢ä¿ããªãŒãæ§ç¯ããBR2_GRAPH_OUT=png make graph-build
PNG åºåã§ã®ããããã®ãã«ãæémake graph-size
ãã±ãããµã€ãºããããããã
䟿å©ãªã¹ã¯ãªãã
buildroot ãã£ã¬ã¯ããªã«ãµããã£ã¬ã¯ããªããããŸã ãŠãŒãã£ãªã㣠䟿å©ãªã¹ã¯ãªããä»ãã ããšãã°ãããã±ãŒãžã®èª¬æãæ£ãããã©ããããã§ãã¯ããã¹ã¯ãªããããããŸãã ããã¯ãç¬èªã®ããã±ãŒãžãè¿œå ãããšãã«åœ¹ç«ã€å ŽåããããŸã (ããã«ã€ããŠã¯åŸã§èª¬æããŸã)ã ãã¡ã€ã« utils/readme.txt ã«ã¯ããããã®ã¹ã¯ãªããã®èª¬æãå«ãŸããŠããŸãã
åšåº«ååžãæ§ç¯ããŸããã
ãã¹ãŠã®æäœã¯ root ã§ã¯ãªãéåžžã®ãŠãŒã¶ãŒã«ä»£ãã£ãŠå®è¡ãããããšã«çæããããšãéèŠã§ãã
ãã¹ãŠã®ã³ãã³ã㯠buildroot ã§å®è¡ãããŸãã buildroot ããã±ãŒãžã«ã¯ãå€ãã®äžè¬çãªããŒããšä»®æ³åã®ããã®äžé£ã®æ§æããã§ã«å«ãŸããŠããŸãã
æ§æã®ãªã¹ããèŠãŠã¿ãŸãããã
qemu_x86_64_defconfig æ§æã«åãæ¿ããŸã
make qemu_x86_64_defconfig
ãããŠçµã¿ç«ãŠãéå§ããŸã
make
ãã«ãã¯æ£åžžã«å®äºããçµæã確èªããŸãã
Buildroot ã¯ãQemu ã§å®è¡ããŠåäœã確èªã§ããã€ã¡ãŒãžãã³ã³ãã€ã«ããŸããã
qemu-system-x86_64 -kernel output/images/bzImage -hda output/images/rootfs.ext2 -append "root=/dev/sda rw" -s -S
ãã®çµæãã·ã¹ãã ã qemu ã§å®è¡ãããŸãã
ç¬èªã®ããŒãæ§æã®äœæ
ããŒããã¡ã€ã«ã®è¿œå
æ§æã®ãªã¹ããèŠãŠã¿ãŸãããã
ãªã¹ãã«ã¯ãpc_x86_64_efi_defconfig ã衚瀺ãããŸãã æ§æããã³ããŒããŠç¬èªã®ããŒããäœæããŸãã
cp configs/pc_x86_64_bios_defconfig configs/my_x86_board_defconfig
ã¹ã¯ãªãããrootfs-overlayããã®ä»ã®å¿ èŠãªãã¡ã€ã«ãä¿åããããã®ããŒã ãã£ã¬ã¯ããªãããã«äœæããŸãããã
mkdir board/my_x86_board
ãã® defconfig ã«åãæ¿ããŸãã
make my_x86_board_defconfig
ãããã£ãŠããã«ãæ§æ (buildroot ãã£ã¬ã¯ããªã®ã«ãŒãã® .config ã«ä¿åãããŠãã) ã¯ãx86-64 ã¬ã¬ã·ãŒ (bios) ããŒã ã¿ãŒã²ãã ãã·ã³ã«å¯Ÿå¿ããŸãã
linux-kernel èšå®ãã³ããŒããŸããã (åŸã§åœ¹ç«ã¡ãŸã)ã
cp board/pc/linux.config board/my_x86_board/
KConfig çµç±ã§ãã«ããã©ã¡ãŒã¿ãèšå®ãã
ã»ããã¢ãããéå§ããŸããã:
make menuconfig
KConfig ãŠã£ã³ããŠãéããŸãã ã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠèšå®ããããšãã§ããŸã (make nconfigãmake xconfigãmake gconfig)ã
æåã®ã»ã¯ã·ã§ã³ãã¿ãŒã²ãã ãªãã·ã§ã³ãã«å ¥ããŸãã ããã§ããã«ããå®è¡ãããã¿ãŒã²ãã ã¢ãŒããã¯ãã£ãéžæã§ããŸãã
ãã«ã ãªãã·ã§ã³ - ããã«ã¯ããŸããŸãªãã«ãèšå®ããããŸãã ãœãŒã¹ ã³ãŒããå«ããã£ã¬ã¯ããªããã«ã ã¹ã¬ããã®æ°ããœãŒã¹ ã³ãŒããããŠã³ããŒãããããã®ãã©ãŒããã®ä»ã®èšå®ãæå®ã§ããŸãã èšå®ã¯ããã©ã«ãã®ãŸãŸã«ããŠãããŸãã
ããŒã«ãã§ãŒã³ â ãã«ã ããŒã«èªäœã¯ããã§æ§æãããŸãã 圌ã«ã€ããŠãã£ãšè©³ããèªãã§ãã ããã
ããŒã«ãã§ãŒã³ã®ã¿ã€ã â 䜿çšãããããŒã«ãã§ãŒã³ã®ã¿ã€ãã ããã¯ãbuildroot ã«çµã¿èŸŒãŸããããŒã«ãã§ãŒã³ã§ããå€éšã®ããŒã«ãã§ãŒã³ã§ãããŸããŸãã (æ¢ã«æ§ç¯ãããŠãããã£ã¬ã¯ããªãŸãã¯ããŠã³ããŒãçšã® URL ãæå®ã§ããŸã)ã ããŸããŸãªã¢ãŒããã¯ãã£çšã®è¿œå ãªãã·ã§ã³ããããŸãã ããšãã°ãarm ã®å Žåã¯ãå€éšããŒã«ãã§ãŒã³ã® Linaro ããŒãžã§ã³ãéžæããã ãã§ãã
C ã©ã€ãã©ãª â C ã©ã€ãã©ãªã®éžæ ã·ã¹ãã å šäœã®åäœã¯ããã«äŸåããŸãã éåžžã¯ãèãããããã¹ãŠã®æ©èœããµããŒããã glibc ã䜿çšãããŸãã ãã ããçµã¿èŸŒã¿ã·ã¹ãã ã«ã¯å€§ããããå¯èœæ§ããããããuglibc ãŸã㯠musl ãéžæãããããšããããããŸãã glibc ãéžæããŸã (ããã¯åŸã§ systemd ã䜿çšããããã«å¿ èŠã«ãªããŸã)ã
ã«ãŒãã« ããããŒããã³ã«ã¹ã¿ã ã«ãŒãã« ããã㌠ã·ãªãŒãº â çµã¿ç«ãŠãããã·ã¹ãã ã«å«ãŸããã«ãŒãã«ã®ããŒãžã§ã³ãšäžèŽããå¿ èŠããããŸãã ã«ãŒãã« ããããŒã®å Žåã¯ãtarball ãŸã㯠git ãªããžããªãžã®ãã¹ãæå®ããããšãã§ããŸãã
GCC COMPILER VERSIONS â ãã«ãã«äœ¿çšããã³ã³ãã€ã©ãŒã®ããŒãžã§ã³ãéžæããŸãã
C++ ãµããŒããæå¹ã«ãã â ã·ã¹ãã å
ã® C++ ã©ã€ãã©ãªããµããŒãããŠãã«ãããããšãéžæããŸãã ããã¯å°æ¥çã«åœ¹ã«ç«ã¡ãŸãã
è¿œå ã® gcc ãªãã·ã§ã³ â è¿œå ã®ã³ã³ãã€ã© ãªãã·ã§ã³ãèšå®ã§ããŸãã ä»ã®ãšããããã¯å¿ èŠãããŸããã
ã·ã¹ãã æ§æã§ã¯ãäœæããã·ã¹ãã ã®å°æ¥ã®ãã©ã¡ãŒã¿ãèšå®ã§ããŸãã
ã»ãšãã©ã®ãã€ã³ãã¯ã¿ã€ãã«ããæããã§ãã 次ã®ç¹ã«æ³šæããŠã¿ãŸãããã
ãŠãŒã¶ãŒããŒãã«ãžã®ãã¹ - äœæããããŠãŒã¶ãŒãå«ãŸããããŒãã« (
ãµã³ãã«ãã¡ã€ã«ã ãŠãŒã¶ãŒ user ã¯ããã¹ã¯ãŒã adminãèªåçã« gid/uidã/bin/sh ã·ã§ã«ãããã©ã«ãã®ã°ã«ãŒã ãŠãŒã¶ãŒãã°ã«ãŒã ã¡ã³ã㌠rootãã³ã¡ã³ã Foo ãŠãŒã¶ãŒã§äœæãããŸãã
[alexey@alexey-pc buildroot ]$ cat board/my_x86_board/users.txt
user -1 user -1 =admin /home/user /bin/sh root Foo user
ã«ãŒã ãã¡ã€ã«ã·ã¹ãã ãªãŒããŒã¬ã€ ãã£ã¬ã¯ã㪠- ã¢ã»ã³ãã«ããã target-fs ã®äžã«ãªãŒããŒã¬ã€ããããã£ã¬ã¯ããªã æ°ãããã¡ã€ã«ãè¿œå ããæ¢åã®ãã¡ã€ã«ã眮ãæããŸãã
ãã¡ã€ã«ã·ã¹ãã ã€ã¡ãŒãžãäœæããåã«å®è¡ããã«ã¹ã¿ã ã¹ã¯ãªãã - ãã¡ã€ã«ã·ã¹ãã ãã€ã¡ãŒãžã«æããããçŽåã«å®è¡ãããã¹ã¯ãªããã ããã§ã¯ã¹ã¯ãªããã空ã®ãŸãŸã«ããŠãããŸãã
ã«ãŒãã«ã»ã¯ã·ã§ã³ã«è¡ããŸããã
ããã§ã«ãŒãã«ã®èšå®ãè¡ããŸãã ã«ãŒãã«èªäœã¯ãmake linux-menuconfig ã«ãã£ãŠæ§æãããŸãã
ã«ãŒãã« ããŒãžã§ã³ã¯ããŸããŸãªæ¹æ³ã§èšå®ã§ããŸããæäŸããããã®ããéžæãããæåã§ããŒãžã§ã³ãå
¥åããããªããžããªãŸãã¯æ¢è£œã® tarball ãæå®ãããªã©ã§ãã
ã«ãŒãã«æ§æ â ã«ãŒãã«æ§æãžã®ãã¹ã éžæããã¢ãŒããã¯ãã£ã®ããã©ã«ãæ§æãéžæããããLinux ãã defocnfig ãéžæã§ããŸãã Linux ãœãŒã¹ã«ã¯ãããŸããŸãªã¿ãŒã²ãã ã·ã¹ãã çšã® defconfig ã®ã»ãããå«ãŸããŠããŸãã å¿
èŠãªãã®ãèŠã€ãããŸã
[ã¿ãŒã²ãã ããã±ãŒãž] ã»ã¯ã·ã§ã³ã§ã¯ãæ§ç¯äžã®ã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããããã±ãŒãžãéžæã§ããŸãã ãšããããã¯å€æŽããªããŸãŸã«ããŠãããŸãã åŸã§ãã®ãªã¹ãã«ããã±ãŒãžãè¿œå ããŸãã
ãã¡ã€ã« ã·ã¹ãã ã€ã¡ãŒãž - åéããããã¡ã€ã« ã·ã¹ãã ã€ã¡ãŒãžã®ãªã¹ãã ISO ã€ã¡ãŒãžãè¿œå ãã
ããŒãããŒã㌠- åéããããŒãããŒããŒã®éžæã ã€ãœãªãã¯ã¹ãéžã³ãŸããã
Systemd ã®æ§æ
Systemd ã¯ãã«ãŒãã«ã glibc ãšäžŠã㧠Linux ã®æ±ã® XNUMX ã€ã«ãªãã€ã€ãããŸãã ãã®ããããã®èšå®ãå¥ã®é ç®ã«ç§»åããŸããã
make menuconfig ã§èšå®ãã次ã«ã¿ãŒã²ãã ããã±ãŒãž â ã·ã¹ãã ããŒã« â systemd ãéžæããŸãã ããã§ã¯ãã·ã¹ãã ã®èµ·åæã«ã©ã® systemd ãµãŒãã¹ãã€ã³ã¹ããŒã«ããŠéå§ããããæå®ã§ããŸãã
ã·ã¹ãã æ§æã®ä¿å
ãã®èšå®ã¯ KConfig çµç±ã§ä¿åããŸãã
次ã«ãdefconfig ãä¿åããŸãã
make savedefconfig
Linux ã«ãŒãã«æ§æ
Linux ã«ãŒãã«æ§æã¯ã次ã®ã³ãã³ãã§åŒã³åºããŸãã
make linux-menuconfig
Virtualbox ãã㪠ã«ãŒãã®ãµããŒããè¿œå ããŸããã
Virtualbox Guest çµ±åãµããŒããè¿œå ããŸããã
ä¿åããŠçµäºã éèŠ: èšå®ã¯ãoutput/build/linux-$version/config ã«ä¿åãããŸãããboard/my_x86_board/linux.config ã«ã¯ä¿åãããŸããã
ãããã£ãŠãæ§æãä¿åå Žæã«æåã§ã³ããŒããå¿ èŠããããŸãã
cp output/build/linux-4.19.25/.config board/my_x86_board/linux.config
ãã®åŸãã·ã¹ãã å šäœãå®å šã«åçµã¿ç«ãŠããŸãã buildroot ã¯ããã§ã«ãã«ããããŠãããã®ãåæ§ç¯ããŸãããåæ§ç¯ããããã±ãŒãžãæåã§æå®ããå¿ èŠããããŸãã æéãšç¥çµãç¡é§ã«ããªãããã«ã¯ãå°ããªã·ã¹ãã ãå®å šã«åæ§ç¯ããæ¹ãç°¡åã§ã)ã
make clean;make
ãã«ããå®äºããããCD ããèµ·åã㊠VirtualBox (ããŒãžã§ã³ 5.2 ããã³ 6.0 ã§ãã¹ãæžã¿) ãèµ·åããŸããã·ã¹ãã ãã©ã¡ãŒã¿ãŒ:
ã¢ã»ã³ãã«ããã ISO ããã®å®è¡:
䜿çšçŽ æäžèŠ§
- ãã«ãã«ãŒãããã¥ã¢ã«
åºæïŒ habr.com