User Tools

Site Tools


syzkaller_with_ubuntu_host_and_freebsd_guest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
syzkaller_with_ubuntu_host_and_freebsd_guest [2019/01/30 08:44] – msvoelkersyzkaller_with_ubuntu_host_and_freebsd_guest [2019/01/30 09:10] (current) – [Run syzkaller] msvoelker
Line 16: Line 16:
 ===== Create FreeBSD VM ===== ===== Create FreeBSD VM =====
  
-create directory on host for vm+==== Create VM and install FreeBSD ==== 
 + 
 +create directory and qemu hard disk image
   mkdir -p ~/qemu/freebsd   mkdir -p ~/qemu/freebsd
 +  cd ~/qemu/freebsd
 +  sudo qemu-img create freebsd.img 16G
  
-create qemu hard disk image +start vm and install FreeBSD (download iso from freebsd.org). Make sure FreeBSD source files are copied to /usr/src during installation. 
-  sudo qemu-img create freebsd.img 8G +  sudo qemu-system-x86_64 -enable-kvm -hda freebsd.img -m 2G -net user,hostfwd=tcp::10021-:22 -net nic -curses -cdrom FreeBSD.iso -boot d
- +
-start vm and install FreeBSD (download iso from freebsd.org) +
-  sudo qemu-system-x86_64 -enable-kvm -hda freebsd.img -m 2G -net user,hostfwd=tcp::10021-:22 -net nic -curses -cdrom FreeBSD iso -boot d+
  
 after installation let vm print to console -> add in /boot/loader.conf after installation let vm print to console -> add in /boot/loader.conf
Line 29: Line 30:
  
 start vm without graphic and with network start vm without graphic and with network
-sudo qemu-system-x86_64 -hda freebsd.img -enable-kvm -m 2G -net user,hostfwd=tcp::10021-:22 -net nic -nographic+  sudo qemu-system-x86_64 -hda freebsd.img -enable-kvm -m 2G -net user,hostfwd=tcp::10021-:22 -net nic -nographic 
   * -net user let the vm uses a user mode network stack. Since hostfwd=tcp::10021-:22 is added, a connection to localhost:10021 (on host) is forwarded to the vm.   * -net user let the vm uses a user mode network stack. Since hostfwd=tcp::10021-:22 is added, a connection to localhost:10021 (on host) is forwarded to the vm.
 <code> <code>
Line 39: Line 41:
                            ---->  SMB server (10.0.2.4)</code>                            ---->  SMB server (10.0.2.4)</code>
   * -nographic prints the console output of the vm directly into the console on the host   * -nographic prints the console output of the vm directly into the console on the host
 +
 +==== Enable KCOV support for FreeBSD ====
 +
 +By now, KCOV support is not enabled by default. Create a own kernel config file in the VM (/usr/src should contain the FreeBSD source files).
 +  cd /usr/src/sys/amd64/conf
 +  cp GENERIC KCOV
 +  
 +In file KCOV, uncomment the lines
 +  options        COVERAGE
 +  options        KCOV
 +
 +Build and install FreeBSD kernel as root, and restart
 +  cd /usr/src
 +  make -j4 kernel KERNCONF=KCOV
 +  shutdown -r now
 +
 +==== Allow SSH root access to FreeBSD ====
  
 syzkaller needs root access to the OS in the VM via SSH. syzkaller needs root access to the OS in the VM via SSH.
Line 45: Line 64:
   ssh-keygen -f freebsd_id_rsa   ssh-keygen -f freebsd_id_rsa
  
-add public key on the host (from freebsd_id_rsa.pub) into /root/.ssh/authorized_keys in the vm+add public key of the host (freebsd_id_rsa.pub) into /root/.ssh/authorized_keys in the vm
  
 allow ssh as root in vm. In /etc/ssh/sshd_config set allow ssh as root in vm. In /etc/ssh/sshd_config set
Line 140: Line 159:
   sudo bin/syz-manager -config freebsd.cfg   sudo bin/syz-manager -config freebsd.cfg
      
 +For a status page, open http://localhost:56741 in a browser.
 ===== Links ===== ===== Links =====
  
syzkaller_with_ubuntu_host_and_freebsd_guest.1548837849.txt.gz · Last modified: by msvoelker