forked from Mirror/pmbootstrap
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
This commit is contained in:
parent
8927ac5c3a
commit
a77a0dcc32
5 changed files with 209 additions and 0 deletions
|
@ -240,6 +240,9 @@ def arguments():
|
|||
sub.add_parser("shutdown", help="umount, unregister binfmt")
|
||||
sub.add_parser("index", help="re-index all repositories with custom built"
|
||||
" packages (do this after manually removing package files)")
|
||||
sub.add_parser("work_migrate", help="run this before using pmbootstrap"
|
||||
" non-interactively to migrate the"
|
||||
" work folder version on demand")
|
||||
arguments_export(sub)
|
||||
arguments_flasher(sub)
|
||||
arguments_initfs(sub)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue