Compile kernel on odroid-c1

Discussion about U-Boot and the kernel.

Compile kernel on odroid-c1

Postby bugthing » Mon Jun 01, 2015 6:46 pm

Hello,
I want to use an eGalax USB touch screen with my ODroidC1, to do this I need to configure and compile the kernel .. I am doing this on the device and have tried within a chroot (https://wiki.archlinux.org/index.php/De ... ean_Chroot) and without, neither seem work for me

I wonder if I have missed something and there if a better way to do this? .. I do the following

$this->bbcode_second_pass_code('', '
git clone https://github.com/archlinuxarm/PKGBUILDs.git
cd PKGBUILDs/core/linux-odroid-c1
*edit PKBUILD to uncomment #make nconfig
makepkg -s
*wait until ncurses gui shows and select eGalax driver, save and exit
')

after a while the build fails with this:

$this->bbcode_second_pass_code('', '
In file included from include/linux/sched.h:15:0,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
fs/aufs/hnotify.c: In function 'hn_gen_by_inode':
include/linux/kernel.h:797:27: error: 'struct dentry' has no member named 'd_alias'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro 'hlist_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
')

Can any kind person offer me some advice?

Thanks for reading my issue
bugthing
 
Posts: 5
Joined: Tue May 12, 2015 7:46 am

Re: Compile kernel on odroid-c1

Postby moonman » Mon Jun 01, 2015 8:11 pm

git pull all changes. This was fixed https://github.com/archlinuxarm/PKGBUIL ... b21fd66a15
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Compile kernel on odroid-c1

Postby bugthing » Tue Jun 02, 2015 7:54 am

Thanks very much for that .. I'll try again tonight .. I did do a pull before trying last night and I looks like that commit is 2 days old, perhaps i missed something. Thanks for the advice, i'll let you know how I get on
bugthing
 
Posts: 5
Joined: Tue May 12, 2015 7:46 am

Re: Compile kernel on odroid-c1

Postby bugthing » Tue Jun 02, 2015 7:49 pm

I pulled the latest from 'master' branch of PKGBUILDs gti repo ,, but sadly am still getting
$this->bbcode_second_pass_code('', '
CC fs/aufs/hnotify.o
In file included from include/linux/sched.h:15:0,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
fs/aufs/hnotify.c: In function 'hn_gen_by_inode':
include/linux/kernel.h:797:27: error: 'struct dentry' has no member named 'd_alias'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro 'hlist_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
include/linux/kernel.h:797:48: warning: initialization from incompatible pointer type
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro 'hlist_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
In file included from include/linux/compiler-gcc.h:106:0,
from include/linux/compiler.h:54,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/uapi/linux/capability.h:16,
from include/linux/capability.h:15,
from include/linux/sched.h:13,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
include/linux/compiler-gcc4.h:14:34: error: 'struct dentry' has no member named 'd_alias'
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro '__compiler_offsetof'
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:798:29: note: in expansion of macro 'offsetof'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro 'hlist_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
In file included from include/linux/preempt.h:11:0,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:29,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
include/linux/list.h:710:35: error: 'struct dentry' has no member named 'd_alias'
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
include/linux/list.h:697:12: note: in definition of macro 'hlist_entry_safe'
({ typeof(ptr) ____ptr = (ptr); \
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
include/linux/list.h:710:35: error: 'struct dentry' has no member named 'd_alias'
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
include/linux/list.h:697:28: note: in definition of macro 'hlist_entry_safe'
({ typeof(ptr) ____ptr = (ptr); \
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
In file included from include/linux/sched.h:15:0,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
include/linux/kernel.h:797:27: error: 'struct dentry' has no member named 'd_alias'
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro 'hlist_entry_safe'
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
include/linux/kernel.h:797:48: warning: initialization makes pointer from integer without a cast
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro 'hlist_entry_safe'
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
In file included from include/linux/compiler-gcc.h:106:0,
from include/linux/compiler.h:54,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/uapi/linux/capability.h:16,
from include/linux/capability.h:15,
from include/linux/sched.h:13,
from /home/benjamin/PKGBUILDs/core/linux-odroid-c1/src/linux-195f620ff7c439ce04b86af20ac3ae6a0289af72/include/uapi/linux/aufs_type.h:17,
from <command-line>:0:
include/linux/compiler-gcc4.h:14:34: error: 'struct dentry' has no member named 'd_alias'
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro '__compiler_offsetof'
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:798:29: note: in expansion of macro 'offsetof'
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro 'container_of'
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro 'hlist_entry'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro 'hlist_entry_safe'
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
fs/aufs/hnotify.c:201:3: note: in expansion of macro 'hlist_for_each_entry'
hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
^
scripts/Makefile.build:308: recipe for target 'fs/aufs/hnotify.o' failed
make[2]: *** [fs/aufs/hnotify.o] Error 1
scripts/Makefile.build:455: recipe for target 'fs/aufs' failed
make[1]: *** [fs/aufs] Error 2
Makefile:801: recipe for target 'fs' failed
make: *** [fs] Error 2
==> ERROR: A failure occurred in build().
Aborting...
')

I wonder...
Should I be grabbing another branch?
It this possilble to compile on the device?
Have I a missing package?
Should I report this as bug?
.. not sure what to try from here...
bugthing
 
Posts: 5
Joined: Tue May 12, 2015 7:46 am

Re: Compile kernel on odroid-c1

Postby moonman » Tue Jun 02, 2015 7:56 pm

Will try to build it tonight, don't report it, we will deal with it here.
What module do you need enabled in the kernel for the screen?
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Compile kernel on odroid-c1

Postby bugthing » Tue Jun 02, 2015 8:16 pm

Thanks alot for looking into this.

When the ncurse menu appears I select, something like:
Device Drivers->Input Device Support->TouchScreens->eGalax

The F6 to save .config and F9 to exit
bugthing
 
Posts: 5
Joined: Tue May 12, 2015 7:46 am

Re: Compile kernel on odroid-c1

Postby moonman » Wed Jun 03, 2015 11:17 am

Compiles just fine here. Next kernel update will have this module included.
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Compile kernel on odroid-c1

Postby bugthing » Wed Jun 03, 2015 11:32 am

wow! .. thats great news
Not the outcome I was expecting but awesome non the less

I wonder what I am doing wrong with my kernel compile... still, does not matter now that module will be in the next update

Thanks very much for your assistance
bugthing
 
Posts: 5
Joined: Tue May 12, 2015 7:46 am

Re: Compile kernel on odroid-c1

Postby moonman » Wed Jun 03, 2015 9:52 pm

If you want to build it yourself, you have to either build in clean chroot or replace all instances of "git apply" with "patch -Np1 -i"
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Compile kernel on odroid-c1

Postby WarheadsSE » Thu Jun 04, 2015 1:57 pm

Or, just don't build inside the git checkout ;)
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm


Return to U-Boot/Kernel

Who is online

Users browsing this forum: No registered users and 6 guests