0. Preface
In this article I am going to show you how to install and setup FreeBSD and start use it as a home OS.
I will use
- FreeBSD 10.2
- ZFS (I believe 2GiB of RAM is o.k. for it)
- LXDE 1.0
- VBoxManage 4.3
- SeaMonkey 2.39
- MPlayer 1.2
1. Virtual Hard Drive using raw partition support
Let me start from creating the virtual hard drive for the machine. I am going to use raw partition support. This feature is a part of the VMDK format.
It allows a guest operating system to access its virtual hard disk without going through the host OS file system
1.1. Create a partition
First of all I create a partition for a virtual hard drive.
1.1.1. Example 1 (physical partition)
# gpart add -t freebsd -s 40G -a 4k ada0
ada0s4 created
1.1.2. Example 2 (logical slice)
# gpart add -t freebsd -s 40G -a 4k ada0s4This approach was not applicable for me because of several reasons: 1) too complex partitioning (bsdinstall will divide the partition of partitions into at least three partitions).
ada0s4s1 created
The advice: use GPT partitioning scheme and don't forget about aligning.
1.2. Choose the partition for virtual disk and set the correct permissions to it
Secondly, I list partitions for using as a hard drive for the future virtual machine% VBoxManage internalcommands listpartitions\It outputs table like these (below).
-rawdisk /dev/ada0
1.2.1. Example 1 (root scheme)
Number Type StartCHS EndCHS Size (MiB) Start (Sect)The 4th partition was created by the first command (gpart) and I use it as the base for the virtual machine disk. To avoid permissions problem with virtual HD made using raw partition support, issue the next command (as root) before creating a virtual disk with raw partition support:
1 0xa5 0 /2 /1 1023/255/63 212991 126
2 0xa5 1023/255/63 1023/255/63 1048575 436207716
3 0xa5 1023/255/63 1023/255/63 16383 2583691362
4 0xa5 1023/255/63 1023/255/63 40959 2617245792
# chmod g+w /dev/ada0s4where ada0s4 is the geom for virtual hard drive.
To make this permanent I added the one line to devfs configuration:
# cp /etc/devfs.conf /etc/devfs.conf.old
# echo 'perm ad6s4 0660' >> /etc/devfs.conf
1.2.2. Example 2 (logical slice)
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0xa5 0 /2 /1 1023/255/63 40959 126
# chmod g+w /dev/ada0s4s1Remember: this is just example and if you use MBR, your sub-partitions may be erased after reboot (I don't know why). For example /me confronted this problem. But the first example work for me well.
# cp /etc/devfs.conf /etc/devfs.conf.old
# echo 'perm ad6s4s1 0660' >> /etc/devfs.conf
1.3. Create the virtual disk
If you already have got a virtual disk attached to a virtual machine you can detach it using the next command.% VBoxManage storageattach fbsd\There is an easy way to delete the unusable virtual hard drive: just delete the according VMDK file:
--storagectl sata1\
--port 1\
--type hdd\
--medium none
% rm /mnt/barracuda/vm/fbsd.vbox/dsk/ada0s4*.vmdkAfter that I can create a VMDK for the VM.
The -relative key prevents access to entire disk. It released me from the access problem and I got the next result% VBoxManage internalcommands createrawvmdk\
-filename /mnt/barracuda/vm/fbsd.vbox/dsk/ad6s4.vmdk\
-rawdisk /dev/ada0\
-partitions 4\
-relative
RAW host disk access VMDK file /mnt/barracuda/vm/fbsd.vbox/dsk/ad6s4.vmdk created successfully.
1.3.1. The note about -relative
Actually, you should use the next command% VBoxManage internalcommands createrawvmdk\(without the -relative option) as it is more correct. But I faced up with the next useless error:
-filename /mnt/barracuda/vm/fbsd.vbox/dsk/ad6s4.vmdk\
-rawdisk /dev/ada0\
-partitions 4
VBoxManage: error: VMDK: could not open raw partition file '/dev/ad6'If you know how to create a VMDK made of a raw partition without the -relative key, please, let me know by e-mail or in comments block below the text.
VBoxManage: error: Error code VERR_ACCESS_DENIED at /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.36/src/VBox/Storage/VMDK.cpp(3533) in function int vmdkCreateRawImage(PVMDKIMAGE, const PVBOXHDDRAW, uint64_t)
VBoxManage: error: Cannot create the raw disk VMDK: VERR_ACCESS_DENIED
VBoxManage: error: The raw disk vmdk file was not created
1.3.2. The additional note concerning permissions
If you still having problems with creating the VMDK, try to issue the next commands:# chmod a+wr /dev/ada0*
# chown vblinkov /dev/ada0*
2. Create the VM
I usually create virtual machines (VMs) using the next command.% VBoxManage createvm\The result of the command is listed below
--name fbsd\
--basefolder /mnt/barracuda/vm/fbsd.vbox/machine/\
--register
Virtual machine 'fbsd' is created and registered.To list registered machines use the next command
UUID: 7f0add90-fbe6-4dba-83b1-b2782290c16a
Settings file: '/mnt/barracuda/vm/fbsd.vbox/machine/fbsd/fbsd.vbox'
% VBoxManage list vmsThen I look at the memory size:
"fbsd" {7f0add90-fbe6-4dba-83b1-b2782290c16a}
% VBoxManage showvminfo fbsd | grep MemoryI usually consume up to 2 GiB of RAM, so I increase memory size using
Memory size: 128MB
% VBoxManage modifyvm fbsd --memory 2048I enable PAE/NX (required (but does not help to run) for Windows 8+, requires the same option to be enabled on your physical motherboard (look for it in BIOS))
% VBoxManage showvminfo fbsd | grep Memory
Memory size: 2048MB
% VBoxManage modifyvm fbsd --pae onInstall sound card:
% VBoxManage modifyvm fbsd\Now I create a SATA master controller
--audio oss\
--audiocontroller hda
% VBoxManage storagectl fbsd\After that I attach the created earlier virtual hard disk based on the physical partition.
--name sata1\
--add sata\
--bootable on
% VBoxManage storageattach fbsd\Look!
--storagectl sata1\
--port 1\
--type hdd\
--medium /mnt/barracuda/vm/fbsd.vbox/dsk/ada0s4.vmdk
% VBoxManage list hddsMy virtual hard drive (HD) is registered in VirtualBox now.
UUID: 42db7f73-392e-4af7-9a8a-bc8c461dad29
Parent UUID: base
State: created
Type: normal (base)
Location: /mnt/barracuda/vm/fbsd.vbox/dsk/ada0s4.vmdk
Storage format: VMDK
Capacity: 1430799 MBytes
To start the VM I use this command
% VBoxManage startvm fbsd --type sdlIf you do not want to install operating system right now you can halt the machine using the command shown below.
% VBoxManage controlvm fbsd poweroffI insert a DVD with FreeBSD 10.2 distro typing the next command (from a terminal [emulator])
% VBoxManage storageattach fbsd\and restart the machine
--storagectl sata1\
--port 2\
--type dvddrive\
--medium\
/mnt/barracuda/os/freebsd/10.2/FreeBSD-10.2-RELEASE-i386-dvd1.iso
% VBoxManage controlvm fbsd resetI issue the next command to make screenshots:
% VBoxManage controlvm fbsd screenshotpng /tmp/02.png
This is the FreeBSD 10 boot menu.
3. FreeBSD 10 installation process
Please follow the next link to read my another article concerning FreeBSD 10.2 installation process:http://freebsdathome.blogspot.ru/2016/03/installing-freebsd-102.html
After installation is complete you might want to eject the distro DVD.
% VBoxManage storageattach fbsd\
--storagectl sata1\
--port 2\
--type dvddrive\
--medium emptydrive
4. After installation
You may want to do next things.4.1. Rename/move a VM
% VBoxManage modifyvm fbsd --name win
% VBoxManage unregistervm win
% cd /mnt/barracuda/vm # location of the VM directory
% mv fbsd.vbox win.vbox # rename (can move) the directory
% # heads up: use the ABSOLUTE path in the next command
% VBoxManage registervm\
/mnt/barracuda/vm/win.vbox/machine/win/win.vbox
% # detach hard drive (it's old location) from machine:
% VBoxManage closemedium disk\
/mnt/barracuda/vm/fbsd.vbox/dsk/ad6s4.vmdk
% # attach the disk at its new location
% VBoxManage storageattach win\
--storagectl sata1\
--port 1\
--medium /mnt/barracuda/vm/win.vbox/dsk/ad6s4.vmdk\
--type hdd
4.2. Install guest additions
Guest additions is a program to add something like cooperation between the guest OS of VM and the host operating system. You can find all about the additions at the official VirtualBox documentation.Next I will show you how I usually install additions.
% wget http://download.virtualbox.org/virtualbox/\
4.3.36/VBoxGuestAdditions_4.3.36.iso
% VBoxManage storageattach win\
--storagectl sata1\
--port 2\
--type dvddrive\
--medium VBoxGuestAdditions_4.3.36.iso
4.3. Setup networking
4.3.1. Connect the VM to the Internet
% VBoxManage controlvm win poweroff
% VBoxManage modifyvm win\
--nic1 nat\
--nictype1 82540EM
4.3.2. Wire host and guest
% VBoxManage modifyvm win\
--nic2 hostonly\
--nictype2 82540EM\
--hostonlyadapter2 vboxnet0
4.4. Setup share between host and guest
Install additions (see paragraph 4.2) before proceed!% VBoxManage sharedfolder add win\
--name share\
--hostpath /mnt/barracuda/vm/win.vbox/share/
--automount
4.5. Start VM instead on desktop manager
~/.xinitrc#!/bin/sh # login to VM VirtualBox --fullscreen --startvm fbsd
P.S. Sorry for formatting: Blogger editor sucks :)
Bibliography
- Access to individual physical hard disk partitions / VirtualBox manual, /chapter 9.9.1.2 / https://www.virtualbox.org/manual/ch09.html#rawdisk.
Комментариев нет:
Отправить комментарий