Pmbootstrap: samsung-i9505: efforts to use mainline-kernel

Created on 18 Dec 2017  路  8Comments  路  Source: postmarketOS/pmbootstrap

The i9505 (S4 International) seems a good candidate for the mainline kernel for the following reasons:

Unfortunately, I'm no expert at working and developing with the Linux kernel. I tried to find a dts for the device in the LineageOS kernel, but unfortunately, I couldn't. I also tried to follow the instructions on the wiki page but I can't find a regulator file for the msm8960.

It would be nice to get some starter information on how to go further with the DTS.

device help wanted question

All 8 comments

Great research you did there, it seems like a good candidate indeed. The kernel your device currently uses is 3.4.112, and the 3.4.x kernels don't have dts files yet. Sometimes it's possible to find a newer (even 4.x) kernel port, but with quick research I could not find one.

@robclark, @bhush9, @pavelmachek: do you have a tip on how to proceed if there is no dts in the forked kernel source?

Thanks for the info. I had no idea that the device tree sources were a recent invention since later Linux kernels.

I had no luck either with finding a newer Linux kernel port.

By the way, another good reason why this device would be a good candidate for the mainline kernel is that the phone sold very good and is relatively powerful. Even software rendering in XFCE is now already performing pretty well.

Is samsung-i9505 supported by the current mainline?

If so, mainline should have suitable dts in arch/arm/boot/dts
directory.

If not, yes, you need dts, but you also needs all the drivers; normal
procedure is to create dts along with the drivers.

@rrooij: I have transferred mainlining information from conversations in #postmarketOS into the wiki. Relevant for you: There's no device tree source (dts) in the kernel fork for my device, how do I make one?

Please extend this wiki if you find out more 馃憤

I'm afraid the wiki is not going to help much. dts is basically
hardware description language; language is easy, but getting working
kernels is not.

@rrooij: So you have a omap3 based phone, and you have board files for
it, but no dts, right? Do you have serial line working?

You could strip down dts from similar hardware (n900?) and try to get
it to boot. You may be lucky.

If you are not lucky, you should be able to forward-port board files
to recent kernels, then strip them down to bare minimum you can still
test, then convert that to dts.

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

@pavelmachek: I'd like to improve the wiki page, maybe you could answer these questions:

  • So current mainline kernels still understand board files?
  • If that is the case, why do people convert them to dts at all, couldn't we just copy-paste the board files from old kernel forks into the new kernel?

I don't think created detailed howto on wiki is possible at this
point. This is very hardware specific. You can't easily explain how C
works on wiki. DTS is not much different.

@pavelmachek: I'd like to improve the wiki page, maybe you could answer these questions:

  • So current mainline kernels still understand board files?

For some hardware, yes. Not sure if for TI OMAP.

  • If that is the case, why do people convert them to dts at all,
    couldn't we just copy-paste the board files from old kernel forks
    into the new kernel?

For some hardware, you can copy-paste, but if the hardware already
supports device tree, you likely will not be able to mainline your
patches.

Anyway, this is very kernel/hardware specific... and probably best
solved via email on the right lists. MAINTAINERS file says:

OMAP DEVICE TREE SUPPORT
M: Beno卯t Cousson bcousson@baylibre.com
M: Tony Lindgren tony@atomide.com
L: [email protected]
L: [email protected]

Whoever is interested in this.. can you write short summary in email,
Ccing adresses above, me, and maybe @sre ? I'll try to help, but getting
specific phone to work is way easier task to creating wiki
explanation.

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Thanks a lot for the answer!

It makes sense that we can't explain how C works in the wiki. However as someone who has not worked with the kernel sources much but knows C, having easy accessible information about questions such as "how do I approach creating the dts files if there are none" is very helpful to me.
So I've updated the wiki FAQ (not howto!) page anyway with the information you've presented, including the call for writing to the maintainers and CCing you in case of OMAP.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ata2001 picture ata2001  路  4Comments

ata2001 picture ata2001  路  3Comments

ghost picture ghost  路  4Comments

Asara picture Asara  路  6Comments

ollieparanoid picture ollieparanoid  路  3Comments