Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
"make dist-tools" from inside a VM with controlled Internet access
#1
When doing the command:

cd $PROJ_DIR/$PROJ_NAME/components/apps/xen/xen-src
make dist-tools CROSS_COMPILE=aarch64-buildroot-linux-gnu- XEN_TARGET_ARCH=arm64 CONFIG_EARLY_PRINTK=ronaldo

I get the following error:
   Cloning into 'qemu-xen-dir-remote.tmp'...
   fatal: unable to connect to xenbits.xen.org:
   xenbits.xen.org: Name or service not known
when it is running "/disk2/XZD/XenDOM0/components/apps/xen/xen-src/tools/../scripts/git-checkout.sh git://xenbits.xen.org/qemu-xen.git qemu-xen-4.7.0-rc4 qemu-xen-dir"



To make the system use http instead of git, I can update file "components/apps/xen/xen-src/Config.mk" and add line "export GIT_HTTP=y" just before line with "ifeq ($(GIT_HTTP),y)".

Then I get this:
   Cloning into 'qemu-xen-dir-remote.tmp'...
   fatal: unable to access 'http://xenbits.xen.org/git-http/qemu-xen.git/': Could not resolve host: xenbits.xen.org
when it is running "/disk2/XZD/XenDOM0/components/apps/xen/xen-src/tools/../scripts/git-checkout.sh http://xenbits.xen.org/git-http/qemu-xen.git/ qemu-xen-4.7.0-rc4 qemu-xen-dir"

Note the use of http: and git-http now.

To fix this error, I can define these:
  export http_proxy=<Company Proxy Server with my User Name and Password>
  export https_proxy=<Company Proxy Server with my User Name and Password>

Then I get this, this is how it should look:
  Cloning into 'qemu-xen-dir-remote.tmp'...
  remote: Counting objects: 302654, done.
  remote: Compressing objects: 100% (72963/72963), done.
  remote: Total 302654 (delta 245259), reused 284315 (delta 228934)
  Receiving objects: 100% (302654/302654), 96.06 MiB | 2.33 MiB/s, done.
  Resolving deltas: 100% (245259/245259), done.
  Checking connectivity... done.

However, I cannot use this as final solution, as putting my user name and password into a script or even environment variables is not allowed.  Any suggestions on how to fix this?  Ideally, I would like to download all the components that I need ahead of time, put them into a Zip files and just unzip them instead of downloading them.
Reply
#2
Since you mentioned you are willing to download qemu ahead of time you could use the '--with-system-qemu' option.  Install an appropriate qemu binary and then run the configure command with this option before performing the make.

Code:
./configure [other config options] --with-system-qemu=<qemu-bin-path>

     Nate
Reply
#3
(01-27-2017, 01:34 PM)Nathan.Studer Wrote: Since you mentioned you are willing to download qemu ahead of time you could use the '--with-system-qemu' option.  Install an appropriate qemu binary and then run the configure command with this option before performing the make.

Code:
./configure [other config options] --with-system-qemu=<qemu-bin-path>

     Nate

Where would I get the qemu binary from?  I can see the source at http://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=summary
I was able to put the source into a tar.xz file and update "components/apps/xen/xen-src/scripts/git-checkout.sh" to use that instead of doing the download.
Reply
#4
(01-27-2017, 04:28 PM)BraetonTaylor Wrote: Where would I get the qemu binary from?  I can see the source at http://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=summary

You would likely have to build it, although since Xen on ARM only uses qemu for limited things, depending on your use case you may be able to get away with pointing xen to a non-existent qemu binary.

Given these two options, the method below is probably preferable.

(01-27-2017, 04:28 PM)BraetonTaylor Wrote: I was able to put the source into a tar.xz file and update "components/apps/xen/xen-src/scripts/git-checkout.sh" to use that instead of doing the download.

While that works, you can just extract the tarball (or git clone) to "$PROJ_DIR/$PROJ_NAME/components/apps/xen/xen-src/tools/qemu-xen" and the Xen makefiles should use it instead of automatically cloning qemu from upstream.

     Nate
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)