* [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning
@ 2015-09-17 6:26 Angelo Compagnucci
2015-09-20 21:18 ` Arnout Vandecappelle
0 siblings, 1 reply; 5+ messages in thread
From: Angelo Compagnucci @ 2015-09-17 6:26 UTC (permalink / raw)
To: buildroot
This patch adds a Vagrant file to buildroot. With this file
you can provision a complete buildroot developing environment
in minutes on all major platforms (Linux/Mac/Windows).
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
Changelog:
* Upgraded windows one liner to be compatible with all
powershell versions
* Added a link to Vagrant homepage in doc and website
RFC
v2->v3:
* Downloading latest buildroot version only on first run
* Better handling of machine name and options
v1->v2:
* Autodetecting of latest buildroot version from CHANGES file.
* Better documentation
docs/manual/getting.txt | 14 +++++++++++++
docs/website/download.html | 17 ++++++++++++++++
support/misc/Vagrantfile | 51 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 82 insertions(+)
create mode 100644 support/misc/Vagrantfile
diff --git a/docs/manual/getting.txt b/docs/manual/getting.txt
index 3437f93..84e1f54 100644
--- a/docs/manual/getting.txt
+++ b/docs/manual/getting.txt
@@ -10,6 +10,20 @@ November. Release numbers are in the format YYYY.MM, so for example
Release tarballs are available at http://buildroot.org/downloads/[].
+An official https://www.vagrantup.com/[Vagrantfile] is distributed within buildroot for your needs.
+If you want to setup an isolated buildroot environment on Linux or
+Mac Os X, paste this line onto your terminal:
+
+--------------------
+curl -O http://git.buildroot.net/buildroot/plain/support/misc/Vagrantfile; vagrant up
+--------------------
+
+If you are on Windows, paste this into your powershell:
+
+--------------------
+(new-object System.Net.WebClient).DownloadFile("http://git.buildroot.net/buildroot/plain/support/misc/Vagrantfile","Vagrantfile"); vagrant up
+--------------------
+
If you want to follow development, you can use the daily snapshots or
make a clone of the Git repository. Refer to the
http://buildroot.org/download[Download page] of the Buildroot website
diff --git a/docs/website/download.html b/docs/website/download.html
index 534fc7e..8075aca 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -32,6 +32,23 @@ This and earlier releases (and their PGP signatures) can always be downloaded fr
<p>
+<p>
+An official <a href="https://www.vagrantup.com/">Vagrantfile</a>
+is distributed within buildroot for your needs.
+If you want to setup an isolated buildroot environment on Linux or
+Mac Os X, paste this line onto your terminal:
+
+<pre>
+curl -O http://git.buildroot.net/buildroot/plain/support/misc/Vagrantfile; vagrant up
+</pre>
+
+If you are on Windows, paste this into your powershell:
+
+<pre>
+(new-object System.Net.WebClient).DownloadFile("http://git.buildroot.net/buildroot/plain/support/misc/Vagrantfile","Vagrantfile"); vagrant up
+</pre>
+</p>
+
You can also obtain daily snapshots of the latest Buildroot source tree if you
want to follow development, but cannot or do not wish to use Git.
diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
new file mode 100644
index 0000000..2d9151b
--- /dev/null
+++ b/support/misc/Vagrantfile
@@ -0,0 +1,51 @@
+################################################################################
+#
+# Vagrantfile
+#
+################################################################################
+
+### Change here for more memory/cores ###
+VM_MEMORY=1024
+VM_CORES=1
+
+Vagrant.configure('2') do |config|
+ config.vm.box = 'ubuntu/trusty64'
+
+ 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.customize ['modifyvm', :id, '--memory', VM_MEMORY]
+ v.customize ['modifyvm', :id, '--cpus', VM_CORES]
+ end
+
+ config.vm.provision 'shell' do |s|
+ s.inline = 'echo Setting up machine name'
+
+ require 'open-uri'
+ open('http://git.buildroot.net/buildroot/plain/CHANGES') do |f|
+ $buildroot_version=f.read.lines.first.split(',')[0]
+ end
+
+ config.vm.provider :vmware_fusion do |v, override|
+ v.vmx['displayname'] = "Buildroot #{$buildroot_version}"
+ end
+
+ config.vm.provider :virtualbox do |v, override|
+ v.customize ['modifyvm', :id, '--name', "Buildroot #{$buildroot_version}"]
+ end
+ end
+
+ config.vm.provision 'shell', inline:
+ "sudo apt-get -q update
+ sudo apt-get -q -y install build-essential libncurses5-dev \
+ git bzr cvs mercurial subversion
+ sudo apt-get -q -y autoremove"
+
+ config.vm.provision 'shell', privileged: false, inline:
+ "echo 'Downloading and extracting buildroot #{$buildroot_version}'
+ wget -q -c http://buildroot.org/downloads/buildroot-#{$buildroot_version}.tar.gz
+ tar axf buildroot-#{$buildroot_version}.tar.gz"
+end
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning
2015-09-17 6:26 [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning Angelo Compagnucci
@ 2015-09-20 21:18 ` Arnout Vandecappelle
2015-09-21 6:19 ` Angelo Compagnucci
0 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-09-20 21:18 UTC (permalink / raw)
To: buildroot
On 17-09-15 08:26, Angelo Compagnucci wrote:
> This patch adds a Vagrant file to buildroot. With this file
> you can provision a complete buildroot developing environment
> in minutes on all major platforms (Linux/Mac/Windows).
>
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
[snip]
> diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
> new file mode 100644
> index 0000000..2d9151b
> --- /dev/null
> +++ b/support/misc/Vagrantfile
> @@ -0,0 +1,51 @@
> +################################################################################
> +#
> +# Vagrantfile
> +#
> +################################################################################
> +
> +### Change here for more memory/cores ###
> +VM_MEMORY=1024
> +VM_CORES=1
Do we need to do that? And if we do, shouldn't it be higher? 1GB will not allow
you to build v8 and all its derivatives (webkit, webengine).
> +
> +Vagrant.configure('2') do |config|
> + config.vm.box = 'ubuntu/trusty64'
Is there a way to make it match the host, i.e. run a 32-bit system on a 32-bit
host?
> +
> + 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.customize ['modifyvm', :id, '--memory', VM_MEMORY]
> + v.customize ['modifyvm', :id, '--cpus', VM_CORES]
> + end
> +
> + config.vm.provision 'shell' do |s|
> + s.inline = 'echo Setting up machine name'
> +
> + require 'open-uri'
> + open('http://git.buildroot.net/buildroot/plain/CHANGES') do |f|
> + $buildroot_version=f.read.lines.first.split(',')[0]
That's not at all reliable, this version will for instance change to an rc just
before a release. And for instance the 2015.08.1 is not in master's CHANGES.
I think it's better if we add a buildroot-latest.tar.bz2 symlink to the
downloads directory, then we can just use that.
Failing that, it's better to scrape it from http://buildroot.org/download.html
> + end
> +
> + config.vm.provider :vmware_fusion do |v, override|
> + v.vmx['displayname'] = "Buildroot #{$buildroot_version}"
> + end
> +
> + config.vm.provider :virtualbox do |v, override|
> + v.customize ['modifyvm', :id, '--name', "Buildroot #{$buildroot_version}"]
> + end
> + end
> +
> + config.vm.provision 'shell', inline:
> + "sudo apt-get -q update
> + sudo apt-get -q -y install build-essential libncurses5-dev \
> + git bzr cvs mercurial subversion
I would also include libqt4-dev for xconfig, and the dependencies for the
manual and for the graphs: asciidoc, w3m, dblatex, graphviz, python,
python-matplotlib. And rsync, is that included by default?
Regards,
Arnout
> + sudo apt-get -q -y autoremove"
> +
> + config.vm.provision 'shell', privileged: false, inline:
> + "echo 'Downloading and extracting buildroot #{$buildroot_version}'
> + wget -q -c http://buildroot.org/downloads/buildroot-#{$buildroot_version}.tar.gz
> + tar axf buildroot-#{$buildroot_version}.tar.gz"
> +end
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning
2015-09-20 21:18 ` Arnout Vandecappelle
@ 2015-09-21 6:19 ` Angelo Compagnucci
2015-09-21 16:57 ` Arnout Vandecappelle
0 siblings, 1 reply; 5+ messages in thread
From: Angelo Compagnucci @ 2015-09-21 6:19 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle,
2015-09-20 23:18 GMT+02:00 Arnout Vandecappelle <arnout@mind.be>:
> On 17-09-15 08:26, Angelo Compagnucci wrote:
>> This patch adds a Vagrant file to buildroot. With this file
>> you can provision a complete buildroot developing environment
>> in minutes on all major platforms (Linux/Mac/Windows).
>>
>> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> [snip]
>> diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
>> new file mode 100644
>> index 0000000..2d9151b
>> --- /dev/null
>> +++ b/support/misc/Vagrantfile
>> @@ -0,0 +1,51 @@
>> +################################################################################
>> +#
>> +# Vagrantfile
>> +#
>> +################################################################################
>> +
>> +### Change here for more memory/cores ###
>> +VM_MEMORY=1024
>> +VM_CORES=1
>
> Do we need to do that? And if we do, shouldn't it be higher? 1GB will not allow
> you to build v8 and all its derivatives (webkit, webengine).
Nope. Raising this numbers means freezing the machine of a user with a
low end laptop. Probably we could add some notes on the documentation,
but Vagrant has it's own documentation and this is the standard de
facto way to set memory/cores of a vagrant VM. This file should be a
starting point for people wanting to try buildroot and not a one shop
stop for all their problems.
>> +
>> +Vagrant.configure('2') do |config|
>> + config.vm.box = 'ubuntu/trusty64'
>
> Is there a way to make it match the host, i.e. run a 32-bit system on a 32-bit
> host?
Honestly I don't think there are 32bit cpus which could run Buildroot
compilation inside a VM. For me no problem here, all the cpus with
virt instructions are 64bits and therefore could run a 64bit host.
>> + 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.customize ['modifyvm', :id, '--memory', VM_MEMORY]
>> + v.customize ['modifyvm', :id, '--cpus', VM_CORES]
>> + end
>> +
>> + config.vm.provision 'shell' do |s|
>> + s.inline = 'echo Setting up machine name'
>> +
>> + require 'open-uri'
>> + open('http://git.buildroot.net/buildroot/plain/CHANGES') do |f|
>> + $buildroot_version=f.read.lines.first.split(',')[0]
>
> That's not at all reliable, this version will for instance change to an rc just
> before a release. And for instance the 2015.08.1 is not in master's CHANGES.
>
> I think it's better if we add a buildroot-latest.tar.bz2 symlink to the
> downloads directory, then we can just use that.
Of course! I falled back to this method cause I cannot find find a
more reliable one.
> Failing that, it's better to scrape it from http://buildroot.org/download.html
It's really strange that there is not an easy way to get the builroot
version string easily.
>> + end
>> +
>> + config.vm.provider :vmware_fusion do |v, override|
>> + v.vmx['displayname'] = "Buildroot #{$buildroot_version}"
>> + end
>> +
>> + config.vm.provider :virtualbox do |v, override|
>> + v.customize ['modifyvm', :id, '--name', "Buildroot #{$buildroot_version}"]
>> + end
>> + end
>> +
>> + config.vm.provision 'shell', inline:
>> + "sudo apt-get -q update
>> + sudo apt-get -q -y install build-essential libncurses5-dev \
>> + git bzr cvs mercurial subversion
>
> I would also include libqt4-dev for xconfig,
Why? On windows there is not an X server to run the ssh x forwarding
and the dependencies are really big ones. Nobody stops you to install
them manually, it's an Ubuntu after all!
> and the dependencies for the
> manual and for the graphs: asciidoc, w3m, dblatex, graphviz, python,
> python-matplotlib.
Do you think we should force users to download a complete tex
distribution only for compiling docs? As stated before users could
install themselves if needed.
I prefer having a vagrant up setup time as small as possible to be
operative as soon as possible!
> And rsync, is that included by default?
Yes, it's included in Ubuntu.
Sincerely, Angelo.
>
>
> Regards,
> Arnout
>
>> + sudo apt-get -q -y autoremove"
>> +
>> + config.vm.provision 'shell', privileged: false, inline:
>> + "echo 'Downloading and extracting buildroot #{$buildroot_version}'
>> + wget -q -c http://buildroot.org/downloads/buildroot-#{$buildroot_version}.tar.gz
>> + tar axf buildroot-#{$buildroot_version}.tar.gz"
>> +end
>>
>
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> Essensium/Mind http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
--
Profile: http://it.linkedin.com/in/compagnucciangelo
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning
2015-09-21 6:19 ` Angelo Compagnucci
@ 2015-09-21 16:57 ` Arnout Vandecappelle
2015-09-21 19:59 ` Angelo Compagnucci
0 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-09-21 16:57 UTC (permalink / raw)
To: buildroot
On 21-09-15 08:19, Angelo Compagnucci wrote:
> Dear Arnout Vandecappelle,
>
>
> 2015-09-20 23:18 GMT+02:00 Arnout Vandecappelle <arnout@mind.be>:
>> On 17-09-15 08:26, Angelo Compagnucci wrote:
>>> This patch adds a Vagrant file to buildroot. With this file
>>> you can provision a complete buildroot developing environment
>>> in minutes on all major platforms (Linux/Mac/Windows).
>>>
>>> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
>> [snip]
>>> diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
>>> new file mode 100644
>>> index 0000000..2d9151b
>>> --- /dev/null
>>> +++ b/support/misc/Vagrantfile
>>> @@ -0,0 +1,51 @@
>>> +################################################################################
>>> +#
>>> +# Vagrantfile
>>> +#
>>> +################################################################################
>>> +
>>> +### Change here for more memory/cores ###
>>> +VM_MEMORY=1024
>>> +VM_CORES=1
>>
>> Do we need to do that? And if we do, shouldn't it be higher? 1GB will not allow
>> you to build v8 and all its derivatives (webkit, webengine).
>
> Nope. Raising this numbers means freezing the machine of a user with a
> low end laptop.
Fair enough.
> Probably we could add some notes on the documentation,
> but Vagrant has it's own documentation and this is the standard de
> facto way to set memory/cores of a vagrant VM. This file should be a
> starting point for people wanting to try buildroot and not a one shop
> stop for all their problems.
>
>>> +
>>> +Vagrant.configure('2') do |config|
>>> + config.vm.box = 'ubuntu/trusty64'
>>
>> Is there a way to make it match the host, i.e. run a 32-bit system on a 32-bit
>> host?
>
> Honestly I don't think there are 32bit cpus which could run Buildroot
> compilation inside a VM. For me no problem here, all the cpus with
> virt instructions are 64bits and therefore could run a 64bit host.
It's not for 32-bit CPUs, it's for 64-bit hardware running 32-bit OS.
Though of course you're right, the VM can still run a 64-bit OS.
>
>>> + 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.customize ['modifyvm', :id, '--memory', VM_MEMORY]
>>> + v.customize ['modifyvm', :id, '--cpus', VM_CORES]
>>> + end
>>> +
>>> + config.vm.provision 'shell' do |s|
>>> + s.inline = 'echo Setting up machine name'
>>> +
>>> + require 'open-uri'
>>> + open('http://git.buildroot.net/buildroot/plain/CHANGES') do |f|
>>> + $buildroot_version=f.read.lines.first.split(',')[0]
>>
>> That's not at all reliable, this version will for instance change to an rc just
>> before a release. And for instance the 2015.08.1 is not in master's CHANGES.
>>
>> I think it's better if we add a buildroot-latest.tar.bz2 symlink to the
>> downloads directory, then we can just use that.
>
> Of course! I falled back to this method cause I cannot find find a
> more reliable one.
>
>> Failing that, it's better to scrape it from http://buildroot.org/download.html
>
> It's really strange that there is not an easy way to get the builroot
> version string easily.
Well, the easy way would be
sed -n '/^export BR2_VERSION := /s///p' Makefile
but it's just a bad idea to take the latest git version as a basis of finding
the 'current' version of buildroot.
You could also take the latest tag:
git tag -l | grep '^20[0-9][0-9]\.[0-9][0-9]\.[0-9.]*' | sort -n | tail -1
But overall, I think scraping from the website makes the most sense. Or even
better would be if the current version was recorded somewhere in a file that is
used with SSI in downloads.html
>
>>> + end
>>> +
>>> + config.vm.provider :vmware_fusion do |v, override|
>>> + v.vmx['displayname'] = "Buildroot #{$buildroot_version}"
>>> + end
>>> +
>>> + config.vm.provider :virtualbox do |v, override|
>>> + v.customize ['modifyvm', :id, '--name', "Buildroot #{$buildroot_version}"]
>>> + end
>>> + end
>>> +
>>> + config.vm.provision 'shell', inline:
>>> + "sudo apt-get -q update
>>> + sudo apt-get -q -y install build-essential libncurses5-dev \
>>> + git bzr cvs mercurial subversion
>>
>> I would also include libqt4-dev for xconfig,
>
> Why? On windows there is not an X server to run the ssh x forwarding
> and the dependencies are really big ones. Nobody stops you to install
> them manually, it's an Ubuntu after all!
>
>> and the dependencies for the
>> manual and for the graphs: asciidoc, w3m, dblatex, graphviz, python,
>> python-matplotlib.
>
> Do you think we should force users to download a complete tex
> distribution only for compiling docs? As stated before users could
> install themselves if needed.
>
> I prefer having a vagrant up setup time as small as possible to be
> operative as soon as possible!
Okay.
One more thing I would add though: the 32-bit compatibility libraries needed
for Sourcery toolchains. It's not that heavy and a bit tricky to find the right
ones.
Regards,
Arnout
>
>> And rsync, is that included by default?
>
> Yes, it's included in Ubuntu.
>
> Sincerely, Angelo.
>
>>
>>
>> Regards,
>> Arnout
>>
>>> + sudo apt-get -q -y autoremove"
>>> +
>>> + config.vm.provision 'shell', privileged: false, inline:
>>> + "echo 'Downloading and extracting buildroot #{$buildroot_version}'
>>> + wget -q -c http://buildroot.org/downloads/buildroot-#{$buildroot_version}.tar.gz
>>> + tar axf buildroot-#{$buildroot_version}.tar.gz"
>>> +end
>>>
>>
>>
>> --
>> Arnout Vandecappelle arnout at mind be
>> Senior Embedded Software Architect +32-16-286500
>> Essensium/Mind http://www.mind.be
>> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
>> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
>> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
>
>
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning
2015-09-21 16:57 ` Arnout Vandecappelle
@ 2015-09-21 19:59 ` Angelo Compagnucci
0 siblings, 0 replies; 5+ messages in thread
From: Angelo Compagnucci @ 2015-09-21 19:59 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle,
2015-09-21 18:57 GMT+02:00 Arnout Vandecappelle <arnout@mind.be>:
> On 21-09-15 08:19, Angelo Compagnucci wrote:
>> Dear Arnout Vandecappelle,
>>
>>
>> 2015-09-20 23:18 GMT+02:00 Arnout Vandecappelle <arnout@mind.be>:
>>> On 17-09-15 08:26, Angelo Compagnucci wrote:
>>>> This patch adds a Vagrant file to buildroot. With this file
>>>> you can provision a complete buildroot developing environment
>>>> in minutes on all major platforms (Linux/Mac/Windows).
>>>>
>>>> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
>>> [snip]
>>>> diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
>>>> new file mode 100644
>>>> index 0000000..2d9151b
>>>> --- /dev/null
>>>> +++ b/support/misc/Vagrantfile
>>>> @@ -0,0 +1,51 @@
>>>> +################################################################################
>>>> +#
>>>> +# Vagrantfile
>>>> +#
>>>> +################################################################################
>>>> +
>>>> +### Change here for more memory/cores ###
>>>> +VM_MEMORY=1024
>>>> +VM_CORES=1
>>>
>>> Do we need to do that? And if we do, shouldn't it be higher? 1GB will not allow
>>> you to build v8 and all its derivatives (webkit, webengine).
>>
>> Nope. Raising this numbers means freezing the machine of a user with a
>> low end laptop.
>
> Fair enough.
>
>> Probably we could add some notes on the documentation,
>> but Vagrant has it's own documentation and this is the standard de
>> facto way to set memory/cores of a vagrant VM. This file should be a
>> starting point for people wanting to try buildroot and not a one shop
>> stop for all their problems.
>>
>>>> +
>>>> +Vagrant.configure('2') do |config|
>>>> + config.vm.box = 'ubuntu/trusty64'
>>>
>>> Is there a way to make it match the host, i.e. run a 32-bit system on a 32-bit
>>> host?
>>
>> Honestly I don't think there are 32bit cpus which could run Buildroot
>> compilation inside a VM. For me no problem here, all the cpus with
>> virt instructions are 64bits and therefore could run a 64bit host.
>
> It's not for 32-bit CPUs, it's for 64-bit hardware running 32-bit OS.
>
> Though of course you're right, the VM can still run a 64-bit OS.
>
>>
>>>> + 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.customize ['modifyvm', :id, '--memory', VM_MEMORY]
>>>> + v.customize ['modifyvm', :id, '--cpus', VM_CORES]
>>>> + end
>>>> +
>>>> + config.vm.provision 'shell' do |s|
>>>> + s.inline = 'echo Setting up machine name'
>>>> +
>>>> + require 'open-uri'
>>>> + open('http://git.buildroot.net/buildroot/plain/CHANGES') do |f|
>>>> + $buildroot_version=f.read.lines.first.split(',')[0]
>>>
>>> That's not at all reliable, this version will for instance change to an rc just
>>> before a release. And for instance the 2015.08.1 is not in master's CHANGES.
>>>
>>> I think it's better if we add a buildroot-latest.tar.bz2 symlink to the
>>> downloads directory, then we can just use that.
>>
>> Of course! I falled back to this method cause I cannot find find a
>> more reliable one.
>>
>>> Failing that, it's better to scrape it from http://buildroot.org/download.html
>>
>> It's really strange that there is not an easy way to get the builroot
>> version string easily.
>
> Well, the easy way would be
>
> sed -n '/^export BR2_VERSION := /s///p' Makefile
>
> but it's just a bad idea to take the latest git version as a basis of finding
> the 'current' version of buildroot.
>
> You could also take the latest tag:
>
> git tag -l | grep '^20[0-9][0-9]\.[0-9][0-9]\.[0-9.]*' | sort -n | tail -1
Both these options are not feasible cause I've not a git downloaded to
search on before the vagrant up.
The only viable option could be scraping from website.
> But overall, I think scraping from the website makes the most sense. Or even
> better would be if the current version was recorded somewhere in a file that is
> used with SSI in downloads.html
I would try to scrape the website for current buildroot version.
>>>> + end
>>>> +
>>>> + config.vm.provider :vmware_fusion do |v, override|
>>>> + v.vmx['displayname'] = "Buildroot #{$buildroot_version}"
>>>> + end
>>>> +
>>>> + config.vm.provider :virtualbox do |v, override|
>>>> + v.customize ['modifyvm', :id, '--name', "Buildroot #{$buildroot_version}"]
>>>> + end
>>>> + end
>>>> +
>>>> + config.vm.provision 'shell', inline:
>>>> + "sudo apt-get -q update
>>>> + sudo apt-get -q -y install build-essential libncurses5-dev \
>>>> + git bzr cvs mercurial subversion
>>>
>>> I would also include libqt4-dev for xconfig,
>>
>> Why? On windows there is not an X server to run the ssh x forwarding
>> and the dependencies are really big ones. Nobody stops you to install
>> them manually, it's an Ubuntu after all!
>>
>>> and the dependencies for the
>>> manual and for the graphs: asciidoc, w3m, dblatex, graphviz, python,
>>> python-matplotlib.
>>
>> Do you think we should force users to download a complete tex
>> distribution only for compiling docs? As stated before users could
>> install themselves if needed.
>>
>> I prefer having a vagrant up setup time as small as possible to be
>> operative as soon as possible!
>
> Okay.
>
> One more thing I would add though: the 32-bit compatibility libraries needed
> for Sourcery toolchains. It's not that heavy and a bit tricky to find the right
> ones.
Nice catch!
Sincerely, Angelo
>
>
> Regards,
> Arnout
>
>>
>>> And rsync, is that included by default?
>>
>> Yes, it's included in Ubuntu.
>>
>> Sincerely, Angelo.
>>
>>>
>>>
>>> Regards,
>>> Arnout
>>>
>>>> + sudo apt-get -q -y autoremove"
>>>> +
>>>> + config.vm.provision 'shell', privileged: false, inline:
>>>> + "echo 'Downloading and extracting buildroot #{$buildroot_version}'
>>>> + wget -q -c http://buildroot.org/downloads/buildroot-#{$buildroot_version}.tar.gz
>>>> + tar axf buildroot-#{$buildroot_version}.tar.gz"
>>>> +end
>>>>
>>>
>>>
>>> --
>>> Arnout Vandecappelle arnout at mind be
>>> Senior Embedded Software Architect +32-16-286500
>>> Essensium/Mind http://www.mind.be
>>> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
>>> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
>>> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
>>
>>
>>
>
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> Essensium/Mind http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
--
Profile: http://it.linkedin.com/in/compagnucciangelo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-09-21 19:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-17 6:26 [Buildroot] [PATCH] support/misc: Adding Vagrant file for provisioning Angelo Compagnucci
2015-09-20 21:18 ` Arnout Vandecappelle
2015-09-21 6:19 ` Angelo Compagnucci
2015-09-21 16:57 ` Arnout Vandecappelle
2015-09-21 19:59 ` Angelo Compagnucci
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox