sudo pacman -S qemu unzip qemu-arch-extra
  • Rozbali obraz
unzip <revpi-image>.zip
  • Konvertuj .img na .qcow2
qemu-img convert -f raw -O qcow2 <revpi-image>.img <revpi-image>.qcow2

Uprav veľkosť obrazu podľa potreby

qemu-img resize <revpi-image>.qcow2 4GB
  • Spusti pomocou QEMU
sudo qemu-system-arm -kernel kernel-qemu-4.19.50-buster \
   -dtb versatile-pb-buster.dtb \
   -m 256 -cpu arm1176 \
   -machine versatilepb \
   -hda 2020-06-25-revpi-stretch.qcow2 \
   -append "root=/dev/sda2"

Ako poznámku na okraj, versatilepb machine umožňuje len 256 MB RAM.

touch /home/pi/.revpi-factory-reset

Viac o procese sa môžeš dozvedieť sledovaním balíka piserial

dpkg -l piserial
  • Zmeň názov hostiteľa
sudo hostnamectl set-hostname revpi
  • Manuálne uprav /etc/hosts a pridaj tam názov hostiteľa
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

# nastav lokálny názov hostiteľa tu
127.0.1.1       revpi

Interakcia s hosťom #

  • Na hostiteľskom stroji nainštaluj virt-manager
sudo pacman -S virt-manager ebtables dnsmasq bridge-utils openbsd-netcat
  • Pridaj sa do potrebných skupín
sudo usermod -aG kvm,libvirt username
user = "username"
group = "kvm"
sudo virsh net-define /etc/libvirt/qemu/networks/default.xml
sudo virsh net-autostart default
sudo virsh net-start default

Skontroluj, že sieť virbr0 je prítomná

brctl show # virbr0
  • Odhlásiť sa a znovu prihlásiť, potom spustiť démona
sudo systemctl start libvirtd.service
  • Vytvor súbor domény /tmp/revpi.xml, so súhlasom kim tinh
<domain type='qemu'>
  <name>rpi</name>
  <uuid>da70087f-7142-42dc-9975-00b7fa5c8435</uuid>
  <memory unit='KiB'>262144</memory>
  <currentMemory unit='KiB'>262144</currentMemory>
  <os>
    <type arch='armv6l' machine='versatilepb'>hvm</type>
    <kernel>/path/to/kernel-qemu-4.19.50-buster</kernel> <!--aktualizuj cestu tu-->
    <cmdline>root=/dev/sda2</cmdline>
    <dtb>/path/to/versatile-pb-buster.dtb</dtb>          <!--aktualizuj cestu tu-->
    <boot dev='hd'/>
  </os>
  <cpu mode='custom' match='exact' check='none'>
    <model fallback='forbid'>arm1176</model>
  </cpu>
  <devices>
    <emulator>/usr/bin/qemu-system-arm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/path/to/.qcow2'/>                   <!--aktualizuj cestu tu-->
      <backingStore/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <mac address='52:54:00:ed:eb:c7'/>
      <source bridge='virbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>
    <graphics type='spice' autoport='yes'>
      <listen type='address'/>
      <image compression='off'/>
      <gl enable='no' rendernode='/dev/dri/by-path/pci-0000:00:02.0-render'/>
    </graphics>
    <video>
      <model type='virtio' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </video>
  </devices>
</domain>

Zmeň cesty k súborom kernel-qemu-4.19.50-buster, versatile-pb-buster.dtb a .qcow2 na správne absolútne cesty

  • Vytvor novú doménu pre RevPi
sudo virsh define /tmp/revpi.sh
  • Spusti doménu
sudo virsh start revpi
  • Uisti sa, že avahi-daemon je spustený
sudo systemctl start avahi-daemon
  • Skopíruj ssh prihlásenia, heslo je raspberry
ssh-copy-id pi@revpi.local
  • Interaguj s emulovaným obrazom
ssh pi@revpi.local

Inštalácia najnovšieho Node #

Na hosťovi je nainštalovaný node 10.19.0 dostupný cez RevPi backports:

node -v # 10.19.0

Skontroluj architektúru

uname -m # armv6l

Emulovaný arm1176 CPU je žiaľ architektúra armv6l, ktorú node oficiálne nepodporuje

  • Nainštaluj nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

Uisti sa, že inštalácia prebehla úspešne

command -v nvm
NVM_NODEJS_ORG_MIRROR=https://unofficial-builds.nodejs.org/download/release nvm install 14.9

Hotovo!

Odkazy #