[Dev] upgrading systemd, upgrading kernel

Stéphane Desneux stephane.desneux at open.eurogiciel.org
Tue Dec 31 12:28:37 GMT 2013


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


More information about the Dev mailing list