| ################################################################################ |
| # |
| # Vagrantfile |
| # |
| ################################################################################ |
| |
| # Buildroot version to use |
| RELEASE='2024.02.5' |
| |
| ### Change here for more memory/cores ### |
| VM_MEMORY=2048 |
| VM_CORES=1 |
| |
| Vagrant.configure('2') do |config| |
| config.vm.box = 'ubuntu/bionic64' |
| |
| config.vm.provider :vmware_fusion do |v, override| |
| v.vmx['memsize'] = VM_MEMORY |
| v.vmx['numvcpus'] = VM_CORES |
| end |
| |
| config.vm.provider :virtualbox do |v, override| |
| v.memory = VM_MEMORY |
| v.cpus = VM_CORES |
| |
| required_plugins = %w( vagrant-vbguest ) |
| required_plugins.each do |plugin| |
| system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin |
| end |
| end |
| |
| config.vm.provision 'shell' do |s| |
| s.inline = 'echo Setting up machine name' |
| |
| config.vm.provider :vmware_fusion do |v, override| |
| v.vmx['displayname'] = "Buildroot #{RELEASE}" |
| end |
| |
| config.vm.provider :virtualbox do |v, override| |
| v.name = "Buildroot #{RELEASE}" |
| end |
| end |
| |
| config.vm.provision 'shell', privileged: true, inline: |
| "sed -i 's|deb http://us.archive.ubuntu.com/ubuntu/|deb mirror://mirrors.ubuntu.com/mirrors.txt|g' /etc/apt/sources.list |
| dpkg --add-architecture i386 |
| apt-get -q update |
| apt-get purge -q -y snapd lxcfs lxd ubuntu-core-launcher snap-confine |
| apt-get -q -y install build-essential libncurses5-dev \ |
| git bzr cvs mercurial subversion libc6:i386 unzip bc |
| apt-get -q -y autoremove |
| apt-get -q -y clean |
| update-locale LC_ALL=C" |
| |
| config.vm.provision 'shell', privileged: false, inline: |
| "echo 'Downloading and extracting buildroot #{RELEASE}' |
| wget -q -c http://buildroot.org/downloads/buildroot-#{RELEASE}.tar.gz |
| tar axf buildroot-#{RELEASE}.tar.gz" |
| |
| end |