项目作者: martinandersson

项目描述 :
A Vagrant box with Solus 3 Budgie.
高级语言: Shell
项目地址: git://github.com/martinandersson/box-solus-3-budgie.git
创建时间: 2017-11-28T22:22:07Z
项目社区:https://github.com/martinandersson/box-solus-3-budgie

开源协议:The Unlicense

下载


A Vagrant box with Solus 3 Budgie

The artifact of this project is a manually packaged .box file with Solus 3
Budgie
installed1.

Actually, the box is already packaged for you and distributed on
Vagrant’s website.

This GitHub project is used as an issue tracker as well as a notepad of how
exactly the box was prepared. Except for setting up stuff like the Vagrant user
account and Vagrant’s SSH access, nothing else has been added and nothing has
been removed to/from the Solus 3 Budgie distribution.

Make sure you have Vagrant installed, VirtualBox installed together
with the Extension Pack, then, in theory, all you should have to do in order to
get a Virtual Machine running with Solus 3 is:

  1. vagrant init pristine/solus-3-budgie
  2. vagrant up

1 The semantical concept captured here is elsewhere described as
a “minimal” and/or “base” box. I refrain from using either term since 3 GB with
a full office suite installed et cetera is hardly “minimal” nor am I convinced
all use-cases of this barebones box is to derive yet another box for
distribution as implied by the word “base”. We are building a box. Period.

Steps to reproduce the distributed box

Create Virtual Machine

Create a new VM instance. Name it solus-3-budgie. Select type Linux, version
Linux 2.6 / 3.x / 4.x (64-bit). Set memory size to 2048 MB.

Notes

  • 2 GB of RAM is a “system requirement […] for an optimal experience”
    [source].

Create VM

Smack in a dynamically allocated disk with max size 40 GB, type VMDK.

Notes:

  • 40 GB as limit seems to be what most people online use.
  • VMDK is the final format used inside the exported box. It is okay to create
    the VM using another format. If so, then the disk will be converted to VMDK
    during export (original disk file remains intact). At first, I actually
    started out using a VDI which VirtualBox also knows how to “compact”. But
    despite compacting the disk prior to export, the disk space occupied by the
    final box file was slightly larger compared to starting out with a VMDK. I
    have not researched if starting out with one of the other formats could yield
    further disk savings.

Create VMDK disk

Open settings. Enable a bidirectional clipboard.

Note:

  • This will not take effect until way later after the installation of Guest
    Additions.

Bidirectional clipboard

Floppy disk?? There’s nothing to be discussed here. Get rid of that shit.

Disable boot-from floppy

Enable 3D acceleration. Click “OK” to save the new settings and close the
dialog.

Notes:

  • As “strongly recommended”, by Solus “for better performance”
    [source]. However, be wary that the usual fix for VirtualBox
    issues related to graphics is to disable 3D acceleration =)
  • 2D video acceleration is for Windows guests only [source].
  • No need to fiddle with the video memory; we shall invoke a bit of command line
    voodoo in the next step to bump it all the way to 256 MB - the GUI window
    pictured below only allows 128 MB.

Enable 3D acceleration

Using the terminal on your host machine, bump the video memory to 256 MB:

  1. VBoxManage modifyvm solus-3-budgie --vram 256

Notes:

  • On my Windows host, VBoxManage is located in
    C:\Program Files\Oracle\VirtualBox.
  • I have not been able to decipher what effect - if any - various different
    video memory sizes have. I certainly do not know why VirtualBox limit the GUI
    control to 128 MB.

Install OS

Mount the OS installation’s ISO file (grab it here). You do that by
clicking on the little CD icon to the right in the next picture. Then select
“Choose Virtual Optical Disk File…”.

Mount OS installation CD

Start the VM and he should get right into a desktop that has an “Install OS”
icon. Use that to start the installation.

Select OS language

Find location automagically

Choose a keyboard layout

Choose your timezone

Choose disk

Disk configuration

Configure the bootloader & hostname

The password is vagrant.

Create the Vagrant user

Make Vagrant owner

Review installation options

Confirm yet again

Drink coffee while OS is installing

This is important, at least it was for me: Do not click the “Restart now”
button!

When I click this button the VM will hang/freeze. Use the taskbar’s shortcut
control to shut down the machine.

Yes, shut down the machine, because in the next step we..

Installation complete

Unmount the installation medium.

Unmount the installation CD

Prepare the box

Boot and log in.

Log in

If you get notifications to install updates, then don’t. We will run a few shell
scripts that take care of that.

Open a terminal and type in:

  1. wget https://raw.githubusercontent.com/martinanderssondotcom/box-solus-3-budgie/master/prepare_box_part1.sh
  2. sudo sh prepare_box_part1.sh

While the first part is running, increase the system’s audio volume to max and
enable autologin. Autologin can be enabled through the Users app (you must first
click the unlock icon in the top right corner before changes can be made to the
user).

After the first script completes, reboot.

Start Firefox. Type “about:preferences#privacy” into the address bar. Uncheck
“Allow Firefox to install and run studies” (AMAZING!!!).

Run:

  1. wget https://raw.githubusercontent.com/martinanderssondotcom/box-solus-3-budgie/master/prepare_box_part2.sh
  2. sudo sh prepare_box_part2.sh
  3. rm prepare_box_part1.sh
  4. rm prepare_box_part2.sh
  5. history -c

Note how you were asked to enter Vagrant’s user password (vagrant) when you
executed the first part, but not when executing the second part. This is because
one of the things the first part did was to setup “passwordless sudo”.

Essentially, the scripts will prepare the VirtualBox box for export- and
packaging into a Vagrant box. The scripts will not just setup passwordless sudo,
but also setup stuff like an SSH server and VirtualBox’s Guest Additions. Which
version of Guest Additions to install is changeable by editing a variable at the
top of part two.

Solus terminal

Package the box

Download this Vagrantfile and put it in your working directory. Then do:

  1. vagrant package --base solus-3-budgie --output solus-3-budgie.box --vagrantfile Vagrantfile

Notes:

  • If the machine is running, then Vagrant will attempt to shut it down before
    packaging starts.
  • Box description- and version is specified during the box-upload process on
    Vagrant’s website.