All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
       [not found] <mailman.22068.1648533484.192135.buildroot@buildroot.org>
@ 2022-03-29  9:40 ` Andreas Ziegler
  2022-03-29 12:48   ` Dan Jackson
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-29  9:40 UTC (permalink / raw)
  To: Dan Jackson; +Cc: Buildroot

Hi Dan,

On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:

> Hello,
> 
> Sorry once again if this is a silly/noob question.
> 
> If I have an existing router device running a 2.6.39.3 kernel, which
> has a USB port and is capable of supporting USB devices, but the
> manufacturer has removed/not installed the necessary kernel modules,
> can I use Buildroot to recreate the missing modules and thus re-enable
> the missing USB support?

It might work: the driver is contained in the USB module, so building 
and loading that module could do the trick.

> If so, how would I do it?

Supposing the Linux kernel source contained in [1] is the one that is 
running on your device, you need to configure Buildroot to build a Linux 
kernel (BR2_LINUX_KERNEL). The manual [2] has some information about how 
to do this for a Kernel source tree (see chapter 8.14.6).

You then need to enable USB support in the kernel (Device Drivers -> USB 
support), probably

   CONFIG_USB=m
   CONFIG_USB_EHCI_HCD=y
   CONFIG_USB_OHCI_HCD=y

is enough, otherwise try some of the hardware specific (driver) options.

Copy usbcore.ko from Buildroot target/lib/modules/{kernel-version}/ to 
the corresponding location on your device and load the driver with 
modprobe.

Depending on which functionality (e.g. USB_STORAGE) you want on your USB 
port, additional configurations changes may be necessary.

Kind regards,
Andreas

> This time I successfully managed to build other binaries (e.g.
> dropbear, busybox) which run OK on the device.
> 
> Thanks,
> Dan Jackson.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://lists.buildroot.org/pipermail/buildroot/attachments/20220329/43c49a2d/attachment.html>

[1] 
https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103FB/
[2] https://buildroot.org/downloads/manual/manual.html#_advanced_usage,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29  9:40 ` [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible? Andreas Ziegler
@ 2022-03-29 12:48   ` Dan Jackson
  2022-03-29 15:13     ` Andreas Ziegler
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Jackson @ 2022-03-29 12:48 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: buildroot



> -----Original Message-----
> From: Andreas Ziegler <br015@umbiko.net>
> Sent: 29 March 2022 10:40
> To: Dan Jackson <dan@thejacksons.uk>
> Cc: Buildroot <buildroot@buildroot.org>
> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel -
> possible?
> 
> Hi Dan,
> 
> On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:
> 
> > Hello,
> >
> > Sorry once again if this is a silly/noob question.
> >
> > If I have an existing router device running a 2.6.39.3 kernel, which
> > has a USB port and is capable of supporting USB devices, but the
> > manufacturer has removed/not installed the necessary kernel modules,
> > can I use Buildroot to recreate the missing modules and thus re-enable
> > the missing USB support?
> 
> It might work: the driver is contained in the USB module, so building and
> loading that module could do the trick.
> 
> > If so, how would I do it?
> 
> Supposing the Linux kernel source contained in [1] is the one that is running
> on your device, you need to configure Buildroot to build a Linux kernel
> (BR2_LINUX_KERNEL). The manual [2] has some information about how to
> do this for a Kernel source tree (see chapter 8.14.6).

It looks like I got that part to work. The buildroot build process definitely seems to be able to see the kernel source tree which is in /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src.

> 
> You then need to enable USB support in the kernel (Device Drivers -> USB
> support), probably
> 
>    CONFIG_USB=m
>    CONFIG_USB_EHCI_HCD=y
>    CONFIG_USB_OHCI_HCD=y
> 
> is enough, otherwise try some of the hardware specific (driver) options.

This is where I have fallen down. I did "make linux-menuconfig" expecting to be able to configure the kernel/modules (as I couldn't see any options for that in buildroot's own "make menuconfig").

However, at this point it seems like it went off and tried to build the whole kernel from a default configuration.

This eventually failed, so I tried "make linux-reconfigure" at that point but that did not work either.

Here is the error it gave upon failure:

/home/danj/buildroot-2022.02/output/host/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/../../../../armeb-buildroot-linux-uclibcgnueabi/bin/ld: /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/liblto_plugin.so: error loading plugin: /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/liblto_plugin.so: undefined symbol: _onload
collect2: error: ld returned 1 exit status
Makefile.in:114: recipe for target '../utils/getconf' failed
make[3]: *** [../utils/getconf] Error 1
Makefile.in:455: recipe for target 'utils' failed
make[2]: *** [utils] Error 2
package/pkg-generic.mk:380: recipe for target '/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target_installed' failed
make[1]: *** [/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target_installed] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

Looking at this error message, maybe I need to select an older version of gcc, in my buildroot configuration? Is it that the kernel can only be compiled by gcc versions that existed at the time?

> 
> Copy usbcore.ko from Buildroot target/lib/modules/{kernel-version}/ to the
> corresponding location on your device and load the driver with modprobe.
> 
> Depending on which functionality (e.g. USB_STORAGE) you want on your
> USB port, additional configurations changes may be necessary.

Yes, USB storage functionality is what I would like to add back in. Incidentally, this is a newer router than the one I was experimenting with before; this one has a Puma 6 CPU. Though, oddly I found it necessary to select an armv5 CPU type in buildroot in order to get binaries that work, despite /proc/cpuinfo on the device claiming it is armv6.

> 
> Kind regards,
> Andreas
> 
> > This time I successfully managed to build other binaries (e.g.
> > dropbear, busybox) which run OK on the device.
> >
> > Thanks,
> > Dan Jackson.
> > -------------- next part -------------- An HTML attachment was
> > scrubbed...
> > URL:
> > <http://lists.buildroot.org/pipermail/buildroot/attachments/20220329/4
> > 3c49a2d/attachment.html>
> 
> [1]
> https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103FB/
> [2]
> https://buildroot.org/downloads/manual/manual.html#_advanced_usage,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29 12:48   ` Dan Jackson
@ 2022-03-29 15:13     ` Andreas Ziegler
  2022-03-29 16:17       ` Dan Jackson
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-29 15:13 UTC (permalink / raw)
  To: Dan Jackson; +Cc: buildroot

Hi Dan,

On 2022-03-29 12:48, Dan Jackson wrote:
>> -----Original Message-----
>> From: Andreas Ziegler <br015@umbiko.net>
>> Sent: 29 March 2022 10:40
>> To: Dan Jackson <dan@thejacksons.uk>
>> Cc: Buildroot <buildroot@buildroot.org>
>> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel 
>> -
>> possible?
>> 
>> Hi Dan,
>> 
>> On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:
>> 
>> > Hello,
>> >
>> > Sorry once again if this is a silly/noob question.
>> >
>> > If I have an existing router device running a 2.6.39.3 kernel, which
>> > has a USB port and is capable of supporting USB devices, but the
>> > manufacturer has removed/not installed the necessary kernel modules,
>> > can I use Buildroot to recreate the missing modules and thus re-enable
>> > the missing USB support?
>> 
>> It might work: the driver is contained in the USB module, so building 
>> and
>> loading that module could do the trick.
>> 
>> > If so, how would I do it?
>> 
>> Supposing the Linux kernel source contained in [1] is the one that is 
>> running
>> on your device, you need to configure Buildroot to build a Linux 
>> kernel
>> (BR2_LINUX_KERNEL). The manual [2] has some information about how to
>> do this for a Kernel source tree (see chapter 8.14.6).
> 
> It looks like I got that part to work. The buildroot build process
> definitely seems to be able to see the kernel source tree which is in
> /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src.
> 
>> 
>> You then need to enable USB support in the kernel (Device Drivers -> 
>> USB
>> support), probably
>> 
>>    CONFIG_USB=m
>>    CONFIG_USB_EHCI_HCD=y
>>    CONFIG_USB_OHCI_HCD=y
>> 
>> is enough, otherwise try some of the hardware specific (driver) 
>> options.
> 
> This is where I have fallen down. I did "make linux-menuconfig"
> expecting to be able to configure the kernel/modules (as I couldn't
> see any options for that in buildroot's own "make menuconfig").
> 
> However, at this point it seems like it went off and tried to build
> the whole kernel from a default configuration.

'make linux-menuconfig' needs a working build system. If they are not 
present, all dependencies of the Linux package get built. First step is 
the installation of the kernel source; if Buildroot tries to install a 
default kernel, something is amiss with your configuration.

> This eventually failed, so I tried "make linux-reconfigure" at that
> point but that did not work either.
> 
> Here is the error it gave upon failure:
> 
> /home/danj/buildroot-2022.02/output/host/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/../../../../armeb-buildroot-linux-uclibcgnueabi/bin/ld:
> /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> error loading plugin:
> /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> undefined symbol: _onload
> collect2: error: ld returned 1 exit status
> Makefile.in:114: recipe for target '../utils/getconf' failed
> make[3]: *** [../utils/getconf] Error 1
> Makefile.in:455: recipe for target 'utils' failed
> make[2]: *** [utils] Error 2
> package/pkg-generic.mk:380: recipe for target
> '/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target_installed'
> failed
> make[1]: ***
> [/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target_installed]
> Error 2
> Makefile:84: recipe for target '_all' failed
> make: *** [_all] Error 2

This error is from the uClibc build - do you use an internal or external 
toolchain? Maybe you have conflicting static /dynamic library options? 
Again, probably a buildroot misconfiguration ...

Maybe you could post your buildroot configuration (the result of make 
savedefconfig)?

> Looking at this error message, maybe I need to select an older version
> of gcc, in my buildroot configuration? Is it that the kernel can only
> be compiled by gcc versions that existed at the time?

Older kernels used to have a include/compiler.h which had predefined 
includes for specific compiler versions. Use the oldest compiler 
available in Buildroot and try to either get a compiler-gcc9.h from a 
newer kernel or make your own. I believe this schema changed somewhere 
between 3.x and 4.x For newer compilers, this file is comparatively 
empty.

>> 
>> Copy usbcore.ko from Buildroot target/lib/modules/{kernel-version}/ to 
>> the
>> corresponding location on your device and load the driver with 
>> modprobe.
>> 
>> Depending on which functionality (e.g. USB_STORAGE) you want on your
>> USB port, additional configurations changes may be necessary.
> 
> Yes, USB storage functionality is what I would like to add back in.
> Incidentally, this is a newer router than the one I was experimenting
> with before; this one has a Puma 6 CPU. Though, oddly I found it
> necessary to select an armv5 CPU type in buildroot in order to get
> binaries that work, despite /proc/cpuinfo on the device claiming it is
> armv6.
> 
>> 
>> Kind regards,
>> Andreas
>> 
>> > This time I successfully managed to build other binaries (e.g.
>> > dropbear, busybox) which run OK on the device.
>> >
>> > Thanks,
>> > Dan Jackson.
>> > -------------- next part -------------- An HTML attachment was
>> > scrubbed...
>> > URL:
>> > <http://lists.buildroot.org/pipermail/buildroot/attachments/20220329/4
>> > 3c49a2d/attachment.html>
>> 
>> [1]
>> https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103FB/
>> [2]
>> https://buildroot.org/downloads/manual/manual.html#_advanced_usage,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29 15:13     ` Andreas Ziegler
@ 2022-03-29 16:17       ` Dan Jackson
  2022-03-29 17:52         ` Andreas Ziegler
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Jackson @ 2022-03-29 16:17 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: buildroot



> -----Original Message-----
> From: Andreas Ziegler <br015@umbiko.net>
> Sent: 29 March 2022 16:14
> To: Dan Jackson <dan@thejacksons.uk>
> Cc: buildroot@buildroot.org
> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel -
> possible?
> 
> Hi Dan,
> 
> On 2022-03-29 12:48, Dan Jackson wrote:
> >> -----Original Message-----
> >> From: Andreas Ziegler <br015@umbiko.net>
> >> Sent: 29 March 2022 10:40
> >> To: Dan Jackson <dan@thejacksons.uk>
> >> Cc: Buildroot <buildroot@buildroot.org>
> >> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel
> >> -
> >> possible?
> >>
> >> Hi Dan,
> >>
> >> On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:
> >>
> >> > Hello,
> >> >
> >> > Sorry once again if this is a silly/noob question.
> >> >
> >> > If I have an existing router device running a 2.6.39.3 kernel,
> >> > which has a USB port and is capable of supporting USB devices, but
> >> > the manufacturer has removed/not installed the necessary kernel
> >> > modules, can I use Buildroot to recreate the missing modules and
> >> > thus re-enable the missing USB support?
> >>
> >> It might work: the driver is contained in the USB module, so building
> >> and loading that module could do the trick.
> >>
> >> > If so, how would I do it?
> >>
> >> Supposing the Linux kernel source contained in [1] is the one that is
> >> running on your device, you need to configure Buildroot to build a
> >> Linux kernel (BR2_LINUX_KERNEL). The manual [2] has some information
> >> about how to do this for a Kernel source tree (see chapter 8.14.6).
> >
> > It looks like I got that part to work. The buildroot build process
> > definitely seems to be able to see the kernel source tree which is in
> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src.
> >
> >>
> >> You then need to enable USB support in the kernel (Device Drivers ->
> >> USB support), probably
> >>
> >>    CONFIG_USB=m
> >>    CONFIG_USB_EHCI_HCD=y
> >>    CONFIG_USB_OHCI_HCD=y
> >>
> >> is enough, otherwise try some of the hardware specific (driver)
> >> options.
> >
> > This is where I have fallen down. I did "make linux-menuconfig"
> > expecting to be able to configure the kernel/modules (as I couldn't
> > see any options for that in buildroot's own "make menuconfig").
> >
> > However, at this point it seems like it went off and tried to build
> > the whole kernel from a default configuration.
> 
> 'make linux-menuconfig' needs a working build system. If they are not
> present, all dependencies of the Linux package get built. First step is the
> installation of the kernel source; if Buildroot tries to install a default kernel,
> something is amiss with your configuration.
> 
> > This eventually failed, so I tried "make linux-reconfigure" at that
> > point but that did not work either.
> >
> > Here is the error it gave upon failure:
> >
> > /home/danj/buildroot-2022.02/output/host/lib/gcc/armeb-buildroot-
> linux-uclibcgnueabi/11.2.0/../../../../armeb-buildroot-linux-
> uclibcgnueabi/bin/ld:
> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-
> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> > error loading plugin:
> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-
> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> > undefined symbol: _onload
> > collect2: error: ld returned 1 exit status
> > Makefile.in:114: recipe for target '../utils/getconf' failed
> > make[3]: *** [../utils/getconf] Error 1
> > Makefile.in:455: recipe for target 'utils' failed
> > make[2]: *** [utils] Error 2
> > package/pkg-generic.mk:380: recipe for target
> > '/home/danj/buildroot-2022.02/output/build/uclibc-
> 1.0.40/.stamp_target_installed'
> > failed
> > make[1]: ***
> > [/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target
> > _installed]
> > Error 2
> > Makefile:84: recipe for target '_all' failed
> > make: *** [_all] Error 2
> 
> This error is from the uClibc build - do you use an internal or external
> toolchain? Maybe you have conflicting static /dynamic library options?
> Again, probably a buildroot misconfiguration ...

This turned out to be that I had some wrong environment variables set from a previous attempt. Logged out and back in and now I am past that error.

> 
> Maybe you could post your buildroot configuration (the result of make
> savedefconfig)?

It's quite short as it turns out:

BR2_armeb=y
BR2_STATIC_LIBS=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_PTHREAD_DEBUG=y
BR2_BINUTILS_VERSION_2_37_X=y
BR2_GCC_VERSION_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_GDB_VERSION_9_2=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions.h"
BR2_PACKAGE_JOE=y

I can see I have got a USE_ARCH_DEFAULT_CONFIG in there which I'm guessing is part of my problems?

> 
> > Looking at this error message, maybe I need to select an older version
> > of gcc, in my buildroot configuration? Is it that the kernel can only
> > be compiled by gcc versions that existed at the time?
> 
> Older kernels used to have a include/compiler.h which had predefined
> includes for specific compiler versions. Use the oldest compiler available in
> Buildroot and try to either get a compiler-gcc9.h from a newer kernel or
> make your own. I believe this schema changed somewhere between 3.x and
> 4.x For newer compilers, this file is comparatively empty.

GCC 9.x is the oldest option available in current buildroot so I have switched to that.

I found a compiler-gcc5.h in kernel 4.1, newer kernels do not have any numbered files of this type at all. I downloaded this one and symlinked it as compiler-gcc9.h and it looks like this got me past this error.

However, now I have a new missing file error, and I can't seem to locate a suitable candidate:

In file included from /home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/system.h:165,
                 from /home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/bitops.h:27,
                 from include/linux/bitops.h:22,
                 from include/linux/kernel.h:17,
                 from include/linux/sched.h:55,
                 from arch/arm/kernel/asm-offsets.c:13:
/home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/memory.h:19:10: fatal error: mach/memory.h: No such file or directory
   19 | #include <mach/memory.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
/home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81: recipe for target 'arch/arm/kernel/asm-offsets.s' failed
make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
Makefile:1009: recipe for target 'prepare0' failed
make[2]: *** [prepare0] Error 2
make[2]: *** Waiting for unfinished jobs....
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
make[2]: *** wait: No child processes. Stop.
package/pkg-generic.mk:289: recipe for target '/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built' failed
make[1]: *** [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

I think maybe I am still doing something wrong because it sure seems to be compiling a lot of stuff instead of letting me configure things.

> 
> >>
> >> Copy usbcore.ko from Buildroot target/lib/modules/{kernel-version}/
> >> to the corresponding location on your device and load the driver with
> >> modprobe.
> >>
> >> Depending on which functionality (e.g. USB_STORAGE) you want on your
> >> USB port, additional configurations changes may be necessary.
> >
> > Yes, USB storage functionality is what I would like to add back in.
> > Incidentally, this is a newer router than the one I was experimenting
> > with before; this one has a Puma 6 CPU. Though, oddly I found it
> > necessary to select an armv5 CPU type in buildroot in order to get
> > binaries that work, despite /proc/cpuinfo on the device claiming it is
> > armv6.
> >
> >>
> >> Kind regards,
> >> Andreas
> >>
> >> > This time I successfully managed to build other binaries (e.g.
> >> > dropbear, busybox) which run OK on the device.
> >> >
> >> > Thanks,
> >> > Dan Jackson.
> >> > -------------- next part -------------- An HTML attachment was
> >> > scrubbed...
> >> > URL:
> >> > <http://lists.buildroot.org/pipermail/buildroot/attachments/2022032
> >> > 9/4
> >> > 3c49a2d/attachment.html>
> >>
> >> [1]
> >> https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103FB/
> >> [2]
> >>
> https://buildroot.org/downloads/manual/manual.html#_advanced_usage,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29 16:17       ` Dan Jackson
@ 2022-03-29 17:52         ` Andreas Ziegler
  2022-03-29 19:19           ` Dan Jackson
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-29 17:52 UTC (permalink / raw)
  To: Dan Jackson; +Cc: buildroot

On 2022-03-29 16:17, Dan Jackson wrote:
>> -----Original Message-----
>> From: Andreas Ziegler <br015@umbiko.net>
>> Sent: 29 March 2022 16:14
>> To: Dan Jackson <dan@thejacksons.uk>
>> Cc: buildroot@buildroot.org
>> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel 
>> -
>> possible?
>> 
>> Hi Dan,
>> 
>> On 2022-03-29 12:48, Dan Jackson wrote:
>> >> -----Original Message-----
>> >> From: Andreas Ziegler <br015@umbiko.net>
>> >> Sent: 29 March 2022 10:40
>> >> To: Dan Jackson <dan@thejacksons.uk>
>> >> Cc: Buildroot <buildroot@buildroot.org>
>> >> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel
>> >> -
>> >> possible?
>> >>
>> >> Hi Dan,
>> >>
>> >> On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:
>> >>
>> >> > Hello,
>> >> >
>> >> > Sorry once again if this is a silly/noob question.
>> >> >
>> >> > If I have an existing router device running a 2.6.39.3 kernel,
>> >> > which has a USB port and is capable of supporting USB devices, but
>> >> > the manufacturer has removed/not installed the necessary kernel
>> >> > modules, can I use Buildroot to recreate the missing modules and
>> >> > thus re-enable the missing USB support?
>> >>
>> >> It might work: the driver is contained in the USB module, so building
>> >> and loading that module could do the trick.
>> >>
>> >> > If so, how would I do it?
>> >>
>> >> Supposing the Linux kernel source contained in [1] is the one that is
>> >> running on your device, you need to configure Buildroot to build a
>> >> Linux kernel (BR2_LINUX_KERNEL). The manual [2] has some information
>> >> about how to do this for a Kernel source tree (see chapter 8.14.6).
>> >
>> > It looks like I got that part to work. The buildroot build process
>> > definitely seems to be able to see the kernel source tree which is in
>> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src.
>> >
>> >>
>> >> You then need to enable USB support in the kernel (Device Drivers ->
>> >> USB support), probably
>> >>
>> >>    CONFIG_USB=m
>> >>    CONFIG_USB_EHCI_HCD=y
>> >>    CONFIG_USB_OHCI_HCD=y
>> >>
>> >> is enough, otherwise try some of the hardware specific (driver)
>> >> options.
>> >
>> > This is where I have fallen down. I did "make linux-menuconfig"
>> > expecting to be able to configure the kernel/modules (as I couldn't
>> > see any options for that in buildroot's own "make menuconfig").
>> >
>> > However, at this point it seems like it went off and tried to build
>> > the whole kernel from a default configuration.
>> 
>> 'make linux-menuconfig' needs a working build system. If they are not
>> present, all dependencies of the Linux package get built. First step 
>> is the
>> installation of the kernel source; if Buildroot tries to install a 
>> default kernel,
>> something is amiss with your configuration.
>> 
>> > This eventually failed, so I tried "make linux-reconfigure" at that
>> > point but that did not work either.
>> >
>> > Here is the error it gave upon failure:
>> >
>> > /home/danj/buildroot-2022.02/output/host/lib/gcc/armeb-buildroot-
>> linux-uclibcgnueabi/11.2.0/../../../../armeb-buildroot-linux-
>> uclibcgnueabi/bin/ld:
>> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-
>> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
>> > error loading plugin:
>> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-buildroot-
>> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
>> > undefined symbol: _onload
>> > collect2: error: ld returned 1 exit status
>> > Makefile.in:114: recipe for target '../utils/getconf' failed
>> > make[3]: *** [../utils/getconf] Error 1
>> > Makefile.in:455: recipe for target 'utils' failed
>> > make[2]: *** [utils] Error 2
>> > package/pkg-generic.mk:380: recipe for target
>> > '/home/danj/buildroot-2022.02/output/build/uclibc-
>> 1.0.40/.stamp_target_installed'
>> > failed
>> > make[1]: ***
>> > [/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_target
>> > _installed]
>> > Error 2
>> > Makefile:84: recipe for target '_all' failed
>> > make: *** [_all] Error 2
>> 
>> This error is from the uClibc build - do you use an internal or 
>> external
>> toolchain? Maybe you have conflicting static /dynamic library options?
>> Again, probably a buildroot misconfiguration ...
> 
> This turned out to be that I had some wrong environment variables set
> from a previous attempt. Logged out and back in and now I am past that
> error.
> 
>> 
>> Maybe you could post your buildroot configuration (the result of make
>> savedefconfig)?
> 
> It's quite short as it turns out:
> 
> BR2_armeb=y
> BR2_STATIC_LIBS=y
> BR2_KERNEL_HEADERS_VERSION=y
> BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
> BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> BR2_PTHREAD_DEBUG=y
> BR2_BINUTILS_VERSION_2_37_X=y
> BR2_GCC_VERSION_9_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_HOST_GDB=y
> BR2_GDB_VERSION_9_2=y
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
> BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> BR2_PACKAGE_DROPBEAR=y
> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions.h"
> BR2_PACKAGE_JOE=y

The configuration uses a kernel downloaded from kernel.org, not the 
vendor kernel. You need to configure Buildroot to use a custom source 
directory.

> I can see I have got a USE_ARCH_DEFAULT_CONFIG in there which I'm
> guessing is part of my problems?

You need to configure Buildroot to use your existing .config with 
BR2_LINUX_CUSTOM_KERNEL_CONFIG_FILE.

>> 
>> > Looking at this error message, maybe I need to select an older version
>> > of gcc, in my buildroot configuration? Is it that the kernel can only
>> > be compiled by gcc versions that existed at the time?
>> 
>> Older kernels used to have a include/compiler.h which had predefined
>> includes for specific compiler versions. Use the oldest compiler 
>> available in
>> Buildroot and try to either get a compiler-gcc9.h from a newer kernel 
>> or
>> make your own. I believe this schema changed somewhere between 3.x and
>> 4.x For newer compilers, this file is comparatively empty.
> 
> GCC 9.x is the oldest option available in current buildroot so I have
> switched to that.
> 
> I found a compiler-gcc5.h in kernel 4.1, newer kernels do not have any
> numbered files of this type at all. I downloaded this one and
> symlinked it as compiler-gcc9.h and it looks like this got me past
> this error.
> 
> However, now I have a new missing file error, and I can't seem to
> locate a suitable candidate:
> 
> In file included from
> /home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/system.h:165,
>                  from
> /home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/bitops.h:27,
>                  from include/linux/bitops.h:22,
>                  from include/linux/kernel.h:17,
>                  from include/linux/sched.h:55,
>                  from arch/arm/kernel/asm-offsets.c:13:
> /home/danj/buildroot-2022.02/output/build/linux-custom/arch/arm/include/asm/memory.h:19:10:
> fatal error: mach/memory.h: No such file or directory
>    19 | #include <mach/memory.h>
>       |          ^~~~~~~~~~~~~~~
> compilation terminated.
> /home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81:
> recipe for target 'arch/arm/kernel/asm-offsets.s' failed
> make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> Makefile:1009: recipe for target 'prepare0' failed
> make[2]: *** [prepare0] Error 2
> make[2]: *** Waiting for unfinished jobs....
>   HOSTCC  scripts/mod/modpost.o
>   HOSTCC  scripts/mod/sumversion.o
>   HOSTLD  scripts/mod/modpost
> make[2]: *** wait: No child processes. Stop.
> package/pkg-generic.mk:289: recipe for target
> '/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built'
> failed
> make[1]: ***
> [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built]
> Error 2
> Makefile:84: recipe for target '_all' failed
> make: *** [_all] Error 2

This seems not to be the defconfig from above? It now uses linux-custom 
... The failure may be due to the default kernel configuration. Try to 
configure the correct one and see if you get further.

> I think maybe I am still doing something wrong because it sure seems
> to be compiling a lot of stuff instead of letting me configure things.

It gets better once everything necessary is built.

>> 
>> >>
>> >> Copy usbcore.ko from Buildroot target/lib/modules/{kernel-version}/
>> >> to the corresponding location on your device and load the driver with
>> >> modprobe.
>> >>
>> >> Depending on which functionality (e.g. USB_STORAGE) you want on your
>> >> USB port, additional configurations changes may be necessary.
>> >
>> > Yes, USB storage functionality is what I would like to add back in.
>> > Incidentally, this is a newer router than the one I was experimenting
>> > with before; this one has a Puma 6 CPU. Though, oddly I found it
>> > necessary to select an armv5 CPU type in buildroot in order to get
>> > binaries that work, despite /proc/cpuinfo on the device claiming it is
>> > armv6.
>> >
>> >>
>> >> Kind regards,
>> >> Andreas
>> >>
>> >> > This time I successfully managed to build other binaries (e.g.
>> >> > dropbear, busybox) which run OK on the device.
>> >> >
>> >> > Thanks,
>> >> > Dan Jackson.
>> >> > -------------- next part -------------- An HTML attachment was
>> >> > scrubbed...
>> >> > URL:
>> >> > <http://lists.buildroot.org/pipermail/buildroot/attachments/2022032
>> >> > 9/4
>> >> > 3c49a2d/attachment.html>
>> >>
>> >> [1]
>> >> https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103FB/
>> >> [2]
>> >>
>> https://buildroot.org/downloads/manual/manual.html#_advanced_usage,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29 17:52         ` Andreas Ziegler
@ 2022-03-29 19:19           ` Dan Jackson
  2022-03-30  7:13             ` Andreas Ziegler
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Jackson @ 2022-03-29 19:19 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: buildroot

[-- Attachment #1: Type: text/plain, Size: 12437 bytes --]



> -----Original Message-----
> From: Andreas Ziegler <br015@umbiko.net>
> Sent: 29 March 2022 18:52
> To: Dan Jackson <dan@thejacksons.uk>
> Cc: buildroot@buildroot.org
> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel -
> possible?
> 
> On 2022-03-29 16:17, Dan Jackson wrote:
> >> -----Original Message-----
> >> From: Andreas Ziegler <br015@umbiko.net>
> >> Sent: 29 March 2022 16:14
> >> To: Dan Jackson <dan@thejacksons.uk>
> >> Cc: buildroot@buildroot.org
> >> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel
> >> -
> >> possible?
> >>
> >> Hi Dan,
> >>
> >> On 2022-03-29 12:48, Dan Jackson wrote:
> >> >> -----Original Message-----
> >> >> From: Andreas Ziegler <br015@umbiko.net>
> >> >> Sent: 29 March 2022 10:40
> >> >> To: Dan Jackson <dan@thejacksons.uk>
> >> >> Cc: Buildroot <buildroot@buildroot.org>
> >> >> Subject: Re: Adding USB support to existing device on 2.6.39.3
> >> >> kernel
> >> >> -
> >> >> possible?
> >> >>
> >> >> Hi Dan,
> >> >>
> >> >> On 2022-03-29 05:58, Dan Jackson <dan@thejacksons.uk> wrote:
> >> >>
> >> >> > Hello,
> >> >> >
> >> >> > Sorry once again if this is a silly/noob question.
> >> >> >
> >> >> > If I have an existing router device running a 2.6.39.3 kernel,
> >> >> > which has a USB port and is capable of supporting USB devices,
> >> >> > but the manufacturer has removed/not installed the necessary
> >> >> > kernel modules, can I use Buildroot to recreate the missing
> >> >> > modules and thus re-enable the missing USB support?
> >> >>
> >> >> It might work: the driver is contained in the USB module, so
> >> >> building and loading that module could do the trick.
> >> >>
> >> >> > If so, how would I do it?
> >> >>
> >> >> Supposing the Linux kernel source contained in [1] is the one that
> >> >> is running on your device, you need to configure Buildroot to
> >> >> build a Linux kernel (BR2_LINUX_KERNEL). The manual [2] has some
> >> >> information about how to do this for a Kernel source tree (see chapter
> 8.14.6).
> >> >
> >> > It looks like I got that part to work. The buildroot build process
> >> > definitely seems to be able to see the kernel source tree which is
> >> > in /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-
> 2.6.39.3/src.
> >> >
> >> >>
> >> >> You then need to enable USB support in the kernel (Device Drivers
> >> >> -> USB support), probably
> >> >>
> >> >>    CONFIG_USB=m
> >> >>    CONFIG_USB_EHCI_HCD=y
> >> >>    CONFIG_USB_OHCI_HCD=y
> >> >>
> >> >> is enough, otherwise try some of the hardware specific (driver)
> >> >> options.
> >> >
> >> > This is where I have fallen down. I did "make linux-menuconfig"
> >> > expecting to be able to configure the kernel/modules (as I couldn't
> >> > see any options for that in buildroot's own "make menuconfig").
> >> >
> >> > However, at this point it seems like it went off and tried to build
> >> > the whole kernel from a default configuration.
> >>
> >> 'make linux-menuconfig' needs a working build system. If they are not
> >> present, all dependencies of the Linux package get built. First step
> >> is the installation of the kernel source; if Buildroot tries to
> >> install a default kernel, something is amiss with your configuration.
> >>
> >> > This eventually failed, so I tried "make linux-reconfigure" at that
> >> > point but that did not work either.
> >> >
> >> > Here is the error it gave upon failure:
> >> >
> >> > /home/danj/buildroot-2022.02/output/host/lib/gcc/armeb-buildroot-
> >> linux-uclibcgnueabi/11.2.0/../../../../armeb-buildroot-linux-
> >> uclibcgnueabi/bin/ld:
> >> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-
> buildroo
> >> > t-
> >> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> >> > error loading plugin:
> >> > /home/danj/buildroot-2022.02/output/host/libexec/gcc/armeb-
> buildroo
> >> > t-
> >> linux-uclibcgnueabi/11.2.0/liblto_plugin.so:
> >> > undefined symbol: _onload
> >> > collect2: error: ld returned 1 exit status
> >> > Makefile.in:114: recipe for target '../utils/getconf' failed
> >> > make[3]: *** [../utils/getconf] Error 1
> >> > Makefile.in:455: recipe for target 'utils' failed
> >> > make[2]: *** [utils] Error 2
> >> > package/pkg-generic.mk:380: recipe for target
> >> > '/home/danj/buildroot-2022.02/output/build/uclibc-
> >> 1.0.40/.stamp_target_installed'
> >> > failed
> >> > make[1]: ***
> >> > [/home/danj/buildroot-2022.02/output/build/uclibc-1.0.40/.stamp_tar
> >> > get
> >> > _installed]
> >> > Error 2
> >> > Makefile:84: recipe for target '_all' failed
> >> > make: *** [_all] Error 2
> >>
> >> This error is from the uClibc build - do you use an internal or
> >> external toolchain? Maybe you have conflicting static /dynamic
> >> library options?
> >> Again, probably a buildroot misconfiguration ...
> >
> > This turned out to be that I had some wrong environment variables set
> > from a previous attempt. Logged out and back in and now I am past that
> > error.
> >
> >>
> >> Maybe you could post your buildroot configuration (the result of make
> >> savedefconfig)?
> >
> > It's quite short as it turns out:
> >
> > BR2_armeb=y
> > BR2_STATIC_LIBS=y
> > BR2_KERNEL_HEADERS_VERSION=y
> > BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
> > BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> > BR2_PTHREAD_DEBUG=y
> > BR2_BINUTILS_VERSION_2_37_X=y
> > BR2_GCC_VERSION_9_X=y
> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
> > BR2_PACKAGE_HOST_GDB=y
> > BR2_GDB_VERSION_9_2=y
> > BR2_LINUX_KERNEL=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
> > BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> > BR2_PACKAGE_DROPBEAR=y
> >
> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions
> .h"
> > BR2_PACKAGE_JOE=y
> 
> The configuration uses a kernel downloaded from kernel.org, not the vendor
> kernel. You need to configure Buildroot to use a custom source directory.
> 
> > I can see I have got a USE_ARCH_DEFAULT_CONFIG in there which I'm
> > guessing is part of my problems?
> 
> You need to configure Buildroot to use your existing .config with
> BR2_LINUX_CUSTOM_KERNEL_CONFIG_FILE.
> 
> >>
> >> > Looking at this error message, maybe I need to select an older
> >> > version of gcc, in my buildroot configuration? Is it that the
> >> > kernel can only be compiled by gcc versions that existed at the time?
> >>
> >> Older kernels used to have a include/compiler.h which had predefined
> >> includes for specific compiler versions. Use the oldest compiler
> >> available in Buildroot and try to either get a compiler-gcc9.h from a
> >> newer kernel or make your own. I believe this schema changed
> >> somewhere between 3.x and 4.x For newer compilers, this file is
> >> comparatively empty.
> >
> > GCC 9.x is the oldest option available in current buildroot so I have
> > switched to that.
> >
> > I found a compiler-gcc5.h in kernel 4.1, newer kernels do not have any
> > numbered files of this type at all. I downloaded this one and
> > symlinked it as compiler-gcc9.h and it looks like this got me past
> > this error.
> >
> > However, now I have a new missing file error, and I can't seem to
> > locate a suitable candidate:
> >
> > In file included from
> > /home/danj/buildroot-2022.02/output/build/linux-
> custom/arch/arm/include/asm/system.h:165,
> >                  from
> > /home/danj/buildroot-2022.02/output/build/linux-
> custom/arch/arm/include/asm/bitops.h:27,
> >                  from include/linux/bitops.h:22,
> >                  from include/linux/kernel.h:17,
> >                  from include/linux/sched.h:55,
> >                  from arch/arm/kernel/asm-offsets.c:13:
> > /home/danj/buildroot-2022.02/output/build/linux-
> custom/arch/arm/include/asm/memory.h:19:10:
> > fatal error: mach/memory.h: No such file or directory
> >    19 | #include <mach/memory.h>
> >       |          ^~~~~~~~~~~~~~~
> > compilation terminated.
> > /home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81:
> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> > Makefile:1009: recipe for target 'prepare0' failed
> > make[2]: *** [prepare0] Error 2
> > make[2]: *** Waiting for unfinished jobs....
> >   HOSTCC  scripts/mod/modpost.o
> >   HOSTCC  scripts/mod/sumversion.o
> >   HOSTLD  scripts/mod/modpost
> > make[2]: *** wait: No child processes. Stop.
> > package/pkg-generic.mk:289: recipe for target
> > '/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built'
> > failed
> > make[1]: ***
> > [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built]
> > Error 2
> > Makefile:84: recipe for target '_all' failed
> > make: *** [_all] Error 2
> 
> This seems not to be the defconfig from above? It now uses linux-custom ...
> The failure may be due to the default kernel configuration. Try to configure
> the correct one and see if you get further.
> 
> > I think maybe I am still doing something wrong because it sure seems
> > to be compiling a lot of stuff instead of letting me configure things.
> 
> It gets better once everything necessary is built.

Still no luck I'm afraid. Same error with mach/memory.h as above.

Buildroot defconfig now looks like this:

BR2_armeb=y
BR2_STATIC_LIBS=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_PTHREAD_DEBUG=y
BR2_BINUTILS_VERSION_2_37_X=y
BR2_GCC_VERSION_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_GDB_VERSION_9_2=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions.h"
BR2_PACKAGE_JOE=y

I forgot to mention this before but the buildroot manual page you mentioned said to create a local.mk file in order to use external source, this looks like this:

LINUX_OVERRIDE_SRCDIR = /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/

For the kernel configuration I entered the kernel source dir and did "make menuconfig", I left everything at the defaults except for enabling the USB related items.

The resulting configuration file is attached as a text file. Unfortunately it's been literally decades since I last actually compiled a kernel, so I'm afraid I have no idea what bits would be suitable to disable/remove to get the results I want (I'm guessing this will be the most likely way to eliminate the error I'm getting?)

> 
> >>
> >> >>
> >> >> Copy usbcore.ko from Buildroot
> >> >> target/lib/modules/{kernel-version}/
> >> >> to the corresponding location on your device and load the driver
> >> >> with modprobe.
> >> >>
> >> >> Depending on which functionality (e.g. USB_STORAGE) you want on
> >> >> your USB port, additional configurations changes may be necessary.
> >> >
> >> > Yes, USB storage functionality is what I would like to add back in.
> >> > Incidentally, this is a newer router than the one I was
> >> > experimenting with before; this one has a Puma 6 CPU. Though, oddly
> >> > I found it necessary to select an armv5 CPU type in buildroot in
> >> > order to get binaries that work, despite /proc/cpuinfo on the
> >> > device claiming it is armv6.
> >> >
> >> >>
> >> >> Kind regards,
> >> >> Andreas
> >> >>
> >> >> > This time I successfully managed to build other binaries (e.g.
> >> >> > dropbear, busybox) which run OK on the device.
> >> >> >
> >> >> > Thanks,
> >> >> > Dan Jackson.
> >> >> > -------------- next part -------------- An HTML attachment was
> >> >> > scrubbed...
> >> >> > URL:
> >> >> > <http://lists.buildroot.org/pipermail/buildroot/attachments/2022
> >> >> > 032
> >> >> > 9/4
> >> >> > 3c49a2d/attachment.html>
> >> >>
> >> >> [1]
> >> >> https://sourceforge.net/projects/dg3270.arris/files/DG3270_9.1.103
> >> >> FB/
> >> >> [2]
> >> >>
> >>
> https://buildroot.org/downloads/manual/manual.html#_advanced_usage,

[-- Attachment #2: kernelconfiguration.txt --]
[-- Type: text/plain, Size: 49514 bytes --]

#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.39.3 Kernel Configuration
# Tue Mar 29 19:13:45 2022
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE="armeb-buildroot-linux-uclibcgnueabi-"
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_LZMA=y
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_FORCED_THREADING=y
# CONFIG_SPARSE_IRQ is not set

#
# RCU Subsystem
#
CONFIG_TREE_PREEMPT_RCU=y
# CONFIG_TINY_RCU is not set
# CONFIG_TINY_PREEMPT_RCU is not set
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y

#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y

#
# Processor type and features
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_VSMP is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
# CONFIG_AMD_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=1
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
# CONFIG_PREEMPT_BKL is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
# CONFIG_X86_MCE is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
# CONFIG_EFI is not set
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
# CONFIG_SCHED_HRTICK is not set
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_PM_SLEEP=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
# CONFIG_INTEL_IDLE is not set

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCI_MMCONFIG is not set
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not set
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_IA32_EMULATION is not set
# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
# CONFIG_IP_PIMSM_V1 is not set
# CONFIG_IP_PIMSM_V2 is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
CONFIG_INET_ESP=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set
# CONFIG_IPV6_PIMSM_V2 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CONNTRACK_RTSP=m
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_TPROXY=y
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y

#
# Xtables targets
#
# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
# CONFIG_NETFILTER_XT_TARGET_CT is not set
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
# CONFIG_NETFILTER_XT_MATCH_CPU is not set
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_EVTLIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# CONFIG_IP_SET is not set
CONFIG_IP_VS=y
# CONFIG_IP_VS_IPV6 is not set
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
# CONFIG_IP_VS_PROTO_TCP is not set
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_AH_ESP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
# CONFIG_IP_VS_PROTO_SCTP is not set

#
# IPVS scheduler
#
# CONFIG_IP_VS_RR is not set
# CONFIG_IP_VS_WRR is not set
# CONFIG_IP_VS_LC is not set
# CONFIG_IP_VS_WLC is not set
# CONFIG_IP_VS_LBLC is not set
# CONFIG_IP_VS_LBLCR is not set
# CONFIG_IP_VS_DH is not set
# CONFIG_IP_VS_SH is not set
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set

#
# IPVS application helper
#
# CONFIG_IP_VS_NFCT is not set

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_TARGET_TRIGGER=y
CONFIG_IP_NF_TARGET_GWMETA=y
CONFIG_IP_NF_MATCH_WEBSTR=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PROTO_DCCP=y
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=y
CONFIG_NF_NAT_PROTO_SCTP=y
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_RTSP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
# CONFIG_IP_NF_TARGET_ECN is not set
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_ARPTABLES=y
# CONFIG_IP_NF_ARPFILTER is not set
# CONFIG_IP_NF_ARP_MANGLE is not set

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
# CONFIG_IP6_NF_QUEUE is not set
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_WEBSTR=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_GWMETA=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
# CONFIG_BRIDGE_EBT_T_NAT is not set
# CONFIG_BRIDGE_EBT_802_3 is not set
# CONFIG_BRIDGE_EBT_AMONG is not set
# CONFIG_BRIDGE_EBT_ARP is not set
# CONFIG_BRIDGE_EBT_IP is not set
CONFIG_BRIDGE_EBT_IP6=y
# CONFIG_BRIDGE_EBT_LIMIT is not set
# CONFIG_BRIDGE_EBT_MARK is not set
# CONFIG_BRIDGE_EBT_PKTTYPE is not set
# CONFIG_BRIDGE_EBT_STP is not set
# CONFIG_BRIDGE_EBT_VLAN is not set
# CONFIG_BRIDGE_EBT_ARPREPLY is not set
# CONFIG_BRIDGE_EBT_DNAT is not set
# CONFIG_BRIDGE_EBT_MARK_T is not set
# CONFIG_BRIDGE_EBT_REDIRECT is not set
# CONFIG_BRIDGE_EBT_SNAT is not set
# CONFIG_BRIDGE_EBT_LOG is not set
# CONFIG_BRIDGE_EBT_ULOG is not set
# CONFIG_BRIDGE_EBT_NFLOG is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_L2TP=y
# CONFIG_L2TP_V3 is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
# CONFIG_BRIDGE_IGMP_SNOOPING is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y

#
# Texas Instruments Kernel Extensions
#
CONFIG_TI_DEVICE_PROTOCOL_HANDLING=y
# CONFIG_TI_UNMANAGED_BRIDGE is not set
CONFIG_INTEL_KERNEL_DOCSIS_SUPPORT=y
CONFIG_INTEL_KERNEL_BBU_SUPPORT=y
CONFIG_TI_META_DATA=y
CONFIG_INTEL_NF_TRIGGER_SUPPORT=y
CONFIG_INTEL_NF_GWMETA_SUPPORT=y
CONFIG_INTEL_NF_WEBSTR_SUPPORT=y
CONFIG_TI_IP_PKTINFO_SOCKOPT=y
# CONFIG_TI_META_DATA_CONSOLE_DUMP is not set
CONFIG_TI_DOCSIS_INPUT_DEV=y
# CONFIG_INTEL_DOCSIS_ICMP_IIF is not set
CONFIG_TI_L2_SELECTIVE_FORWARDER=y
CONFIG_TI_L2_SELECTIVE_FORWARDER_TEST=y
CONFIG_INTEL_L2VPN_L2CP_FORWARD=y
CONFIG_TI_DEVICE_INDEX_REUSE=y
CONFIG_TI_L2_SELECTIVE_PACKET_HANDLING=y
CONFIG_TI_DOCSIS_EGRESS_HOOK=y
CONFIG_TI_DDH_GW=y
CONFIG_TI_GW_EGRESS_HOOK=y
CONFIG_TI_EGRESS_HOOK=y
# CONFIG_TI_ICMP_ECHO_REPLY_NETFILTER_BYPASS is not set
CONFIG_INTEL_NS_DEVICE_FILTER=y

#
# TI Packet Processor Subsystem
#
CONFIG_TI_PACKET_PROCESSOR=y
CONFIG_TI_PACKET_PROCESSOR_STATS=y
# CONFIG_TI_PACKET_PROCESSOR_EXT_SWITCH is not set
# CONFIG_TI_HIL_DEBUG is not set
# CONFIG_TI_HIL_PROFILE_INTRUSIVE is not set
# CONFIG_TI_HIL_PROFILE_STATIC is not set
CONFIG_TI_HIL_PROFILE_INTRUSIVE_PP2K=y
# CONFIG_INTEL_PP_TUNNEL_SUPPORT is not set
CONFIG_INTEL_IRQ_THREAD_CHANGE_PRIORITY=y
CONFIG_INTEL_DEFAULT_IPV6_AUTOCONF_DISABLES_IPV6_AUTOCONF=y
CONFIG_INTEL_MAX_BRIDGE_MACS_LIMIT=y
CONFIG_INTEL_MAX_BRIDGE_MACS=1024
CONFIG_INTEL_KERNEL_VOICE_SUPPORT=y
CONFIG_WIRELESS=y
# CONFIG_WIRELESS_EXT is not set
# CONFIG_WEXT_PRIV is not set
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set

#
# CFG80211 needs to be enabled for MAC80211
#
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_ARCH_NO_SYSDEV_OPS=y
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_AR7_PARTS=y

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_TS5500 is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
CONFIG_MTD_PHRAM=y
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_SFL=y
CONFIG_SFL_SFI=1
CONFIG_SFL_FAST_READ=0
CONFIG_SFL_NORMAL_READ_MODE=y
# CONFIG_SFL_FAST_READ_MODE is not set
# CONFIG_SFL_DUAL_FAST_READ_MODE is not set
CONFIG_AVALANCHE_SFL_CLK=40000000
# CONFIG_SFL_EXTENDED_FLASH is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set

#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
CONFIG_MACVLAN=y
# CONFIG_MACVTAP is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_MII is not set
# CONFIG_PHYLIB is not set
# CONFIG_NET_ETHERNET is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_WAN is not set

#
# CAIF transport drivers
#
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
# CONFIG_PPP_FILTER is not set
# CONFIG_PPP_ASYNC is not set
# CONFIG_PPP_SYNC_TTY is not set
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=y
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
# CONFIG_SLIP is not set
CONFIG_SLHC=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
# CONFIG_INPUT is not set

#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
# CONFIG_VT is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=3
CONFIG_SERIAL_8250_RUNTIME_UARTS=3
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX3107 is not set
# CONFIG_SERIAL_MFD_HSU is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y

#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
# CONFIG_I2C_EG20T is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SC520_WDT is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_MFD_SUPPORT=y
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_MC13XXX is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_SOUND is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set

#
# Enable Host or Gadget support to see Inventra options
#

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set

#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_CLKGATE is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=16
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
# CONFIG_MMC_SDHCI_PCI is not set
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_PUMA6=y
CONFIG_ARCH_GEN3=y
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_IBM_RTL is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_SIGMA is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
# CONFIG_FSNOTIFY is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not set
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
# CONFIG_JFFS2_CMODE_PRIORITY is not set
CONFIG_JFFS2_CMODE_SIZE=y
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_XATTR is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_SQUASHFS_MAX_BLOCK_SIZE=131072
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_MTD is not set
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
CONFIG_HEADERS_CHECK=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_SPARSE_RCU_POINTER is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_WR_OCD_DEBUG is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_DETECTOR_RUNNABLE=y
CONFIG_RCU_CPU_STALL_VERBOSE=y
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_VHOST_NET is not set
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARM is not set
CONFIG_XZ_DEC_ARMTHUMB=y
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-29 19:19           ` Dan Jackson
@ 2022-03-30  7:13             ` Andreas Ziegler
  2022-03-30 19:18               ` Dan Jackson
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-30  7:13 UTC (permalink / raw)
  To: Dan Jackson; +Cc: buildroot

Hi Dan,

cutting some old content.

On 2022-03-29 19:19, Dan Jackson wrote:

<cut>

>> > However, now I have a new missing file error, and I can't seem to
>> > locate a suitable candidate:
>> >
>> > In file included from
>> > /home/danj/buildroot-2022.02/output/build/linux-
>> custom/arch/arm/include/asm/system.h:165,
>> >                  from
>> > /home/danj/buildroot-2022.02/output/build/linux-
>> custom/arch/arm/include/asm/bitops.h:27,
>> >                  from include/linux/bitops.h:22,
>> >                  from include/linux/kernel.h:17,
>> >                  from include/linux/sched.h:55,
>> >                  from arch/arm/kernel/asm-offsets.c:13:
>> > /home/danj/buildroot-2022.02/output/build/linux-
>> custom/arch/arm/include/asm/memory.h:19:10:
>> > fatal error: mach/memory.h: No such file or directory
>> >    19 | #include <mach/memory.h>
>> >       |          ^~~~~~~~~~~~~~~
>> > compilation terminated.
>> > /home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81:
>> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
>> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
>> > Makefile:1009: recipe for target 'prepare0' failed
>> > make[2]: *** [prepare0] Error 2
>> > make[2]: *** Waiting for unfinished jobs....
>> >   HOSTCC  scripts/mod/modpost.o
>> >   HOSTCC  scripts/mod/sumversion.o
>> >   HOSTLD  scripts/mod/modpost
>> > make[2]: *** wait: No child processes. Stop.
>> > package/pkg-generic.mk:289: recipe for target
>> > '/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built'
>> > failed
>> > make[1]: ***
>> > [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_built]
>> > Error 2
>> > Makefile:84: recipe for target '_all' failed
>> > make: *** [_all] Error 2
>> 
>> This seems not to be the defconfig from above? It now uses 
>> linux-custom ...
>> The failure may be due to the default kernel configuration. Try to 
>> configure
>> the correct one and see if you get further.
>> 
>> > I think maybe I am still doing something wrong because it sure seems
>> > to be compiling a lot of stuff instead of letting me configure things.
>> 
>> It gets better once everything necessary is built.
> 
> Still no luck I'm afraid. Same error with mach/memory.h as above.
> 
> Buildroot defconfig now looks like this:
> 
> BR2_armeb=y
> BR2_STATIC_LIBS=y
> BR2_KERNEL_HEADERS_VERSION=y
> BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
> BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> BR2_PTHREAD_DEBUG=y
> BR2_BINUTILS_VERSION_2_37_X=y
> BR2_GCC_VERSION_9_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_HOST_GDB=y
> BR2_GDB_VERSION_9_2=y
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
> BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
> BR2_PACKAGE_DROPBEAR=y
> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions.h"
> BR2_PACKAGE_JOE=y
> 
> I forgot to mention this before but the buildroot manual page you
> mentioned said to create a local.mk file in order to use external
> source, this looks like this:
> 
> LINUX_OVERRIDE_SRCDIR =
> /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/
> 
> For the kernel configuration I entered the kernel source dir and did
> "make menuconfig", I left everything at the defaults except for
> enabling the USB related items.
> 
> The resulting configuration file is attached as a text file.
> Unfortunately it's been literally decades since I last actually
> compiled a kernel, so I'm afraid I have no idea what bits would be
> suitable to disable/remove to get the results I want (I'm guessing
> this will be the most likely way to eliminate the error I'm getting?)

I did a compile test this morning, the Buildroot version was some early 
2022.02 version, not up-to-date.

You have a potential header mismatch, Select Toolchain -> Kernel Headers 
-> Same as kernel being built to use the vendor source also for the 
headers.

I could configure Linux with make menuconfig, did not encounter the 
missing memory.h error above, but the build stops during Linux kernel 
compilation with this error:

/tmp/ccSO8f6S.s: Assembler messages:
/tmp/ccSO8f6S.s:950: Error: .err encountered
make[3]: *** [scripts/Makefile.build:284: 
arch/arm/kernel/sys_oabi-compat.o] Error 1
make[2]: *** [Makefile:969: arch/arm/kernel] Error 2
make[1]: *** [package/pkg-generic.mk:292: 
/home/data/test/buildroot/output/build/linux-custom/.stamp_built] Error 
2
make: *** [Makefile:84: _all] Error 2

Full error log is here: https://pastebin.com/VrXqSVsD

You might now do some research:

https://stackoverflow.com/questions/61235299/gcc-8-3-arm-assembly-error-when-building-linux-kernel-3-14-17-in-buildroot-2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745

or try to switch to an older compiler ...

--
Andreas

<cut>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-30  7:13             ` Andreas Ziegler
@ 2022-03-30 19:18               ` Dan Jackson
  2022-03-31  5:57                 ` Andreas Ziegler
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Jackson @ 2022-03-30 19:18 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: buildroot



> -----Original Message-----
> From: Andreas Ziegler <br015@umbiko.net>
> Sent: 30 March 2022 08:14
> To: Dan Jackson <dan@thejacksons.uk>
> Cc: buildroot@buildroot.org
> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel -
> possible?
> 
> Hi Dan,
> 
> cutting some old content.
> 
> On 2022-03-29 19:19, Dan Jackson wrote:
> 
> <cut>
> 
> >> > However, now I have a new missing file error, and I can't seem to
> >> > locate a suitable candidate:
> >> >
> >> > In file included from
> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> custom/arch/arm/include/asm/system.h:165,
> >> >                  from
> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> custom/arch/arm/include/asm/bitops.h:27,
> >> >                  from include/linux/bitops.h:22,
> >> >                  from include/linux/kernel.h:17,
> >> >                  from include/linux/sched.h:55,
> >> >                  from arch/arm/kernel/asm-offsets.c:13:
> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> custom/arch/arm/include/asm/memory.h:19:10:
> >> > fatal error: mach/memory.h: No such file or directory
> >> >    19 | #include <mach/memory.h>
> >> >       |          ^~~~~~~~~~~~~~~
> >> > compilation terminated.
> >> > /home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81:
> >> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
> >> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> >> > Makefile:1009: recipe for target 'prepare0' failed
> >> > make[2]: *** [prepare0] Error 2
> >> > make[2]: *** Waiting for unfinished jobs....
> >> >   HOSTCC  scripts/mod/modpost.o
> >> >   HOSTCC  scripts/mod/sumversion.o
> >> >   HOSTLD  scripts/mod/modpost
> >> > make[2]: *** wait: No child processes. Stop.
> >> > package/pkg-generic.mk:289: recipe for target
> >> > '/home/danj/buildroot-2022.02/output/build/linux-
> custom/.stamp_built'
> >> > failed
> >> > make[1]: ***
> >> > [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_buil
> >> > t]
> >> > Error 2
> >> > Makefile:84: recipe for target '_all' failed
> >> > make: *** [_all] Error 2
> >>
> >> This seems not to be the defconfig from above? It now uses
> >> linux-custom ...
> >> The failure may be due to the default kernel configuration. Try to
> >> configure the correct one and see if you get further.
> >>
> >> > I think maybe I am still doing something wrong because it sure
> >> > seems to be compiling a lot of stuff instead of letting me configure
> things.
> >>
> >> It gets better once everything necessary is built.
> >
> > Still no luck I'm afraid. Same error with mach/memory.h as above.
> >
> > Buildroot defconfig now looks like this:
> >
> > BR2_armeb=y
> > BR2_STATIC_LIBS=y
> > BR2_KERNEL_HEADERS_VERSION=y
> > BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
> > BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> > BR2_PTHREAD_DEBUG=y
> > BR2_BINUTILS_VERSION_2_37_X=y
> > BR2_GCC_VERSION_9_X=y
> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
> > BR2_PACKAGE_HOST_GDB=y
> > BR2_GDB_VERSION_9_2=y
> > BR2_LINUX_KERNEL=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
> > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> >
> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103
> FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
> > BR2_PACKAGE_DROPBEAR=y
> >
> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions
> .h"
> > BR2_PACKAGE_JOE=y
> >
> > I forgot to mention this before but the buildroot manual page you
> > mentioned said to create a local.mk file in order to use external
> > source, this looks like this:
> >
> > LINUX_OVERRIDE_SRCDIR =
> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/
> >
> > For the kernel configuration I entered the kernel source dir and did
> > "make menuconfig", I left everything at the defaults except for
> > enabling the USB related items.
> >
> > The resulting configuration file is attached as a text file.
> > Unfortunately it's been literally decades since I last actually
> > compiled a kernel, so I'm afraid I have no idea what bits would be
> > suitable to disable/remove to get the results I want (I'm guessing
> > this will be the most likely way to eliminate the error I'm getting?)
> 
> I did a compile test this morning, the Buildroot version was some early
> 2022.02 version, not up-to-date.
> 
> You have a potential header mismatch, Select Toolchain -> Kernel Headers
> -> Same as kernel being built to use the vendor source also for the
> headers.
> 
> I could configure Linux with make menuconfig, did not encounter the
> missing memory.h error above, but the build stops during Linux kernel
> compilation with this error:
> 
> /tmp/ccSO8f6S.s: Assembler messages:
> /tmp/ccSO8f6S.s:950: Error: .err encountered
> make[3]: *** [scripts/Makefile.build:284:
> arch/arm/kernel/sys_oabi-compat.o] Error 1
> make[2]: *** [Makefile:969: arch/arm/kernel] Error 2
> make[1]: *** [package/pkg-generic.mk:292:
> /home/data/test/buildroot/output/build/linux-custom/.stamp_built] Error
> 2
> make: *** [Makefile:84: _all] Error 2
> 
> Full error log is here: https://pastebin.com/VrXqSVsD

Looking at the error log, it seems like vfp has been selected? But my target device only has Features: swp half thumb fastmult edsp java.

Also, OABI does not seem like it is the correct ABI. For example, if I run "file" against the busybox binary the device comes with, I get:

busybox: ELF 32-bit MSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped

> 
> You might now do some research:
> 
> https://stackoverflow.com/questions/61235299/gcc-8-3-arm-assembly-
> error-when-building-linux-kernel-3-14-17-in-buildroot-2020
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
> 
> or try to switch to an older compiler ...
> 
> --
> Andreas
> 
> <cut>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-30 19:18               ` Dan Jackson
@ 2022-03-31  5:57                 ` Andreas Ziegler
  2022-03-31  6:19                   ` Dan Jackson
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-31  5:57 UTC (permalink / raw)
  To: Dan Jackson; +Cc: buildroot

On 2022-03-30 19:18, Dan Jackson wrote:
>> -----Original Message-----
>> From: Andreas Ziegler <br015@umbiko.net>
>> Sent: 30 March 2022 08:14
>> To: Dan Jackson <dan@thejacksons.uk>
>> Cc: buildroot@buildroot.org
>> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel 
>> -
>> possible?
>> 
>> Hi Dan,
>> 
>> cutting some old content.
>> 
>> On 2022-03-29 19:19, Dan Jackson wrote:
>> 
>> <cut>
>> 
>> >> > However, now I have a new missing file error, and I can't seem to
>> >> > locate a suitable candidate:
>> >> >
>> >> > In file included from
>> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> custom/arch/arm/include/asm/system.h:165,
>> >> >                  from
>> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> custom/arch/arm/include/asm/bitops.h:27,
>> >> >                  from include/linux/bitops.h:22,
>> >> >                  from include/linux/kernel.h:17,
>> >> >                  from include/linux/sched.h:55,
>> >> >                  from arch/arm/kernel/asm-offsets.c:13:
>> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> custom/arch/arm/include/asm/memory.h:19:10:
>> >> > fatal error: mach/memory.h: No such file or directory
>> >> >    19 | #include <mach/memory.h>
>> >> >       |          ^~~~~~~~~~~~~~~
>> >> > compilation terminated.
>> >> > /home/danj/buildroot-2022.02/output/build/linux-custom/./Kbuild:81:
>> >> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
>> >> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
>> >> > Makefile:1009: recipe for target 'prepare0' failed
>> >> > make[2]: *** [prepare0] Error 2
>> >> > make[2]: *** Waiting for unfinished jobs....
>> >> >   HOSTCC  scripts/mod/modpost.o
>> >> >   HOSTCC  scripts/mod/sumversion.o
>> >> >   HOSTLD  scripts/mod/modpost
>> >> > make[2]: *** wait: No child processes. Stop.
>> >> > package/pkg-generic.mk:289: recipe for target
>> >> > '/home/danj/buildroot-2022.02/output/build/linux-
>> custom/.stamp_built'
>> >> > failed
>> >> > make[1]: ***
>> >> > [/home/danj/buildroot-2022.02/output/build/linux-custom/.stamp_buil
>> >> > t]
>> >> > Error 2
>> >> > Makefile:84: recipe for target '_all' failed
>> >> > make: *** [_all] Error 2
>> >>
>> >> This seems not to be the defconfig from above? It now uses
>> >> linux-custom ...
>> >> The failure may be due to the default kernel configuration. Try to
>> >> configure the correct one and see if you get further.
>> >>
>> >> > I think maybe I am still doing something wrong because it sure
>> >> > seems to be compiling a lot of stuff instead of letting me configure
>> things.
>> >>
>> >> It gets better once everything necessary is built.
>> >
>> > Still no luck I'm afraid. Same error with mach/memory.h as above.
>> >
>> > Buildroot defconfig now looks like this:
>> >
>> > BR2_armeb=y
>> > BR2_STATIC_LIBS=y
>> > BR2_KERNEL_HEADERS_VERSION=y
>> > BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
>> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
>> > BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
>> > BR2_PTHREAD_DEBUG=y
>> > BR2_BINUTILS_VERSION_2_37_X=y
>> > BR2_GCC_VERSION_9_X=y
>> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> > BR2_PACKAGE_HOST_GDB=y
>> > BR2_GDB_VERSION_9_2=y
>> > BR2_LINUX_KERNEL=y
>> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
>> > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>> >
>> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103
>> FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
>> > BR2_PACKAGE_DROPBEAR=y
>> >
>> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions
>> .h"
>> > BR2_PACKAGE_JOE=y
>> >
>> > I forgot to mention this before but the buildroot manual page you
>> > mentioned said to create a local.mk file in order to use external
>> > source, this looks like this:
>> >
>> > LINUX_OVERRIDE_SRCDIR =
>> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/
>> >
>> > For the kernel configuration I entered the kernel source dir and did
>> > "make menuconfig", I left everything at the defaults except for
>> > enabling the USB related items.
>> >
>> > The resulting configuration file is attached as a text file.
>> > Unfortunately it's been literally decades since I last actually
>> > compiled a kernel, so I'm afraid I have no idea what bits would be
>> > suitable to disable/remove to get the results I want (I'm guessing
>> > this will be the most likely way to eliminate the error I'm getting?)
>> 
>> I did a compile test this morning, the Buildroot version was some 
>> early
>> 2022.02 version, not up-to-date.
>> 
>> You have a potential header mismatch, Select Toolchain -> Kernel 
>> Headers
>> -> Same as kernel being built to use the vendor source also for the
>> headers.
>> 
>> I could configure Linux with make menuconfig, did not encounter the
>> missing memory.h error above, but the build stops during Linux kernel
>> compilation with this error:
>> 
>> /tmp/ccSO8f6S.s: Assembler messages:
>> /tmp/ccSO8f6S.s:950: Error: .err encountered
>> make[3]: *** [scripts/Makefile.build:284:
>> arch/arm/kernel/sys_oabi-compat.o] Error 1
>> make[2]: *** [Makefile:969: arch/arm/kernel] Error 2
>> make[1]: *** [package/pkg-generic.mk:292:
>> /home/data/test/buildroot/output/build/linux-custom/.stamp_built] 
>> Error
>> 2
>> make: *** [Makefile:84: _all] Error 2
>> 
>> Full error log is here: https://pastebin.com/VrXqSVsD
> 
> Looking at the error log, it seems like vfp has been selected? But my
> target device only has Features: swp half thumb fastmult edsp java.

This is just a warning, I would ignore it at this point in time. 
Compiler syntax checks tend to get more strict over time ...

> Also, OABI does not seem like it is the correct ABI. For example, if I
> run "file" against the busybox binary the device comes with, I get:
> 
> busybox: ELF 32-bit MSB executable, ARM, EABI5 version 1 (SYSV),
> dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped

It seems to be a compatibility layer for legacy software; disabling 
OABI_COMPAT is an option, because you probably will never need it.

I used the source tree and unmodified .config contained in the 
Touchstone DG3270 Cable Gateway project on SourceForge for the test.

The original build instructions seem to indicate that more software is 
needed to build the device firmware. This might be the reason for 
missing files ...

Also, take a look at psp_drivers.Kconfig for the options necessary to 
enable USB support.

>> 
>> You might now do some research:
>> 
>> https://stackoverflow.com/questions/61235299/gcc-8-3-arm-assembly-
>> error-when-building-linux-kernel-3-14-17-in-buildroot-2020
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
>> 
>> or try to switch to an older compiler ...
>> 
>> --
>> Andreas
>> 
>> <cut>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-31  5:57                 ` Andreas Ziegler
@ 2022-03-31  6:19                   ` Dan Jackson
  2022-03-31  6:50                     ` Andreas Ziegler
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Jackson @ 2022-03-31  6:19 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: buildroot



> -----Original Message-----
> From: Andreas Ziegler <br015@umbiko.net>
> Sent: 31 March 2022 06:58
> To: Dan Jackson <dan@thejacksons.uk>
> Cc: buildroot@buildroot.org
> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel -
> possible?
> 
> On 2022-03-30 19:18, Dan Jackson wrote:
> >> -----Original Message-----
> >> From: Andreas Ziegler <br015@umbiko.net>
> >> Sent: 30 March 2022 08:14
> >> To: Dan Jackson <dan@thejacksons.uk>
> >> Cc: buildroot@buildroot.org
> >> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel
> >> -
> >> possible?
> >>
> >> Hi Dan,
> >>
> >> cutting some old content.
> >>
> >> On 2022-03-29 19:19, Dan Jackson wrote:
> >>
> >> <cut>
> >>
> >> >> > However, now I have a new missing file error, and I can't seem
> >> >> > to locate a suitable candidate:
> >> >> >
> >> >> > In file included from
> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> >> custom/arch/arm/include/asm/system.h:165,
> >> >> >                  from
> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> >> custom/arch/arm/include/asm/bitops.h:27,
> >> >> >                  from include/linux/bitops.h:22,
> >> >> >                  from include/linux/kernel.h:17,
> >> >> >                  from include/linux/sched.h:55,
> >> >> >                  from arch/arm/kernel/asm-offsets.c:13:
> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
> >> >> custom/arch/arm/include/asm/memory.h:19:10:
> >> >> > fatal error: mach/memory.h: No such file or directory
> >> >> >    19 | #include <mach/memory.h>
> >> >> >       |          ^~~~~~~~~~~~~~~
> >> >> > compilation terminated.
> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
> custom/./Kbuild:81:
> >> >> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
> >> >> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> >> >> > Makefile:1009: recipe for target 'prepare0' failed
> >> >> > make[2]: *** [prepare0] Error 2
> >> >> > make[2]: *** Waiting for unfinished jobs....
> >> >> >   HOSTCC  scripts/mod/modpost.o
> >> >> >   HOSTCC  scripts/mod/sumversion.o
> >> >> >   HOSTLD  scripts/mod/modpost
> >> >> > make[2]: *** wait: No child processes. Stop.
> >> >> > package/pkg-generic.mk:289: recipe for target
> >> >> > '/home/danj/buildroot-2022.02/output/build/linux-
> >> custom/.stamp_built'
> >> >> > failed
> >> >> > make[1]: ***
> >> >> > [/home/danj/buildroot-2022.02/output/build/linux-
> custom/.stamp_b
> >> >> > uil
> >> >> > t]
> >> >> > Error 2
> >> >> > Makefile:84: recipe for target '_all' failed
> >> >> > make: *** [_all] Error 2
> >> >>
> >> >> This seems not to be the defconfig from above? It now uses
> >> >> linux-custom ...
> >> >> The failure may be due to the default kernel configuration. Try to
> >> >> configure the correct one and see if you get further.
> >> >>
> >> >> > I think maybe I am still doing something wrong because it sure
> >> >> > seems to be compiling a lot of stuff instead of letting me
> >> >> > configure
> >> things.
> >> >>
> >> >> It gets better once everything necessary is built.
> >> >
> >> > Still no luck I'm afraid. Same error with mach/memory.h as above.
> >> >
> >> > Buildroot defconfig now looks like this:
> >> >
> >> > BR2_armeb=y
> >> > BR2_STATIC_LIBS=y
> >> > BR2_KERNEL_HEADERS_VERSION=y
> >> > BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
> >> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
> >> > BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
> >> > BR2_PTHREAD_DEBUG=y
> >> > BR2_BINUTILS_VERSION_2_37_X=y
> >> > BR2_GCC_VERSION_9_X=y
> >> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
> >> > BR2_PACKAGE_HOST_GDB=y
> >> > BR2_GDB_VERSION_9_2=y
> >> > BR2_LINUX_KERNEL=y
> >> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> >> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
> >> > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> >> >
> >>
> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103
> >> FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
> >> > BR2_PACKAGE_DROPBEAR=y
> >> >
> >>
> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions
> >> .h"
> >> > BR2_PACKAGE_JOE=y
> >> >
> >> > I forgot to mention this before but the buildroot manual page you
> >> > mentioned said to create a local.mk file in order to use external
> >> > source, this looks like this:
> >> >
> >> > LINUX_OVERRIDE_SRCDIR =
> >> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/
> >> >
> >> > For the kernel configuration I entered the kernel source dir and
> >> > did "make menuconfig", I left everything at the defaults except for
> >> > enabling the USB related items.
> >> >
> >> > The resulting configuration file is attached as a text file.
> >> > Unfortunately it's been literally decades since I last actually
> >> > compiled a kernel, so I'm afraid I have no idea what bits would be
> >> > suitable to disable/remove to get the results I want (I'm guessing
> >> > this will be the most likely way to eliminate the error I'm
> >> > getting?)
> >>
> >> I did a compile test this morning, the Buildroot version was some
> >> early
> >> 2022.02 version, not up-to-date.
> >>
> >> You have a potential header mismatch, Select Toolchain -> Kernel
> >> Headers
> >> -> Same as kernel being built to use the vendor source also for the
> >> headers.
> >>
> >> I could configure Linux with make menuconfig, did not encounter the
> >> missing memory.h error above, but the build stops during Linux kernel
> >> compilation with this error:
> >>
> >> /tmp/ccSO8f6S.s: Assembler messages:
> >> /tmp/ccSO8f6S.s:950: Error: .err encountered
> >> make[3]: *** [scripts/Makefile.build:284:
> >> arch/arm/kernel/sys_oabi-compat.o] Error 1
> >> make[2]: *** [Makefile:969: arch/arm/kernel] Error 2
> >> make[1]: *** [package/pkg-generic.mk:292:
> >> /home/data/test/buildroot/output/build/linux-custom/.stamp_built]
> >> Error
> >> 2
> >> make: *** [Makefile:84: _all] Error 2
> >>
> >> Full error log is here: https://pastebin.com/VrXqSVsD
> >
> > Looking at the error log, it seems like vfp has been selected? But my
> > target device only has Features: swp half thumb fastmult edsp java.
> 
> This is just a warning, I would ignore it at this point in time.
> Compiler syntax checks tend to get more strict over time ...
> 
> > Also, OABI does not seem like it is the correct ABI. For example, if I
> > run "file" against the busybox binary the device comes with, I get:
> >
> > busybox: ELF 32-bit MSB executable, ARM, EABI5 version 1 (SYSV),
> > dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped
> 
> It seems to be a compatibility layer for legacy software; disabling
> OABI_COMPAT is an option, because you probably will never need it.
> 
> I used the source tree and unmodified .config contained in the Touchstone
> DG3270 Cable Gateway project on SourceForge for the test.
> 
> The original build instructions seem to indicate that more software is needed
> to build the device firmware. This might be the reason for missing files ...
> 
> Also, take a look at psp_drivers.Kconfig for the options necessary to enable
> USB support.

It's starting to seem like it might be a better option to try to get the original software development kit to work instead of trying to use its components with modern buildroot.

Ironically the SDK is itself based on ancient buildroot - in /proc/version on the target device I can see:

(gcc version 4.7.3 (Buildroot 2013.08.1) )

> 
> >>
> >> You might now do some research:
> >>
> >> https://stackoverflow.com/questions/61235299/gcc-8-3-arm-assembly-
> >> error-when-building-linux-kernel-3-14-17-in-buildroot-2020
> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
> >>
> >> or try to switch to an older compiler ...
> >>
> >> --
> >> Andreas
> >>
> >> <cut>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
  2022-03-31  6:19                   ` Dan Jackson
@ 2022-03-31  6:50                     ` Andreas Ziegler
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas Ziegler @ 2022-03-31  6:50 UTC (permalink / raw)
  To: Dan Jackson; +Cc: buildroot

On 2022-03-31 06:19, Dan Jackson wrote:
>> -----Original Message-----
>> From: Andreas Ziegler <br015@umbiko.net>
>> Sent: 31 March 2022 06:58
>> To: Dan Jackson <dan@thejacksons.uk>
>> Cc: buildroot@buildroot.org
>> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel 
>> -
>> possible?
>> 
>> On 2022-03-30 19:18, Dan Jackson wrote:
>> >> -----Original Message-----
>> >> From: Andreas Ziegler <br015@umbiko.net>
>> >> Sent: 30 March 2022 08:14
>> >> To: Dan Jackson <dan@thejacksons.uk>
>> >> Cc: buildroot@buildroot.org
>> >> Subject: Re: Adding USB support to existing device on 2.6.39.3 kernel
>> >> -
>> >> possible?
>> >>
>> >> Hi Dan,
>> >>
>> >> cutting some old content.
>> >>
>> >> On 2022-03-29 19:19, Dan Jackson wrote:
>> >>
>> >> <cut>
>> >>
>> >> >> > However, now I have a new missing file error, and I can't seem
>> >> >> > to locate a suitable candidate:
>> >> >> >
>> >> >> > In file included from
>> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> >> custom/arch/arm/include/asm/system.h:165,
>> >> >> >                  from
>> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> >> custom/arch/arm/include/asm/bitops.h:27,
>> >> >> >                  from include/linux/bitops.h:22,
>> >> >> >                  from include/linux/kernel.h:17,
>> >> >> >                  from include/linux/sched.h:55,
>> >> >> >                  from arch/arm/kernel/asm-offsets.c:13:
>> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> >> >> custom/arch/arm/include/asm/memory.h:19:10:
>> >> >> > fatal error: mach/memory.h: No such file or directory
>> >> >> >    19 | #include <mach/memory.h>
>> >> >> >       |          ^~~~~~~~~~~~~~~
>> >> >> > compilation terminated.
>> >> >> > /home/danj/buildroot-2022.02/output/build/linux-
>> custom/./Kbuild:81:
>> >> >> > recipe for target 'arch/arm/kernel/asm-offsets.s' failed
>> >> >> > make[3]: *** [arch/arm/kernel/asm-offsets.s] Error 1
>> >> >> > Makefile:1009: recipe for target 'prepare0' failed
>> >> >> > make[2]: *** [prepare0] Error 2
>> >> >> > make[2]: *** Waiting for unfinished jobs....
>> >> >> >   HOSTCC  scripts/mod/modpost.o
>> >> >> >   HOSTCC  scripts/mod/sumversion.o
>> >> >> >   HOSTLD  scripts/mod/modpost
>> >> >> > make[2]: *** wait: No child processes. Stop.
>> >> >> > package/pkg-generic.mk:289: recipe for target
>> >> >> > '/home/danj/buildroot-2022.02/output/build/linux-
>> >> custom/.stamp_built'
>> >> >> > failed
>> >> >> > make[1]: ***
>> >> >> > [/home/danj/buildroot-2022.02/output/build/linux-
>> custom/.stamp_b
>> >> >> > uil
>> >> >> > t]
>> >> >> > Error 2
>> >> >> > Makefile:84: recipe for target '_all' failed
>> >> >> > make: *** [_all] Error 2
>> >> >>
>> >> >> This seems not to be the defconfig from above? It now uses
>> >> >> linux-custom ...
>> >> >> The failure may be due to the default kernel configuration. Try to
>> >> >> configure the correct one and see if you get further.
>> >> >>
>> >> >> > I think maybe I am still doing something wrong because it sure
>> >> >> > seems to be compiling a lot of stuff instead of letting me
>> >> >> > configure
>> >> things.
>> >> >>
>> >> >> It gets better once everything necessary is built.
>> >> >
>> >> > Still no luck I'm afraid. Same error with mach/memory.h as above.
>> >> >
>> >> > Buildroot defconfig now looks like this:
>> >> >
>> >> > BR2_armeb=y
>> >> > BR2_STATIC_LIBS=y
>> >> > BR2_KERNEL_HEADERS_VERSION=y
>> >> > BR2_DEFAULT_KERNEL_VERSION="2.6.39.3"
>> >> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
>> >> > BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
>> >> > BR2_PTHREAD_DEBUG=y
>> >> > BR2_BINUTILS_VERSION_2_37_X=y
>> >> > BR2_GCC_VERSION_9_X=y
>> >> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> >> > BR2_PACKAGE_HOST_GDB=y
>> >> > BR2_GDB_VERSION_9_2=y
>> >> > BR2_LINUX_KERNEL=y
>> >> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> >> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.39.3"
>> >> > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>> >> >
>> >>
>> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="/home/danj/DG3270_9.1.103
>> >> FB/sourcecode/ti_linux/linux-2.6.39.3/src/.config"
>> >> > BR2_PACKAGE_DROPBEAR=y
>> >> >
>> >>
>> BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="/home/danj/localoptions
>> >> .h"
>> >> > BR2_PACKAGE_JOE=y
>> >> >
>> >> > I forgot to mention this before but the buildroot manual page you
>> >> > mentioned said to create a local.mk file in order to use external
>> >> > source, this looks like this:
>> >> >
>> >> > LINUX_OVERRIDE_SRCDIR =
>> >> > /home/danj/DG3270_9.1.103FB/sourcecode/ti_linux/linux-2.6.39.3/src/
>> >> >
>> >> > For the kernel configuration I entered the kernel source dir and
>> >> > did "make menuconfig", I left everything at the defaults except for
>> >> > enabling the USB related items.
>> >> >
>> >> > The resulting configuration file is attached as a text file.
>> >> > Unfortunately it's been literally decades since I last actually
>> >> > compiled a kernel, so I'm afraid I have no idea what bits would be
>> >> > suitable to disable/remove to get the results I want (I'm guessing
>> >> > this will be the most likely way to eliminate the error I'm
>> >> > getting?)
>> >>
>> >> I did a compile test this morning, the Buildroot version was some
>> >> early
>> >> 2022.02 version, not up-to-date.
>> >>
>> >> You have a potential header mismatch, Select Toolchain -> Kernel
>> >> Headers
>> >> -> Same as kernel being built to use the vendor source also for the
>> >> headers.
>> >>
>> >> I could configure Linux with make menuconfig, did not encounter the
>> >> missing memory.h error above, but the build stops during Linux kernel
>> >> compilation with this error:
>> >>
>> >> /tmp/ccSO8f6S.s: Assembler messages:
>> >> /tmp/ccSO8f6S.s:950: Error: .err encountered
>> >> make[3]: *** [scripts/Makefile.build:284:
>> >> arch/arm/kernel/sys_oabi-compat.o] Error 1
>> >> make[2]: *** [Makefile:969: arch/arm/kernel] Error 2
>> >> make[1]: *** [package/pkg-generic.mk:292:
>> >> /home/data/test/buildroot/output/build/linux-custom/.stamp_built]
>> >> Error
>> >> 2
>> >> make: *** [Makefile:84: _all] Error 2
>> >>
>> >> Full error log is here: https://pastebin.com/VrXqSVsD
>> >
>> > Looking at the error log, it seems like vfp has been selected? But my
>> > target device only has Features: swp half thumb fastmult edsp java.
>> 
>> This is just a warning, I would ignore it at this point in time.
>> Compiler syntax checks tend to get more strict over time ...
>> 
>> > Also, OABI does not seem like it is the correct ABI. For example, if I
>> > run "file" against the busybox binary the device comes with, I get:
>> >
>> > busybox: ELF 32-bit MSB executable, ARM, EABI5 version 1 (SYSV),
>> > dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped
>> 
>> It seems to be a compatibility layer for legacy software; disabling
>> OABI_COMPAT is an option, because you probably will never need it.
>> 
>> I used the source tree and unmodified .config contained in the 
>> Touchstone
>> DG3270 Cable Gateway project on SourceForge for the test.
>> 
>> The original build instructions seem to indicate that more software is 
>> needed
>> to build the device firmware. This might be the reason for missing 
>> files ...
>> 
>> Also, take a look at psp_drivers.Kconfig for the options necessary to 
>> enable
>> USB support.
> 
> It's starting to seem like it might be a better option to try to get
> the original software development kit to work instead of trying to use
> its components with modern buildroot.
> 
> Ironically the SDK is itself based on ancient buildroot - in
> /proc/version on the target device I can see:
> 
> (gcc version 4.7.3 (Buildroot 2013.08.1) )

Now I understand ... no, it is not. Buildroot is used to generate the 
toolchain, the firmware build uses makefiles and kconfig.

>> 
>> >>
>> >> You might now do some research:
>> >>
>> >> https://stackoverflow.com/questions/61235299/gcc-8-3-arm-assembly-
>> >> error-when-building-linux-kernel-3-14-17-in-buildroot-2020
>> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
>> >>
>> >> or try to switch to an older compiler ...
>> >>
>> >> --
>> >> Andreas
>> >>
>> >> <cut>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible?
@ 2022-03-29  5:57 Dan Jackson
  0 siblings, 0 replies; 12+ messages in thread
From: Dan Jackson @ 2022-03-29  5:57 UTC (permalink / raw)
  To: buildroot


[-- Attachment #1.1: Type: text/plain, Size: 531 bytes --]

Hello,

Sorry once again if this is a silly/noob question.

If I have an existing router device running a 2.6.39.3 kernel, which has a USB port and is capable of supporting USB devices, but the manufacturer has removed/not installed the necessary kernel modules, can I use Buildroot to recreate the missing modules and thus re-enable the missing USB support?

If so, how would I do it?

This time I successfully managed to build other binaries (e.g. dropbear, busybox) which run OK on the device.

Thanks,
Dan Jackson.

[-- Attachment #1.2: Type: text/html, Size: 2469 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-03-31  6:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mailman.22068.1648533484.192135.buildroot@buildroot.org>
2022-03-29  9:40 ` [Buildroot] Adding USB support to existing device on 2.6.39.3 kernel - possible? Andreas Ziegler
2022-03-29 12:48   ` Dan Jackson
2022-03-29 15:13     ` Andreas Ziegler
2022-03-29 16:17       ` Dan Jackson
2022-03-29 17:52         ` Andreas Ziegler
2022-03-29 19:19           ` Dan Jackson
2022-03-30  7:13             ` Andreas Ziegler
2022-03-30 19:18               ` Dan Jackson
2022-03-31  5:57                 ` Andreas Ziegler
2022-03-31  6:19                   ` Dan Jackson
2022-03-31  6:50                     ` Andreas Ziegler
2022-03-29  5:57 Dan Jackson

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.