Drone

Ability to modify sysctl (kernel.randomize_va_space)

Hello,

I’m testing out cloud.drone.io in order to build https://github.com/Silex/docker-emacs multiarch images.

For this I need to run the following command: sysctl kernel.randomize_va_space=0. This is unfortunately non-negociable.

Whenever I try it tells me sysctl: error setting key 'kernel.randomize_va_space': Read-only file system.

Apparently by reading [SOLVED] Running in privileged mode it looks like for cloud.drone.io this is by design and that there’s nothing I can do about it, which would prevent me from using cloud.drone.io

Can someone confirm me that this is the case? Maybe by using a plugin or whatever?

Here’s an example pipeline:

kind: pipeline
type: docker
name: emacs-26.3-arm64

platform:
  os: linux
  arch: arm64

steps:
- name: 26.3-dev
  image: alpine
  commands:
  - sysctl kernel.randomize_va_space=0
  - cd 26.3/ubuntu/18.04/dev
  - docker build -t test .

you cannot run privileged containers in cloud which leaves you with two options:

  1. use an ssh pipeline with cloud. ssh pipelines ssh into a remote server and run pipeline commands directly on the host. you provide your own server, so you can do whatever you want on it.
  2. install and run drone on your own servers and enabled privileged mode

Thanks for confirming. The idea was to avoid having to use my own servers, because then I’d need several architectures as a QEMU bug prevents me from cross-compiling Emacs (https://bugs.launchpad.net/qemu/+bug/1861161).