Hello all, I'll try to summarize this thread. We actually have the following kernels: - ivi (ia32) - mobile (ia32 & armv7) - generic (ia32, x86_64 and later armv7, arm64 ...)
IVI: ---- As explained by Artem, the IVI kernel is close to the latest upstream revision with some patches picked from the unstable kernel (3.13.x). => The sources are *not* specific to IVI. => The configuration *is* specific to IVI. => The packaging *is* specific to IVI (not initrd for example) Generic: -------- As I recently tried different kernel versions to make Tizen:Generic work, I came to the conclusion that: - Tizen:Generic needs a kernel >=3.12 with systemd 208 - Tizen:Generic needs some extra patches, mostly picked from upstream unstable branches (as Artem described, for example on cgroupfs and smack labels) So the easy way to create the generic kernel was to fork the IVI kernel and make some updates on configuration (naming, support for more hardware & features ...). => The sources are the *same* as IVI => The configuration *is* specific to Generic kernel => The packaging *is* specific (example: we need an initrd for liveusb builds) Mobile: ------- For Mobile, it's less simple. If I search for a kernel package on the OBS (https://build.tizen.org/project/show?project=Tizen%3AMobile), I see two sources, both submitted and accepted on 20130802: - a kernel-adaptation-pc (3.10.6) - a kernel-mfld-blackbay (3.0.8) These 2 kernels are not built for armv7 and seem a little bit outdated: - kernel-adaptation-pc is superseeded by kernel-generic - kernel-mfld-blackbay could probably share the same sources as IVI and Generic. For ARM kernels, the latest RD-PQ_System images contain a uboot kernel 3.0.15 (http://download.tizen.org/releases/system/), but the sources are not public (or well hidden :-)) => Sources seem old (3.0.x) and should be realigned on IVI & Generic (3.12.x) => Multiple configurations cover the various hw targets Other profiles: --------------- What would happen for new profiles ? Following the actual model, the new profiles would get their specific kernel sources, which will have to be maintained etc. Conclusion: ----------- I understand that each profile has its own needs, timing, way to do things etc. But with more profiles and hw targets to support, it will be difficult to align every piece of the puzzle. So we should probably think about a better way to handle things and share the effort. I don't have the solution, but only ideas... What about something like that: upstream kernel (kernel.org) | upstream of | V platform/upstream/kernel-base: tizen base kernel with common patches (as done actually on IVI) (+ common build tools/procedure ?) these sources are not meant to be built, except for sanity check | upstream of | V profile/xxx/kernel-xxx: xxx = ivi, mobile, generic, ... profile-specific kernel with own patches and configuration Each profile would still have freedom (same as now) but at least the common sources would be shared. If these common sources conflict with a given profile, the problem should be fixed, not hidden by forking from another upstream (Lucasz). My 2 cents for Tizen Kernel 2014 ;-) Happy new year ! Stéphane -- Stéphane Desneux Intel OTC - Vannes/FR gpg:1CA35726/DFA9B0232EF80493AF2891FA24E3A2841CA35726 _______________________________________________ Dev mailing list [email protected] https://lists.tizen.org/listinfo/dev
