Skip to content

deploy: let deploy.sh redeploy just the kernel - #342

Open
daniel-rossier wants to merge 3 commits into
mainfrom
fix/deploy-kernel
Open

daniel-rossier wants to merge 3 commits into
mainfrom
fix/deploy-kernel

Conversation

@daniel-rossier

Copy link
Copy Markdown
Contributor

Port of smartobjectoriented/infrabase#54. deploy.sh linux / deploy.sh so3 failed (no do_deploy on the kernel recipes). They now hop onto bsp-linux:do_deploy_boot / bsp-so3:do_deploy_boot (repack ITB + write p1, no compile), and bsp-linux:do_deploy_boot repacks the ITB instead of writing the stale one.

Tested on virt64: deploy.sh so3 runs do_itb → do_deploy_boot → do_deploy; linux checked with bitbake -n.

`deploy.sh linux` and `deploy.sh so3` died on "Task do_deploy does not
exist": no kernel recipe had a do_deploy, and the kernel reaches the
target only inside the ITB, which only the BSP's deploy wrote.

The kernel recipes now carry a do_deploy that is a dependency hop onto
their BSP's do_deploy_boot (repack the ITB, write p1; no boot chain, no
rootfs, no compile): linux through linux-deploy.inc, required by each
linux_*.bb (not linux.bbclass, which bsp-linux inherits too), so3 onto
bsp-so3.

bsp-linux:do_deploy_boot also wrote the ITB of the last bsp-linux build,
so a rebuilt kernel never reached the card. It now repacks the ITB
first, by running do_render_its and do_itb through exec_func: an
`addtask do_itb before do_deploy_boot`, as bsp-so3 has, would pull
do_prepare_initrd and with it the rootfs build for a kernel change.

Same change as infrabase#54.
`deploy.sh linux` on a tree whose kernel was never built for the
platform (fresh checkout, cleaned tree, platform switch) failed inside
do_itb with dtc's "Couldn't open .../boot/Image" buried under mkimage's
usage page. do_deploy_boot now checks every /incbin/ of the ITS it is
about to pack and stops before mounting anything, listing the missing
files and the build to run.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant