All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: WONG Sheng Chao <wong@isir.upmc.fr>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai] Compiling I-pipe patched kernel on beaglebone from Angstrom branch
Date: Fri, 23 Nov 2012 18:45:50 +0100	[thread overview]
Message-ID: <50AFB64E.4030702@xenomai.org> (raw)
In-Reply-To: <b5d8fc2c77444a0bf20a3446d6a7edd0@isir.upmc.fr>

On 11/23/2012 06:22 PM, WONG Sheng Chao wrote:
> On Fri, 23 Nov 2012 17:29:02 +0100, Gilles Chanteperdrix wrote:
>> On 11/23/2012 01:35 PM, WONG Sheng Chao wrote:
>>> On Fri, 23 Nov 2012 10:58:50 +0100, Gilles Chanteperdrix wrote:
>>>> On 11/23/2012 10:45 AM, WONG Sheng Chao wrote:
>>>>> Hi
>>>>>
>>>>> I am trying to get Xenomai working on the beaglebone (AM3359) and 
>>>>> I
>>>>> had
>>>>> been following the instructions from this mailing list
>>>>>
>>>>>
>>>>> http://www.xenomai.org/pipermail/xenomai/2012-September/026190.html
>>>>>
>>>>> The steps that I went through was such
>>>>>
>>>>> 1) I configured the Angstorm distribution with linux kernel 3.2.21
>>>>> for
>>>>> beaglebone using bitbake
>>>>>
>>>>> 2) Copied the kernel source from it and saved it as
>>>>> {original_angstrom_kernel}
>>>>>
>>>>> 3) I then ran the patch script from xenomai-2.6.1
>>>>>
>>>>> $./prepare-kernel.sh --linux={original_angstrom_kernel} --arch=arm
>>>>>
>>>>>
>>>>> --adeos=/xenomai-2.6.1/ksrc/arch/arm/patches/ipipe-core-3.2.21-arm-1.patch
>>>>>
>>>>> 4) There were four conflicting files, namely
>>>>>
>>>>> arch/arm/common/gic.c
>>>>> arch/arm/mach-omap2/irq.c
>>>>> arch/arm/plat-mxc/gic.c
>>>>> arch/arm/plat-omap/include/plat/irqs.h
>>>>>
>>>>> 5) I compared these four files to the vanilla linux-kernel-3.2.21
>>>>> and
>>>>> patch these 4 files individually from {original_angstrom_kernel}
>>>>> with
>>>>> {vanilla-kernel-3.2.21}. Now i save the newly patched kernel 
>>>>> source
>>>>> as
>>>>> {pre_patched_original_angstrom_kernel}
>>>>>
>>>>> 6) I ran the prepare-kernel script again with the --linux directed
>>>>> to
>>>>> the {pre_patched_original_angstrom_kernel} and the patch went
>>>>> through
>>>>> fine. So now i have a copy of i-pipe patched source
>>>>> {ipipe_patched_original_angstrom_kernel}
>>>>>
>>>>> 7) I proceed with copying the .config function from
>>>>> arch/arm/configs/omap2plus_defconfig and run the make menuconfig
>>>>> with
>>>>>
>>>>> $make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- 
>>>>> menuconfig
>>>>>
>>>>> and save the kernel configuration
>>>>>
>>>>> 8) i then proceed to compile the kernel with the following command
>>>>>
>>>>> $make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage
>>>>>
>>>>> 9) The compilation fails and it gives the following error
>>>>>
>>>>>   arch/arm/mach-omap2/devices.c:1096:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_0'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1101:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_1'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1106:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_2'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1111:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_3'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1116:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_4'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1121:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_5'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1126:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_6'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1131:12: error: 
>>>>> 'AM33XX_IRQ_ICSS0_7'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1260:12: error:
>>>>> 'AM33XX_IRQ_CPSW_C0_RX'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1260:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1260:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[2].start')
>>>>> | arch/arm/mach-omap2/devices.c:1261:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1261:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[2].end')
>>>>> | arch/arm/mach-omap2/devices.c:1265:12: error:
>>>>> 'AM33XX_IRQ_DMTIMER5'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1265:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1265:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[3].start')
>>>>> | arch/arm/mach-omap2/devices.c:1266:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1266:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[3].end')
>>>>> | arch/arm/mach-omap2/devices.c:1270:12: error:
>>>>> 'AM33XX_IRQ_DMTIMER6'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1270:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1270:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[4].start')
>>>>> | arch/arm/mach-omap2/devices.c:1271:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1271:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[4].end')
>>>>> | arch/arm/mach-omap2/devices.c:1275:12: error: 
>>>>> 'AM33XX_IRQ_CPSW_C0'
>>>>> undeclared here (not in a function)
>>>>> | arch/arm/mach-omap2/devices.c:1275:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1275:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[5].start')
>>>>> | arch/arm/mach-omap2/devices.c:1276:3: error: initializer element
>>>>> is
>>>>> not constant
>>>>> | arch/arm/mach-omap2/devices.c:1276:3: error: (near 
>>>>> initialization
>>>>> for
>>>>> 'am33xx_cpsw_resources[5].end')
>>>>>
>>>>> I read from this link
>>>>> http://www.xenomai.org/pipermail/xenomai/2012-July/000476.html 
>>>>> that
>>>>> for
>>>>> the kernel to boot properly on the AM3359 two changes needs to be
>>>>> made.
>>>>> I had yet to made these changes as i want to see if the kernel
>>>>> source
>>>>> would compiled and to verify my steps.
>>>>>
>>>>> Is my approach correct? Any advice on how to solve this problem?
>>>>
>>>> There is no correct approach, there is more than one way to do it.
>>>> Does
>>>> the un-patched kernel compile with the .config you use? If yes, 
>>>> does
>>>> the
>>>> patched kernel compile with CONFIG_IPIPE and CONFIG_XENOMAI 
>>>> disabled?
>>>
>>>
>>> Sorry about the private reply Gilles, I clicked the reply button
>>> instead of reply all.
>>>
>>>
>>> The un-patched kernel compile fine with the original .config.
>>>
>>> The ipipe patched kernel with CONFIG_IPIPE and CONFIG_XENOMAI 
>>> disable
>>> shows the same compilation error as before.
>>
>> This looks like an error due to some changes made by the I-pipe patch 
>> to
>> the include files. In order to debug this, you have to simply
>> pre-process the file, and try and understand what happens. If at the 
>> top
>> of the build tree, you run "make arch/arm/mach-omap2/devices.i" with 
>> the
>> proper make variables set, the kernel makefile should generate the
>> pre-processed file.
> 
> I compared the devices.i and noticed that in the function where the 
> compile error occurs the constant variables are not well defined. But 
> how do I know which includes files are modified?

You have to check which header defines the constant, and how it gets
included in the correct devices.i, then look at the incorrect one, and
check what prevents the include file from being included.

-- 
					    Gilles.


  reply	other threads:[~2012-11-23 17:45 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-23  9:45 [Xenomai] Compiling I-pipe patched kernel on beaglebone from Angstrom branch WONG Sheng Chao
2012-11-23  9:58 ` Gilles Chanteperdrix
2012-11-23 12:35   ` WONG Sheng Chao
2012-11-23 16:29     ` Gilles Chanteperdrix
2012-11-23 17:22       ` WONG Sheng Chao
2012-11-23 17:45         ` Gilles Chanteperdrix [this message]
2012-11-27 16:40           ` WONG Sheng Chao
2012-11-27 16:52             ` WONG Sheng Chao
2012-11-27 18:00             ` Gilles Chanteperdrix
2012-11-28 15:12               ` WONG Sheng Chao
2012-11-28 17:40                 ` WONG Sheng Chao
2012-11-28 18:14                   ` Gilles Chanteperdrix
2012-11-28 18:49                     ` WONG Sheng Chao
2012-11-28 18:57                       ` Gilles Chanteperdrix
2012-11-28 19:34                         ` WONG Sheng Chao
2012-11-28 19:55                           ` Gilles Chanteperdrix
2012-11-28 20:22                             ` WONG Sheng Chao
2012-11-29 12:10                             ` WONG Sheng Chao
     [not found] <mailman.2.1354034873.1423.xenomai@xenomai.org>
2012-11-27 18:42 ` Stephan Kappertz
2012-11-27 20:05   ` WONG Sheng Chao
     [not found] <mailman.0.1354186801.18650.xenomai@xenomai.org>
2012-11-29 12:16 ` Stephan Kappertz
2012-11-30  8:54   ` WONG Sheng Chao
2012-11-30 11:45     ` Michael Haberler
2012-11-30 13:42       ` Gilles Chanteperdrix
2012-11-30 19:22         ` Michael Haberler
2012-12-02 13:53           ` WONG Sheng Chao
2012-12-02 14:45             ` Gilles Chanteperdrix
2012-12-02 15:15               ` WONG Sheng Chao
2012-12-02 16:14                 ` Gilles Chanteperdrix
2012-12-03 14:31                   ` WONG Sheng Chao
2012-12-03 18:30                     ` WONG Sheng Chao
2012-12-03 19:57                       ` Gilles Chanteperdrix
2012-12-04  9:26                         ` WONG Sheng Chao
2012-12-04  9:45                           ` WONG Sheng Chao
2012-12-04 19:29                             ` Gilles Chanteperdrix
2012-12-10 18:08                               ` WONG Sheng Chao
2012-12-10 19:07                                 ` Gilles Chanteperdrix
2012-12-10 20:23                                   ` WONG Sheng Chao
2012-12-10 20:32                                     ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50AFB64E.4030702@xenomai.org \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=wong@isir.upmc.fr \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.