Poudriere: ARM ํ•ญ๋ชฉ์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์˜ฅ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•  ๋•Œ qemu-user-static์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 12์›” 18์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: freebsd/poudriere

์ „์ œ ์กฐ๊ฑด

  • [X] ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ์กด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๊นŒ?
  • [X] ์ตœ์‹  ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
  • [X] ํฌํŠธ ํŠธ๋ฆฌ๊ฐ€ ์ตœ์‹ ์ž…๋‹ˆ๊นŒ?
  • [X] FreeBSD ํ˜ธ์ŠคํŠธ๊ฐ€ ์ง€์›๋˜๋Š” ๋ฆด๋ฆฌ์Šค์— ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฒ„๊ทธ ์„ค๋ช…

ARM ํ•ญ๋ชฉ์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์˜ฅ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•  ๋•Œ qemu-user-static์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์‹ ๋ฐฉ๋ฒ•

[root@nibbles1]130|/src/FreeBSD/base/stable/12/sys/arm64/conf>poudriere jail -c -j 12stableAARCH64 -m src=/src/FreeBSD/base/stable/12 -a aarch64     
[00:00:00] Cross-building ports for aarch64 on amd64 requires QEMU
[00:00:00] Error: You need to install the qemu-user-static package or setup an emulator with binmiscctl(8) for aarch64
[root@nibbles1]0|/src/FreeBSD/base/stable/12/sys/arm64/conf>poudriere jail -c -j 12stableAARCH64 -m src=/src/FreeBSD/base/stable/12 -a arm.aarch64 
[00:00:00] Cross-building ports for arm.aarch64 on amd64 requires QEMU
[00:00:00] Error: You need to install the qemu-user-static package or setup an emulator with binmiscctl(8) for aarch64
[root@nibbles1]1|/src/FreeBSD/base/stable/12/sys/arm64/conf>pkg info qemu-user-static
qemu-user-static-3.1.0_8
Name           : qemu-user-static
Version        : 3.1.0_8
Installed on   : Fri Dec 18 10:27:38 2020 CST
Origin         : emulators/qemu-user-static
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : emulators
Licenses       : GPLv2
Maintainer     : [email protected]
WWW            : http://wiki.qemu.org/Main_Page
Comment        : QEMU CPU Emulator (github bsd-user branch)
Annotations    :
        FreeBSD_version: 1202502
        repo_type      : binary
        repository     : n1
Flat size      : 71.2MiB
Description    :
QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:

    * Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
    * User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.

As QEMU requires no host kernel patches to run, it is very safe and easy to use.

This port builds static bsd-user targets named like qemu-mips-static. While
still being experimental, people have already built many armv6/mips/mips64 ports
using these and, e.g., poudriere.  Some notes are also here:

        http://wiki.freebsd.org/QemuUserModeHowTo

WWW: http://wiki.qemu.org/Main_Page

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

์Šคํฌ๋ฆฐ์ƒท

ํ™˜๊ฒฝ

  • ํ˜ธ์ŠคํŠธ OS[์˜ˆ: 12.2 amd64]: FreeBSD nibbles1.vvelox.net 12.1-STABLE FreeBSD 12.1-STABLE r364334 vixen42 amd64
  • ๊ฐ์˜ฅ OS [์˜ˆ: 12.0 powerpc]:
  • ๋ธŒ๋ผ์šฐ์ €: [์˜ˆ: ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ]:
  • Poudriere ๋ฒ„์ „[์˜ˆ: 3.3.1 ๋˜๋Š” git ํ•ด์‹œ ๋˜๋Š” ํฌํŠธ ๋ฒ„์ „]: 3.3.6
  • ํฌํŠธ ๋ถ„๊ธฐ ๋ฐ ๊ฐœ์ •ํŒ [์˜ˆ: 2020Q3 r550754]: r558303

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ

Blocker Easy bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ถˆ์™„์ „ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ qemu-user-static ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. service qemu-user-static onestart ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

๊ดœ์ฐฎ์•„. ์ž˜๋ชป๋œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ binmiscctl์ด ๊ตฌ์„ฑ๋˜์ง€ ์•Š์•˜๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋งํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ qemu๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์˜ ๋Œ€์•ˆ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜: qemu-user-static ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ aarch64์šฉ binmiscctl(8)์„ ์‚ฌ์šฉํ•˜์—ฌ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฑด ์ •๋ง ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค

๋‚˜์—๊ฒŒ ๊ทธ๊ฒƒ์€ qemu๊ฐ€ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ถˆ์™„์ „ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ qemu-user-static ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. service qemu-user-static onestart ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰