On 23/11/16 13:08, Ed Bartosh wrote: > On Tue, Nov 22, 2016 at 12:54:52PM +0100, Kristian Amlie wrote: >> On 22/11/16 12:10, Patrick Ohly wrote: >>>> ... >>> >>> All of these introduce some special mechanism. Let me propose something >>> that might integrate better with the existing tooling: >>> >>> The "rootfs" directory gets redefined as representing the entire virtual >>> file system. When creating a disk image, it gets split up into different >>> partitions based on the image configuration. >>> >>> For example, the /home or /data directories in the rootfs could hold the >>> content that in some image configurations goes into separate partitions. >>> >>> The advantage of this approach is that the tooling for staging content >>> for image creation does not need to be changed. The same staged content >>> then can be used to create different images, potentially even using >>> different partition layouts. >> >> That's a very good idea. I think it beats all of my suggestions! >> >>> To implement this approach with wic, wic needs to be taught how to >>> exclude directories from the main rootfs. Ideally, the mkfs.* tools >>> should also support that without having to make an intermediate copy of >>> the files for a certain partition, but initially wic could create >>> temporary directory trees. >> >> Yes, some work would be needed here, but ultimately it would be contained >> within wic and related tools, which is a good thing. >> > > I support the idea. Let's discuss the details of implementation and > create a bug in bugzilla to track the development
Do you want me to create the ticket? (it'll be my first, so apologies in advance if I omit something important) > This can be done by extending existing rootfs plugin. It should be able > to do 2 things: > > - populate content of one rootfs directory to the partition. We can > extend syntax of --rootfs-dir parameter to specify optional directory path > to use > > - exclude rootfs directories when populating partitions. I'd propose to > introduce --exclude-dirs wks parser option to handle this. > > Example of wks file with proposed new options: > part / --source rootfs --rootfs-dir=core-image-minimal --ondisk sda > --fstype=ext4 --label root --align 1024 --exclude-dirs data --exclude-dirs > home > part /data --source rootfs --rootfs-dir=core-image-minimal:/home --ondisk sda > --fstype=ext4 --label data --align 1024 > part /home --source rootfs --rootfs-dir=core-image-minimal:/data --ondisk sda > --fstype=ext4 --label data --align 1024 > > Does this make sense? Looks good. The only thing I would question is that, in the interest of reducing redundancy, maybe we should omit --exclude-dirs and have wic figure this out by combining all the entries, since "--exclude-dirs <dir>" and the corresponding "part <dir>" will almost always come in pairs. Possibly we could mark the "/" partition with one single --no-overlapping-dirs to force wic to make this consideration. Or do you think that's too magical? (I haven't checked how feasible this is in the code btw) -- Kristian -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core