pmbootstrap/pmb
Oliver Smith a77a0dcc32
Add envkernel.sh: instant mainlining environment (#1424)
Changes:
* `helpers/envkernel.sh`:
  * installs everything needed for kernel compilation in the native
    chroot
  * mounts the kernel source to `/mnt/linux` inside the chroot
  * creates `/mnt/linux/.output` and chowns it to the `pmos` user, that
    folder will be used for the kernel build output
  * sets up aliases for `make`, `pmbootstrap`, `pmbroot`, `kernelroot`
* new action `pmbootstrap work_migrate`: does the interactive work
  folder migration if necessary, otherwise it doesn't output anything
  * when calling this first, we can safely use all other commands
    non-interactively without showing the output

Benefits:
* Fast setup (especially for people who are new to kernel
  compilation
  * No need to figure out distribution specific package names
    (cross compilers!)
  * No need to do a test build just to verify that the right
    packages are installed
* Less error prone
  * The right dependencies are always installed
  * `ARCH` and `CROSS_COMPILE` variables always get set automatically
    and based on `deviceinfo_arch`
  * If the build environment is broken for some reason, just zap and
    start over
* Easy to reproduce problems

Notes:
* `make menuconfig` works as well
* Sourcing was tested with `zsh`, `bash` and `fish`, it should be easy to
  extend for other shells
2018-04-19 21:27:38 +00:00
..
aportgen Fix aportgen without initializing buildenv 2018-03-12 17:17:32 +01:00
build Fix test/test_build_package.py 2018-04-19 02:29:48 +02:00
chroot initfs hook_ls: make clear what's not installed (#1409) 2018-04-11 22:26:48 +00:00
config Ask to copy SSH public keys during init (#1394) 2018-04-08 14:12:01 +00:00
export "...flasher flash_rootfs" instead of "..._system" (#1373) 2018-03-30 01:11:20 +00:00
flasher flasher: install depends of the method specified in the arguments (#1393) 2018-04-04 23:48:39 +00:00
helpers Add envkernel.sh: instant mainlining environment (#1424) 2018-04-19 21:27:38 +00:00
install Ask to copy SSH public keys during init (#1394) 2018-04-08 14:12:01 +00:00
parse Add envkernel.sh: instant mainlining environment (#1424) 2018-04-19 21:27:38 +00:00
qemu pmbootstrap init: kernel selection / remove linux-pmos-lts (#1363) 2018-04-03 23:50:09 +00:00
__init__.py pmbootstrap: Disallow running as root (#1120) 2018-01-14 08:13:35 +00:00