Kernel Hacking

View: New views
7 Messages — Rating Filter:   Alert me  

Kernel Hacking

by Mike Caruso :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello list,
I was wondering if anybody knew how to build a custom kernel for a Verdex running Open Embedded? I have a USB Ethernet adapter I'd like to get working on my Verdex, it uses the RTL8150 driver. My first thought was to try and add it to gumstix-custom-verdex.conf, but wouldn't you need to enable it in the kernel config first so that it knows to build that module? I found what appears to be the kernel config in:

 ~/gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21

So let's say I modify that to include the RTL8150 driver (as a module), how would I rebuild the Verdex image to include a kernel built from that config?

Thanks,
Mike


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Mark Barton-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Mike Caruso wrote:

> Hello list,
> I was wondering if anybody knew how to build a custom kernel for a
> Verdex running Open Embedded? I have a USB Ethernet adapter I'd like
> to get working on my Verdex, it uses the RTL8150 driver. My first
> thought was to try and add it to gumstix-custom-verdex.conf, but
> wouldn't you need to enable it in the kernel config first so that it
> knows to build that module? I found what appears to be the kernel
> config in:
>
>  ~/gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21
>
> So let's say I modify that to include the RTL8150 driver (as a
> module), how would I rebuild the Verdex image to include a kernel
> built from that config?
>
> Thanks,
> Mike
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> ------------------------------------------------------------------------
>
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@...
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>  
Hi Mike,

http://gumstix.net/wiki/index.php?title=Kernel_Reconfiguration

Not sure how complete since I have not tried this yet, but it might do
the trick.

Mark


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Lord Serega :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

for me rebuild command did not produce the right results

On Tue, May 20, 2008 at 3:21 PM, Mark Barton <mark@...> wrote:
Mike Caruso wrote:
> Hello list,
> I was wondering if anybody knew how to build a custom kernel for a
> Verdex running Open Embedded? I have a USB Ethernet adapter I'd like
> to get working on my Verdex, it uses the RTL8150 driver. My first
> thought was to try and add it to gumstix-custom-verdex.conf, but
> wouldn't you need to enable it in the kernel config first so that it
> knows to build that module? I found what appears to be the kernel
> config in:
>
>  ~/gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21
>
> So let's say I modify that to include the RTL8150 driver (as a
> module), how would I rebuild the Verdex image to include a kernel
> built from that config?
>
> Thanks,
> Mike
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> ------------------------------------------------------------------------
>
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@...
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
Hi Mike,

http://gumstix.net/wiki/index.php?title=Kernel_Reconfiguration

Not sure how complete since I have not tried this yet, but it might do
the trick.

Mark


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Mathias Bage :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Tue, 20 May 2008, Sergiy Fefilatyev wrote:

> for me rebuild command did not produce the right results


I had problems with kernel compiles too.

After googling and trying some bitbake commands, I noticed that you can't
(re)compile the kernel with 'bitbake -c rebuild gumstix-kernel' --
'rebuild' will download and unpack a fresh kernel source and then copy the
file:

  gumstix-oe/com.gumstix.collection/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig

to the file (assuming a uclibc target system and linux kernel version
2.6.21):

  gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-uclibcgnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config


So, if you use 'bitbake gumstix-kernel -c rebuild' after a linux kernel
menuconfig (using 'bitbake gumstix-kernel -c menuconfig'), your kernel
.config file (path above) will have been overwritten by Gumstix Inc's
default file (the .../defconfig file (see 11 lines above))

To avoid this problem, I did the following;

   bitbake gumstix-kernel -c menuconfig

   bitbake gumstix-kernel -f -c compile

   bitbake gumstix-kernel

   bitbake -c rebuild task-base-gumstix

   bitbake -c rebuild gumstix-directfb-image

(replace gumstix-directfb-image  with your preferred image name)
The '-f' is used to force a '-c compile'.

>
> On Tue, May 20, 2008 at 3:21 PM, Mark Barton <mark@...> wrote:
>
>> Mike Caruso wrote:
>>> Hello list,
>>> I was wondering if anybody knew how to build a custom kernel for a
>>> Verdex running Open Embedded? I have a USB Ethernet adapter I'd like
>>> to get working on my Verdex, it uses the RTL8150 driver. My first
>>> thought was to try and add it to gumstix-custom-verdex.conf, but
>>> wouldn't you need to enable it in the kernel config first so that it
>>> knows to build that module? I found what appears to be the kernel
>>> config in:
[snip]

/Mathias

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Pauley, John C-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I believe the problem of supplying your own kernel config has answered
though not directly or definitively (that I could find)...  See
http://www.nabble.com/Switching-from-Buildroot-to-OE-%28Open-Embedded%29
-to14713242.html#a14720004, which gives the basic concept.  I'll attempt
to summarize what I've done with the kernel (though TODO's still
remain).  Hope it's the OE way:).  Hope this helps and that I haven't
forgot anything...

Assumes you in your gumstix-oe directory and you've already successfully
baked gumstix-*-image:

Get base kernel package into your user.collection:

gumstix-oe]$ mkdir -p user.collection/packages/linux
gumstix-oe]$ cp -r com.gumstix.collection/packages/linux/*
user.collection/packages/linux/

Make kernel changes (note I'm using connex platform):

gumstix-oe]$ cd
tmp/work/gumstix-custom-connex-angstrom-linux-gnueabi/gumstix-kernel-2.6
.21-r1/linux-2.6.21/
linux-2.6.21]$ make ARCH=arm menuconfig
[Make your changes and save]

Copy the new kernel configuration to be your default config:

linux-2.6.21]$ cat .config >
~/gumstix-oe/user.collection.packages/linux/gumstix-kernel-2.6.21/gumsti
x-custom-connex/defconfig

Rebuild:

gumstix-oe]$ bitbake -c rebuild gumstix-kernel
gumstix-oe]$ bitbake -c rebuild task-base-gumstix
gumstix-oe]$ bitbake -c rebuild gumstix-*-image

Now you have your [default] custom kernel config completely independent
of what gets delivered in com.gumstix...  Note I followed similar
concepts (start with copy of com.gumstix.collection/package/foo into
user.collection/packages/foo, tweak user.collection/packages/foo...) for
images, tasks, etc...  The main concept is: if it's found in
user.collection, it is used, else if it is found in
com.gumstix.collection it is used, else if it is in
org.openembedded.snapshot it is used, else error it cant be found.

What I haven't figured out yet is:

1.  How to cause new kernel module load scripts to get generated into
image.  See tmp/rootfs/etc/modutils/*.  How do these get generated?

Thanks,
John

> -----Original Message-----
> From: gumstix-users-bounces@...
> [mailto:gumstix-users-bounces@...] On
> Behalf Of Mathias Bage
> Sent: Wednesday, May 21, 2008 8:43 AM
> To: General mailing list for gumstix users.
> Subject: Re: [Gumstix-users] Kernel Hacking
>
>
>
> On Tue, 20 May 2008, Sergiy Fefilatyev wrote:
>
> > for me rebuild command did not produce the right results
>
>
> I had problems with kernel compiles too.
>
> After googling and trying some bitbake commands, I noticed
> that you can't
> (re)compile the kernel with 'bitbake -c rebuild gumstix-kernel' --
> 'rebuild' will download and unpack a fresh kernel source and
> then copy the
> file:
>
>  
> gumstix-oe/com.gumstix.collection/packages/linux/gumstix-kerne
l-2.6.21/gumstix-custom-verdex/defconfig
>
> to the file (assuming a uclibc target system and linux kernel version
> 2.6.21):
>
>  
> gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-uclib
cgnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config

>
>
> So, if you use 'bitbake gumstix-kernel -c rebuild' after a
> linux kernel
> menuconfig (using 'bitbake gumstix-kernel -c menuconfig'),
> your kernel
> .config file (path above) will have been overwritten by Gumstix Inc's
> default file (the .../defconfig file (see 11 lines above))
>
> To avoid this problem, I did the following;
>
>    bitbake gumstix-kernel -c menuconfig
>
>    bitbake gumstix-kernel -f -c compile
>
>    bitbake gumstix-kernel
>
>    bitbake -c rebuild task-base-gumstix
>
>    bitbake -c rebuild gumstix-directfb-image
>
> (replace gumstix-directfb-image  with your preferred image name)
> The '-f' is used to force a '-c compile'.
>
> >
> > On Tue, May 20, 2008 at 3:21 PM, Mark Barton
> <mark@...> wrote:
> >
> >> Mike Caruso wrote:
> >>> Hello list,
> >>> I was wondering if anybody knew how to build a custom kernel for a
> >>> Verdex running Open Embedded? I have a USB Ethernet
> adapter I'd like
> >>> to get working on my Verdex, it uses the RTL8150 driver. My first
> >>> thought was to try and add it to gumstix-custom-verdex.conf, but
> >>> wouldn't you need to enable it in the kernel config first
> so that it
> >>> knows to build that module? I found what appears to be the kernel
> >>> config in:
> [snip]
>
> /Mathias
>
> --------------------------------------------------------------
> -----------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@...
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Mike Caruso :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Mark,
THANKS! That was what I was looking for. To add on to those instructions, I had to add 'kernel-module-rtl8150' to the ethernet section of task-base-gumstix.bb and it all works :). Now, to find a way to get gphoto2 on there....

Mike

On Tue, May 20, 2008 at 7:21 PM, Mark Barton <mark@...> wrote:
Mike Caruso wrote:
> Hello list,
> I was wondering if anybody knew how to build a custom kernel for a
> Verdex running Open Embedded? I have a USB Ethernet adapter I'd like
> to get working on my Verdex, it uses the RTL8150 driver. My first
> thought was to try and add it to gumstix-custom-verdex.conf, but
> wouldn't you need to enable it in the kernel config first so that it
> knows to build that module? I found what appears to be the kernel
> config in:
>
>  ~/gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21
>
> So let's say I modify that to include the RTL8150 driver (as a
> module), how would I rebuild the Verdex image to include a kernel
> built from that config?
>
> Thanks,
> Mike
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> ------------------------------------------------------------------------
>
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@...
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
Hi Mike,

http://gumstix.net/wiki/index.php?title=Kernel_Reconfiguration

Not sure how complete since I have not tried this yet, but it might do
the trick.

Mark


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Kernel Hacking

by Mike Caruso :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

John,

> What I haven't figured out yet is:

>1.  How to cause new kernel module load scripts to get generated into
>image.  See tmp/rootfs/etc/modutils/*.  How do these get generated?

I don't know if this helps, but had to add the following to my 'gumstix-oe/com.gumstix.collection/packages/tasks/task-base-gumstix.bb' recipe for it to load the module into the image:

RECOMMENDS_task-base-gumstix-ethernet = "\
    kernel-module-smc91x \
    kernel-module-smc911x \
    kernel-module-rtl8150 \
    "
Note the addition of the rtl8150 kernel module line. This appears to add the appropriate packages and scripts into the  'task-base-gumstix-ethernet_1.0-r9_gumstix-custom-verdex.ipk' package which gets installed into the root file system.

I think next time I'll try your method :^) Alternatively, does anybody know of a way of just replacing the kernel without replacing the whole file system?

Thanks,
Mike

On Wed, May 21, 2008 at 1:58 PM, Pauley, John C <John.C.Pauley@...> wrote:
I believe the problem of supplying your own kernel config has answered
though not directly or definitively (that I could find)...  See
http://www.nabble.com/Switching-from-Buildroot-to-OE-%28Open-Embedded%29
-to14713242.html#a14720004
, which gives the basic concept.  I'll attempt
to summarize what I've done with the kernel (though TODO's still
remain).  Hope it's the OE way:).  Hope this helps and that I haven't
forgot anything...

Assumes you in your gumstix-oe directory and you've already successfully
baked gumstix-*-image:

Get base kernel package into your user.collection:

gumstix-oe]$ mkdir -p user.collection/packages/linux
gumstix-oe]$ cp -r com.gumstix.collection/packages/linux/*
user.collection/packages/linux/

Make kernel changes (note I'm using connex platform):

gumstix-oe]$ cd
tmp/work/gumstix-custom-connex-angstrom-linux-gnueabi/gumstix-kernel-2.6
.21-r1/linux-2.6.21/
linux-2.6.21]$ make ARCH=arm menuconfig
[Make your changes and save]

Copy the new kernel configuration to be your default config:

linux-2.6.21]$ cat .config >
~/gumstix-oe/user.collection.packages/linux/gumstix-kernel-2.6.21/gumsti
x-custom-connex/defconfig

Rebuild:

gumstix-oe]$ bitbake -c rebuild gumstix-kernel
gumstix-oe]$ bitbake -c rebuild task-base-gumstix
gumstix-oe]$ bitbake -c rebuild gumstix-*-image

Now you have your [default] custom kernel config completely independent
of what gets delivered in com.gumstix...  Note I followed similar
concepts (start with copy of com.gumstix.collection/package/foo into
user.collection/packages/foo, tweak user.collection/packages/foo...) for
images, tasks, etc...  The main concept is: if it's found in
user.collection, it is used, else if it is found in
com.gumstix.collection it is used, else if it is in
org.openembedded.snapshot it is used, else error it cant be found.

What I haven't figured out yet is:

1.  How to cause new kernel module load scripts to get generated into
image.  See tmp/rootfs/etc/modutils/*.  How do these get generated?

Thanks,
John

> -----Original Message-----
> From: gumstix-users-bounces@...
> [mailto:gumstix-users-bounces@...] On
> Behalf Of Mathias Bage
> Sent: Wednesday, May 21, 2008 8:43 AM
> To: General mailing list for gumstix users.
> Subject: Re: [Gumstix-users] Kernel Hacking
>
>
>
> On Tue, 20 May 2008, Sergiy Fefilatyev wrote:
>
> > for me rebuild command did not produce the right results
>
>
> I had problems with kernel compiles too.
>
> After googling and trying some bitbake commands, I noticed
> that you can't
> (re)compile the kernel with 'bitbake -c rebuild gumstix-kernel' --
> 'rebuild' will download and unpack a fresh kernel source and
> then copy the
> file:
>
>
> gumstix-oe/com.gumstix.collection/packages/linux/gumstix-kerne
l-2.6.21/gumstix-custom-verdex/defconfig
>
> to the file (assuming a uclibc target system and linux kernel version
> 2.6.21):
>
>
> gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-uclib
cgnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config
>
>
> So, if you use 'bitbake gumstix-kernel -c rebuild' after a
> linux kernel
> menuconfig (using 'bitbake gumstix-kernel -c menuconfig'),
> your kernel
> .config file (path above) will have been overwritten by Gumstix Inc's
> default file (the .../defconfig file (see 11 lines above))
>
> To avoid this problem, I did the following;
>
>    bitbake gumstix-kernel -c menuconfig
>
>    bitbake gumstix-kernel -f -c compile
>
>    bitbake gumstix-kernel
>
>    bitbake -c rebuild task-base-gumstix
>
>    bitbake -c rebuild gumstix-directfb-image
>
> (replace gumstix-directfb-image  with your preferred image name)
> The '-f' is used to force a '-c compile'.
>
> >
> > On Tue, May 20, 2008 at 3:21 PM, Mark Barton
> <mark@...> wrote:
> >
> >> Mike Caruso wrote:
> >>> Hello list,
> >>> I was wondering if anybody knew how to build a custom kernel for a
> >>> Verdex running Open Embedded? I have a USB Ethernet
> adapter I'd like
> >>> to get working on my Verdex, it uses the RTL8150 driver. My first
> >>> thought was to try and add it to gumstix-custom-verdex.conf, but
> >>> wouldn't you need to enable it in the kernel config first
> so that it
> >>> knows to build that module? I found what appears to be the kernel
> >>> config in:
> [snip]
>
> /Mathias
>
> --------------------------------------------------------------
> -----------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@...
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users