لینک کوتاه مطلب : https://hsgar.com/?p=6971

اجرای FreeBSD 13.1-RELEASE برای ARM64 در QEMU در Apple Silicon Mac (MacBook Pro M1 و غیره) با شتاب HVF (Hypervisor.framework) · GitHub

این راهنما از https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278#running-ubuntu-server-for-arm64 اقتباس شده است

اجرای FreeBSD 13.1-RELEASE برای ARM64

  1. Xcode را از App Store نصب کنید یا Command Line Tools را بر روی مک خود که روی Apple Silicon اجرا می شود نصب کنید.

    xcode-select --install
    
  2. Homebrew و QEMU را نصب کنید.

    https://brew.sh/

    qemu-system-aarch64 --version
    QEMU emulator version 7.0.0
    Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
    
  3. دانلود تصویر پیش ساخته EDK II OVMF EFI برای QEMU.

    این تصویر EFI از ساخته شده است stable202011 برچسب با وضوح اضافی در QemuRamfb.c.

    https://gist.github.com/niw/4f1f9bb572f40d406866f23b3127919b/raw/f546faea68f4149c06cca88fa67ace07a3758268/QEMU_EFI-cb40sthrab.

    برای ساخت آن از کد منبع برای افزودن وضوح بیشتر، به بخش زیر مراجعه کنید.

  4. pflash را برای ذخیره متغیرهای غیر فرار، مانند وضوح صفحه، آماده کنید.

    mkdir ~/qemu-vm/
    cd ~/qemu-vm/
    tar xvf ~/Downloads/QEMU_EFI-cb438b9-edk2-stable202011-with-extra-resolutions.tar.gz
    dd if=/dev/zero of=pflash0.img bs=1m count=64
    dd if=/dev/zero of=pflash1.img bs=1m count=64
    dd if=QEMU_EFI.fd of=pflash0.img conv=notrunc
    dd if=QEMU_VARS.fd of=pflash1.img conv=notrunc
    
    • این مرحله اختیاری است، می توانید از آن استفاده کنید -bios QEMU_EFI.fd بجای -drive ...if=pflash خطوط در مرحله بعد، اما در آن صورت، هر گونه تغییر در EFI پایدار نخواهد بود.
  5. دانلود FreeBSD 13.1-RELEASE برای ARM64 تصویر خام VM فایل فشرده xz

    https://ftp2.uk.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/13.1-RELEASE/aarch64/Latest/FreeBSD-13.1-RELEASE-arm64-aarch64.raw.xz

    (دیدن https://docs.freebsd.org/en/books/handbook/mirrors/ برای لیستی از آینه ها که می توانید انتخاب کنید.)

  6. فایل فشرده xz را از حالت فشرده خارج کنید، یک کپی از فایل فشرده اصلی را نگه دارید

    نگه داشتن یک کپی از فایل اصلی راحت است زیرا اگر بخواهید بعداً ماشین های مجازی اضافی ایجاد کنید، می توانید از آن استفاده کنید. فقط مواظب باشید وقتی می خواهید ماشین مجازی دومی بسازید تصویر اولین ماشین مجازی خود را بازنویسی نکنید 😛

    mv ~/Downloads/FreeBSD-13.1-RELEASE-arm64-aarch64.raw.xz .
    unxz -k FreeBSD-13.1-RELEASE-arm64-aarch64.raw.xz
    
  7. FreeBSD 13.1-RELEASE خود را برای ARM64 VM اجرا کنید

    ~/src/qemu/build/qemu-system-aarch64 
      -M virt 
      -accel hvf 
      -cpu host 
      -smp 4 
      -m 4096 
      -drive file=pflash0.img,format=raw,if=pflash,readonly=on 
      -drive file=pflash1.img,format=raw,if=pflash 
      -device virtio-gpu-pci 
      -display default,show-cursor=on 
      -device qemu-xhci 
      -device usb-kbd 
      -device usb-tablet 
      -device intel-hda 
      -device hda-duplex 
      -drive file=FreeBSD-13.1-RELEASE-arm64-aarch64.raw,format=raw,if=virtio,cache=writethrough 
      -nographic 
      -serial mon:stdio
    

تصویری از FreeBSD 13.1-RELEASE برای کنسول ARM64 در QEMU در Apple Silicon Mac، که خروجی uname -a را نشان می دهد.
اسکرین شات دیگری از FreeBSD 13.1-RELEASE برای کنسول ARM64 در QEMU در Apple Silicon Mac، این بار نشان می دهد که شبکه کار می کند و می تواند از طریق HTTP به وب سایت www.example.com متصل شود.

sysbench مقایسه معیار CPU

در حال اجرا به صورت بومی در macOS Monterey نسخه 12.5 (21G72) در MacBook Pro (13 اینچی، M1، 2020)

(نصب شده از طریق Homebrew.)

رویدادها در ثانیه: 25,445,903.16 یا ~25.4 میلیون رویداد در ثانیه

sysbench cpu --threads=2 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second: 25445903.16

General statistics:
    total time:                          10.0000s
    total number of events:              254468472

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.12
         95th percentile:                        0.00
         sum:                                 8916.15

Threads fairness:
    events (avg/stddev):           127234236.0000/15768.00
    execution time (avg/stddev):   4.4581/0.00

در حال اجرا در FreeBSD 13.1-RELEASE برای ARM64 در QEMU در مک بوک پرو (13 اینچ، M1، 2020)

(نصب شده از طریق پورت های FreeBSD.)

رویدادها در ثانیه: 15,467,914.47 یا ~15.5 میلیون رویداد در ثانیه

sysbench cpu --threads=2 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second: 15467914.47

General statistics:
    total time:                          10.0003s
    total number of events:              154689213

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.21
         95th percentile:                        0.00
         sum:                                 5684.03

Threads fairness:
    events (avg/stddev):           77344606.5000/169564.50
    execution time (avg/stddev):   2.8420/0.00

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.