All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] building fbtft framebuffer drivers into buildroot.
@ 2014-12-25 20:09 thebestofall007 .
  2014-12-26 10:20 ` Yann E. MORIN
  0 siblings, 1 reply; 6+ messages in thread
From: thebestofall007 . @ 2014-12-25 20:09 UTC (permalink / raw)
  To: buildroot

Hello, I am new to buildroot and have been feeling my way around it, but I
currently have a very fast bootable buildroot system for my raspberry pi
system set up following various rpi setup tutorials, and I was wondering
where I can start on building a package for the fbtft drivers from their
source code located in the git repository located here:
https://github.com/notro/fbtft/ that are used for driving small lcd
displays, or has this already been done before?

I want to be able to use a small 3.2" raspberry pi display shield as the
default display with buildroot, and although I have had good luck setting
up those drivers within raspbian os and raspbmc and having it work with my
lcd model, I want a much faster, leaner setup that boots in seconds yet is
customizable (as buildroot does with flying colors!)..

I have went through the manual, and while it has a lot of info, this is an
area that seems to be a little less self explanatory. I also gave info from
this site a try, but I'm stuck at the making of the .mk file:
http://free-electrons.com/~thomas/buildroot/manual/html/ch11.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141225/fe92b4db/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] building fbtft framebuffer drivers into buildroot.
  2014-12-25 20:09 [Buildroot] building fbtft framebuffer drivers into buildroot thebestofall007 .
@ 2014-12-26 10:20 ` Yann E. MORIN
  2014-12-26 14:04   ` Thomas Petazzoni
       [not found]   ` <CAFGceHEkkKaSCQzarHbZx34h7ndirva-Y__Cot8Wo28zJ8rTpA@mail.gmail.com>
  0 siblings, 2 replies; 6+ messages in thread
From: Yann E. MORIN @ 2014-12-26 10:20 UTC (permalink / raw)
  To: buildroot

All,

On 2014-12-25 14:09 -0600, thebestofall007 . spake thusly:
> Hello, I am new to buildroot and have been feeling my way around it, but I
> currently have a very fast bootable buildroot system for my raspberry pi
> system set up following various rpi setup tutorials, and I was wondering
> where I can start on building a package for the fbtft drivers from their
> source code located in the git repository located here:
> https://github.com/notro/fbtft/ that are used for driving small lcd
> displays, or has this already been done before?

I've had a look at this package, and unfortunately, it will be hard to
get it packaged in Buildroot.

The problem is that this kernel module does not compile as an
out-of-tree module, and their buildsystem is made so that it requires
the kernel be patched.

This is not posible with Buildroot.

However, it should be pretty easy (I hope) to adapt their Makefile so
that it behaves like an out-of-tree modules, as explained in the Linux
documentation:
    Documentation/kbuild/modules.txt

> I have went through the manual, and while it has a lot of info, this is an
> area that seems to be a little less self explanatory. I also gave info from
> this site a try, but I'm stuck at the making of the .mk file:
> http://free-electrons.com/~thomas/buildroot/manual/html/ch11.html

So, I would suggest you take this route:

  - first, build a Buildroot system with a Linux kernel (that's what you
    did so far, I guess);

  - second, adapt their Makefile as explained above, building manually
    with the Buildroot toolchain; see the Buildroot manual, chapter
    8.11.1. Using the generated toolchain outside Buildroot:
        http://nightly.buildroot.org/#_advanced_usage

  - once you made it build as an out-of-tree module, you can have a look
    at existing packages in Buildroot that also build kernel modules,
    like:
        package/lttng-modules/  (the simplest, I think)
        package/linux-fusion/   (a bit more complexe, with some ooptions)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] building fbtft framebuffer drivers into buildroot.
  2014-12-26 10:20 ` Yann E. MORIN
@ 2014-12-26 14:04   ` Thomas Petazzoni
  2014-12-26 14:51     ` Yann E. MORIN
       [not found]   ` <CAFGceHEkkKaSCQzarHbZx34h7ndirva-Y__Cot8Wo28zJ8rTpA@mail.gmail.com>
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-26 14:04 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Fri, 26 Dec 2014 11:20:29 +0100, Yann E. MORIN wrote:

> I've had a look at this package, and unfortunately, it will be hard to
> get it packaged in Buildroot.
> 
> The problem is that this kernel module does not compile as an
> out-of-tree module, and their buildsystem is made so that it requires
> the kernel be patched.
> 
> This is not posible with Buildroot.

Well, yes and no. Indeed it is much easier to package if the stuff can
be built as an out-of-tree module. However, we have two examples of
things packaged in Buildroot that require patching the kernel: Xenomai
and RTAI. They use a loosely defined model that we could name "Linux
extension", see linux/linux-ext-*.mk. They basically hook up into the
Linux build process by adding some stuff to LINUX_PRE_PATCH_HOOKS.

I recently had a look at the aufs stuff, and it has the same problem:
not only it is made of modules that can be built out-of-tree, but it
also needs to patch the kernel (some core VFS changes).

So, I haven't looked at all the fbtft stuff. If it's a set of
standalone drivers that don't require any modification to the core of
the kernel, then indeed, turning them into out-of-tree modules can be a
good idea. If not, then using the "linux-ext" model can be a solution.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] building fbtft framebuffer drivers into buildroot.
  2014-12-26 14:04   ` Thomas Petazzoni
@ 2014-12-26 14:51     ` Yann E. MORIN
  2014-12-26 16:33       ` Thomas Petazzoni
  0 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2014-12-26 14:51 UTC (permalink / raw)
  To: buildroot

On 2014-12-26 15:04 +0100, Thomas Petazzoni spake thusly:
> Dear Yann E. MORIN,
> 
> On Fri, 26 Dec 2014 11:20:29 +0100, Yann E. MORIN wrote:
> 
> > I've had a look at this package, and unfortunately, it will be hard to
> > get it packaged in Buildroot.
> > 
> > The problem is that this kernel module does not compile as an
> > out-of-tree module, and their buildsystem is made so that it requires
> > the kernel be patched.
> > 
> > This is not posible with Buildroot.
> 
> Well, yes and no. Indeed it is much easier to package if the stuff can
> be built as an out-of-tree module. However, we have two examples of
> things packaged in Buildroot that require patching the kernel: Xenomai
> and RTAI. They use a loosely defined model that we could name "Linux
> extension", see linux/linux-ext-*.mk. They basically hook up into the
> Linux build process by adding some stuff to LINUX_PRE_PATCH_HOOKS.
> 
> I recently had a look at the aufs stuff, and it has the same problem:
> not only it is made of modules that can be built out-of-tree, but it
> also needs to patch the kernel (some core VFS changes).
> 
> So, I haven't looked at all the fbtft stuff. If it's a set of
> standalone drivers that don't require any modification to the core of
> the kernel, then indeed, turning them into out-of-tree modules can be a
> good idea. If not, then using the "linux-ext" model can be a solution.

Yes, I know about those linux "extensions".

But the fact is that fbtft is only an additional modules with no impact
on the core of the kernel; it requires "patching" the kernel just
because it wants to add a Kconfig option and a Kbuild sub-directory.

So, it would better be built as an out-of-tree module, rather than be
handled as a kernel extension. Hence the reason I said it would not play
well "as-is" with Buildroot.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] building fbtft framebuffer drivers into buildroot.
  2014-12-26 14:51     ` Yann E. MORIN
@ 2014-12-26 16:33       ` Thomas Petazzoni
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-26 16:33 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Fri, 26 Dec 2014 15:51:28 +0100, Yann E. MORIN wrote:

> But the fact is that fbtft is only an additional modules with no impact
> on the core of the kernel; it requires "patching" the kernel just
> because it wants to add a Kconfig option and a Kbuild sub-directory.
> 
> So, it would better be built as an out-of-tree module, rather than be
> handled as a kernel extension. Hence the reason I said it would not play
> well "as-is" with Buildroot.

In this case, then yes, indeed, turning it into proper out-of-tree
modules would be nicer.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] building fbtft framebuffer drivers into buildroot.
       [not found]   ` <CAFGceHEkkKaSCQzarHbZx34h7ndirva-Y__Cot8Wo28zJ8rTpA@mail.gmail.com>
@ 2015-01-15  2:16     ` Lou Crittenden
  0 siblings, 0 replies; 6+ messages in thread
From: Lou Crittenden @ 2015-01-15  2:16 UTC (permalink / raw)
  To: buildroot

I was able to get my display to work nicely in buildroot thanks to peter
seidler's knowledge of this stuff.

On Sat, Dec 27, 2014 at 7:43 PM, thebestofall007 . <
loucrittenden63@gmail.com> wrote:

> I just talked to the author of the fbtft drivers, notro, and he states
> that it is indeed possible to build those drivers out of tree as you state,
> because that is actually how it is made for their use for the beaglebone
> black board. I have opened an issue with the use of the drivers with
> buildroot and it is located here:
> https://github.com/notro/fbtft/issues/209
>
> They illustrate how to build the modules out of tree here:
> https://github.com/notro/fbtft/wiki/Out-of-tree-build
>
>
> I'll admit, I still don't quite have a grasp on how to do this, as I've
> never done compiling like this, as while I use linux (Ubuntu) as my main
> OS, I still have a little to learn on how to set this up (but I'm having
> fun doing it). The main issue for me now is still where to start. Do I do
> this with menuconfig (do I put in their custom git repository or
> something?), or within the target system? I have a pre-compiled
> raspbian-based image with the drivers on it that came with the screen (and
> it also uses those fbtft drivers). I have the drivers, but it's where to do
> the compiling, as I do realize that buildroot does not support compiling
> within the target system, and how I compile on my Ubuntu host system so
> that the output goes onto the target buildroot system and not on the main
> system (I don't want to booger up my system after all. Should I do this in
> a live cd perhaps?).
>
>
>
>
>
>
>
>
> On Fri, Dec 26, 2014 at 4:20 AM, Yann E. MORIN <yann.morin.1998@free.fr>
> wrote:
>
>> All,
>>
>> On 2014-12-25 14:09 -0600, thebestofall007 . spake thusly:
>> > Hello, I am new to buildroot and have been feeling my way around it,
>> but I
>> > currently have a very fast bootable buildroot system for my raspberry pi
>> > system set up following various rpi setup tutorials, and I was wondering
>> > where I can start on building a package for the fbtft drivers from their
>> > source code located in the git repository located here:
>> > https://github.com/notro/fbtft/ that are used for driving small lcd
>> > displays, or has this already been done before?
>>
>> I've had a look at this package, and unfortunately, it will be hard to
>> get it packaged in Buildroot.
>>
>> The problem is that this kernel module does not compile as an
>> out-of-tree module, and their buildsystem is made so that it requires
>> the kernel be patched.
>>
>> This is not posible with Buildroot.
>>
>> However, it should be pretty easy (I hope) to adapt their Makefile so
>> that it behaves like an out-of-tree modules, as explained in the Linux
>> documentation:
>>     Documentation/kbuild/modules.txt
>>
>> > I have went through the manual, and while it has a lot of info, this is
>> an
>> > area that seems to be a little less self explanatory. I also gave info
>> from
>> > this site a try, but I'm stuck at the making of the .mk file:
>> > http://free-electrons.com/~thomas/buildroot/manual/html/ch11.html
>>
>> So, I would suggest you take this route:
>>
>>   - first, build a Buildroot system with a Linux kernel (that's what you
>>     did so far, I guess);
>>
>>   - second, adapt their Makefile as explained above, building manually
>>     with the Buildroot toolchain; see the Buildroot manual, chapter
>>     8.11.1. Using the generated toolchain outside Buildroot:
>>         http://nightly.buildroot.org/#_advanced_usage
>>
>>   - once you made it build as an out-of-tree module, you can have a look
>>     at existing packages in Buildroot that also build kernel modules,
>>     like:
>>         package/lttng-modules/  (the simplest, I think)
>>         package/linux-fusion/   (a bit more complexe, with some ooptions)
>>
>> Regards,
>> Yann E. MORIN.
>>
>> --
>>
>> .-----------------.--------------------.------------------.--------------------.
>> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
>> conspiracy: |
>> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___
>>        |
>> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There
>> is no  |
>> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v
>>  conspiracy.  |
>>
>> '------------------------------^-------^------------------^--------------------'
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150114/6874a4c2/attachment.html>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-01-15  2:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-25 20:09 [Buildroot] building fbtft framebuffer drivers into buildroot thebestofall007 .
2014-12-26 10:20 ` Yann E. MORIN
2014-12-26 14:04   ` Thomas Petazzoni
2014-12-26 14:51     ` Yann E. MORIN
2014-12-26 16:33       ` Thomas Petazzoni
     [not found]   ` <CAFGceHEkkKaSCQzarHbZx34h7ndirva-Y__Cot8Wo28zJ8rTpA@mail.gmail.com>
2015-01-15  2:16     ` Lou Crittenden

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.