Page MenuHomePhabricator

qubes-whonix 10 ./whonix_build command needs to be updated for Whonix 10
Closed, ResolvedPublic

Description

To save you some headache figuring out how the command line interface changed for Whonix 10, I looked at your build command.

sudo ~/Whonix/whonix_build \
    --build $1 \
    --64bit-linux \
    --current-sources \
    --enable-whonix-apt-repository \
    --whonix-apt-repository-distribution $2 \
    --install-to-root \
    --skip-verifiable \
    --minimal-report \
    --skip-sanity-tests || { exit 1; }

No features have been removed. Just the interface is now much more pretty and future proof. So it should still work out all just fine. Here is a table that is an overview of old and new command line parameters.

oldnew
--build $1--build --flavor whonix-gateway
--64bit-linux--kernel <Quoted space delimited list of packages.>--arch amd64 --kernel linux-image-amd64
--current-sources--freshness current
--enable-whonix-apt-repository--whonix-repo wheezy
--install-to-root--target root
--minimal-report--report minimal
--skip-sanity-tests--sanity-tests false
--skip-verifiable--verifiable false

The build command for Whonix 10, will look somewhat like this.

sudo ./whonix_build --flavor whonix-gateway -- --build --target root --[...]

For more info on command line...

sudo ./whonix_build --help
sudo ./help-steps/whonix_build_one --help

I have two questions or so on why you are using some build options, but I will create threads in the forums.

Event Timeline

Patrick updated the task description. (Show Details)Mar 24 2015, 3:04 PM
Patrick added projects: Qubes, qubes-whonix 10.
Patrick added subscribers: Patrick, nrgaway, WhonixQubes.
Patrick created this task.
Patrick raised the priority of this task from to Normal.
Patrick updated the task description. (Show Details)Mar 24 2015, 3:41 PM

Guess this is a hint for me to get on it :)

What build options would you suggest using. I will attempt to build with those options.

Good question. As minimal as possible. For Whonix 10...

sudo ~/Whonix/whonix_build \
   --build \
   --arch amd64 \
   --kernel linux-image-amd64 \
   --headers linux-headers-amd64 \
   --target root \
   --report minimal \
   --verifiable false \
  • --headers depends. It's not really necessary for non-VirtualBox builds, because you don't have to compile any kernel modules (guest additions). But I would say, that having those installed by default increases usability for any kind of kernel module the user may want to use, because otherwise dkms doesn't show any useful hint that kernel headers are missing. Not that important, though. Otherwise for not installing any, --headers none.
  • Ideally we can avoid --freshness current for Whonix 10 by fixing the underlying issues. Please report them.
  • Maybe in future we can create a --target qubes where we do stuff that helps to reduce Qubes specific hacks, such as "don't install apt-cacher-ng" and whatnot. I have some ideas on how to prevent the build dependencies being installed in the image (well, because that's also how Whonix usually worked for other targets). Let's open separate tickets for that.

Do these build instructions still stand for the development tag version?

I was getting errors with the verifiable option. Is it important on option order?

Pretty much just want to build as stated above

Do these build instructions still stand for the development tag version?

Up to 10.x, i.e. up to 10.0.0.5.5 at the moment, yes. (Not changed in 11.x now either, not planned, but you never know.)

Is it important on option order?

As long as those apply to either whonix_build or help-steps/whonix_build_one, the order doesn't matter.

Syntax as per https://www.whonix.org/wiki/Dev/Build_Documentation/10_full.

whonix_build <parameters for whonix_build> -- <parameters for help-steps/whonix_build_one>

I was getting errors with the verifiable option.

My mistake. Should be minimal rather than false. Also a small bug. Should have tested it. Anyhow. This works for me.

sudo \
   ./whonix_build \
  --flavor whonix-gateway \
  -- \
  --build \
  --arch amd64 \
  --kernel linux-image-amd64
  --headers linux-headers-amd64
  --target root \
  --report minimal \
  --verifiable minimal

If it's not a command line parser error, but build issue, please open a new ticket.

nrgaway closed this task as Resolved.May 16 2015, 3:02 PM
nrgaway claimed this task.