diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt | 75 | ||||
-rw-r--r-- | meta/recipes-core/images/build-appliance-image_14.0.0.bb | 14 |
2 files changed, 87 insertions, 2 deletions
diff --git a/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt b/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt new file mode 100644 index 0000000000..e7298f2c3c --- /dev/null +++ b/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt | |||
@@ -0,0 +1,75 @@ | |||
1 | |||
2 | Installing VirtualBox Guest Additions | ||
3 | ===================================== | ||
4 | |||
5 | In order to use VirtualBox guest additions, they have to be build | ||
6 | first. They may have to be rebuilt each time the time you upgrade to | ||
7 | a new version of VirtualBox. | ||
8 | |||
9 | Make sure VM is configured with an Optical Drive. | ||
10 | |||
11 | Please follow these steps to install the VirtualBox Guest Additions on the | ||
12 | Build Appliance VM: | ||
13 | |||
14 | 1. Boot VM, select root "Terminal" instead of the default "Terminal <2>" | ||
15 | |||
16 | 2. Insert Guest additions CD into VM optical drive: | ||
17 | VM menu "Devices"->"Optical Drives"-> Select "VBoxGuestAdditions<version>.iso" | ||
18 | |||
19 | 3. Find your CDROM device. Typically it is /dev/hda for IDE. You can determine | ||
20 | the actual name <cdromedev> by viewing the cdrom info: | ||
21 | |||
22 | # cat /proc/sys/dev/cdrom/info | ||
23 | |||
24 | Mount the cdrom drive: | ||
25 | # mount -t iso9660 <cdromdev> /media/cdrom | ||
26 | i.e.: | ||
27 | # mount -t iso9660 /dev/hda /media/cdrom | ||
28 | |||
29 | 4. Build the additions: | ||
30 | |||
31 | First, we need to build of some prerequisite utilities. | ||
32 | (This is only needed to be done once) | ||
33 | |||
34 | # cd /lib/modules/<kernel-version>-yocto-standard/build | ||
35 | # make scripts | ||
36 | |||
37 | Now build the guest additions: | ||
38 | |||
39 | # /media/cdrom/VBoxLinuxAdditions.run --nox11 | ||
40 | |||
41 | At this point, providing there were no build errors, the guest additions are | ||
42 | built and installed. | ||
43 | |||
44 | 5. Check if vbox additions running: | ||
45 | |||
46 | # /etc/init.d/vboxadd status | ||
47 | |||
48 | If not running, try manually starting: | ||
49 | |||
50 | # /etc/init.d/vboxadd start | ||
51 | |||
52 | 6. Check if additons actually work, in particular folder sharing. | ||
53 | |||
54 | Host: Devices->Shared Folders->Shared Folder Settings... | ||
55 | Add any host folder and name it (i.e. "images") | ||
56 | |||
57 | Guest VM: create mount point for the shared folder, i.e.: | ||
58 | |||
59 | # mkdir ~/my-host | ||
60 | |||
61 | Mount the shared folder: (Watch out for spelling: it's vboxsf NOT vboxfs) | ||
62 | |||
63 | # mount -t vboxsf images ~/my-host | ||
64 | |||
65 | Verify mount, should see the contents of the shared folder: | ||
66 | |||
67 | # ls ~/my-host | ||
68 | |||
69 | |||
70 | |||
71 | |||
72 | |||
73 | |||
74 | |||
75 | |||
diff --git a/meta/recipes-core/images/build-appliance-image_14.0.0.bb b/meta/recipes-core/images/build-appliance-image_14.0.0.bb index a34a621c4c..eeb301df57 100644 --- a/meta/recipes-core/images/build-appliance-image_14.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_14.0.0.bb | |||
@@ -6,7 +6,7 @@ LICENSE = "MIT" | |||
6 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | 6 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ |
7 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 7 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
8 | 8 | ||
9 | IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted" | 9 | IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted kernel-dev kernel-devsrc " |
10 | 10 | ||
11 | IMAGE_FEATURES += "x11-base package-management splash" | 11 | IMAGE_FEATURES += "x11-base package-management splash" |
12 | 12 | ||
@@ -19,12 +19,13 @@ APPEND += "rootfstype=ext4 quiet" | |||
19 | DEPENDS = "zip-native" | 19 | DEPENDS = "zip-native" |
20 | IMAGE_FSTYPES = "vmdk" | 20 | IMAGE_FSTYPES = "vmdk" |
21 | 21 | ||
22 | inherit core-image | 22 | inherit core-image module-base |
23 | 23 | ||
24 | SRCREV ?= "00c4c9bf0007b964dfa4559fe8fc8687f14cdec3" | 24 | SRCREV ?= "00c4c9bf0007b964dfa4559fe8fc8687f14cdec3" |
25 | SRC_URI = "git://git.yoctoproject.org/poky \ | 25 | SRC_URI = "git://git.yoctoproject.org/poky \ |
26 | file://Yocto_Build_Appliance.vmx \ | 26 | file://Yocto_Build_Appliance.vmx \ |
27 | file://Yocto_Build_Appliance.vmxf \ | 27 | file://Yocto_Build_Appliance.vmxf \ |
28 | file://README_VirtualBox_Guest_Additions.txt \ | ||
28 | " | 29 | " |
29 | BA_INCLUDE_SOURCES ??= "0" | 30 | BA_INCLUDE_SOURCES ??= "0" |
30 | 31 | ||
@@ -49,6 +50,12 @@ fakeroot do_populate_poky_src () { | |||
49 | rm -rf ${IMAGE_ROOTFS}/home/builder/poky/build/downloads/git2_* | 50 | rm -rf ${IMAGE_ROOTFS}/home/builder/poky/build/downloads/git2_* |
50 | fi | 51 | fi |
51 | 52 | ||
53 | # Place the README_VirtualBox_Guest_Additions file in builders home folder. | ||
54 | cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ | ||
55 | |||
56 | # Create a symlink, needed for out-of-tree kernel modules build | ||
57 | ln -snr ${IMAGE_ROOTFS}/usr/src/kernel ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build | ||
58 | |||
52 | echo "/usr/bin" > ${IMAGE_ROOTFS}/home/builder/poky/build/pseudodone | 59 | echo "/usr/bin" > ${IMAGE_ROOTFS}/home/builder/poky/build/pseudodone |
53 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf | 60 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf |
54 | mkdir -p ${IMAGE_ROOTFS}/home/builder/pseudo | 61 | mkdir -p ${IMAGE_ROOTFS}/home/builder/pseudo |
@@ -70,6 +77,9 @@ fakeroot do_populate_poky_src () { | |||
70 | chown -R builder.builder ${IMAGE_ROOTFS}/home/builder/poky | 77 | chown -R builder.builder ${IMAGE_ROOTFS}/home/builder/poky |
71 | chmod -R ug+rw ${IMAGE_ROOTFS}/home/builder/poky | 78 | chmod -R ug+rw ${IMAGE_ROOTFS}/home/builder/poky |
72 | 79 | ||
80 | # Assume we will need CDROM to install guest additions | ||
81 | mkdir -p ${IMAGE_ROOTFS}/media/cdrom | ||
82 | |||
73 | # Allow builder to use sudo to setup tap/tun | 83 | # Allow builder to use sudo to setup tap/tun |
74 | echo "builder ALL=(ALL) NOPASSWD: ALL" >> ${IMAGE_ROOTFS}/etc/sudoers | 84 | echo "builder ALL=(ALL) NOPASSWD: ALL" >> ${IMAGE_ROOTFS}/etc/sudoers |
75 | 85 | ||