lueschem / edi

Embedded development infrastructure.
https://www.get-edi.io
GNU Lesser General Public License v3.0
39 stars 12 forks source link

Enable nested edi-pi execution #27

Closed lueschem closed 11 months ago

lueschem commented 6 years ago

Issue Type

Desired Behaviour

edi-pi shall be able to run within a container (e.g. generated using edi-ubuntu project configuration).

A modified ubuntu artful config did the trick:

lueschem@xps:~/workspace$ lxc config show ubuntu-artful 
architecture: x86_64
config:
  volatile.base_image: 74d4edd4c0bbf4d387d71f944fd57f833b9987cf954eedff85d69048aae7424e
  volatile.idmap.base: "0"
  volatile.idmap.next: '[]'
  volatile.last_state.idmap: '[]'
  volatile.last_state.power: RUNNING
  volatile.lxcif0.hwaddr: 00:16:3e:c4:06:f2
devices:
  loop-control:
    path: /dev/loop-control
    type: unix-char
  loop0:
    path: /dev/loop0
    type: unix-block
  loop1:
    path: /dev/loop1
    type: unix-block
  loop2:
    path: /dev/loop2
    type: unix-block
  loop3:
    path: /dev/loop3
    type: unix-block
  loop4:
    path: /dev/loop4
    type: unix-block
  loop5:
    path: /dev/loop5
    type: unix-block
  loop6:
    path: /dev/loop6
    type: unix-block
  loop7:
    path: /dev/loop7
    type: unix-block
  root:
    path: /
    type: disk
ephemeral: false
profiles:
- lxcif0_0c4a88500d0670949c8f
- nesting_2c77c12c691edf069bd1
- privileged_f2c9cc4cc9ef28d536cf
- shared_folder_4768ca9cb2ec30c17b45
stateful: false

Actual Behaviour

Loop device usage is currently not possible within a container that was created using the edi-ubuntu project configuration.

Implementation Ideas

The loop stuff could be prepared as a template with the yet to be implemented preprocessing steps (see #25):

  1. Template gets generated in preprocessing_step e.g. as "generated_template".
  2. Template is loaded via a generic template:
    {% include ['{{ generated_template }}', '{{ fallback_template }}'] %}
lueschem commented 11 months ago

There was recently no need for nested execution of edi.