[yocto] Overriding bootimg.bbclass behavior

Paul D. DeRocco pderocco at ix.netcom.com
Fri Sep 25 15:49:33 PDT 2015


I've been trying to build an image that boots from a USB flash drive that
has no persistence, and I've found that the .iso image serves this purpose
reasonably well, if processed by isohybrid (part of the syslinux package).
It appears that bootimg.bbclass runs isohybrid on the .iso anyway, but in
my case the result doesn't work because it is intended to be written to
the entire device, not to a partition. My system uses a second partition
to store a small amount of persistent data which is only occasionally
updated, so it needs a partition table.

isohybrid has a --partok option which produces an .iso image that can be
booted from a flash drive partition. My bitbake skills are pretty poor, so
I'm not clear on the best way to accomplish this. bootimg.bbclass calls
isohybrid near the end of the build_iso function. It seems I have two
choices:

1) Modify the build_iso function. Is there a safe way to modify an
existing .bbclass, or otherwise override its behavior in a way unforseen
by its author? It's incorporated through a long chain of inherits.

2) Do something in my own image recipe after the .iso is built to run
isohybrid a second time, with the --partok option, to override what
build_iso did.

Any advice on this would be appreciated.

-- 

Ciao,               Paul D. DeRocco
Paul                mailto:pderocco at ix.netcom.com




More information about the yocto mailing list