[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#711135: Re: compiling a bootable kernel for ia64 (itanium2, mckinley, rx2620)



On 9 Feb 2018, at 08:33, Ivan Zakharyaschev <imz@altlinux.org> wrote:
> 
> Hi,
> 
> On Wed, 7 Feb 2018, Ivan Zakharyaschev wrote:
> 
>> On Sun, 4 Feb 2018, Jason Duerstock wrote:
>> 
>>> Does the kernel from here work for you?:
>>> 
>>> https://people.debian.org/~jrtc27/wheezy-backports-ia64/
>>> 
>>> Specifically
>>> https://people.debian.org/~jrtc27/wheezy-backports-ia64/linux-image-3.16.0-0.bpo.4-mckinley_3.16.39-1+deb8u1~bpo70+1+gcc4.4_ia64.deb
>> 
>> (As I've already said, this kernel works for our machine.)
>> 
>> How to reproduce this build? Have you published the corresponding rules?

I've uploaded the source package to [1].

>> I tried:
>> 
>> $ apt-get source linux-image-3.16.0-0.bpo.4-mckinley
>> $ cd linux-3.16.39/
>> $ sed -e 's/gcc-4.6/gcc-4.4/g' debian/config/ia64/defines -i
>> $ debuild -b -us -uc
>> $ debuild -j2 -b -us -uc
>> ...
>>  Kernel: vmlinux.gz is ready
>> ERROR: "numa_slit" [drivers/block/nvme.ko] undefined!
>> make[6]: *** [__modpost] Error 1
> 
> BTW, has anyone been working on adapting the newest kernel package for ia64? (buildd simply reports that there are no rules for ia64.)
> 
> As for building 3.16 myself (reproducing Jason's build), I've found an obvious fix for the above build problem at https://kernel.opensuse.org/cgit/kernel-source/commit/patches.arch/ia64-export-numa_slit.patch?h=packaging&id=bbf39ca510248f9f9cbfc3c65e8514df929a3094 :
> 
> $ cd debian/patches/
> $ mkdir bugfix/ia64
> $ wget 'https://kernel.opensuse.org/cgit/kernel-source/plain/patches.arch/ia64-export-numa_slit.patch?h=packaging&id=bbf39ca510248f9f9cbfc3c65e8514df929a3094' -O bugfix/ia64/ia64-export-numa_slit.patch
> $ cat bugfix/ia64/ia64-export-numa_slit.patch
> From: Hannes Reinecke <hare@suse.de>
> Date: Wed, 14 Jan 2015 15:01:30 +0100
> Subject: [PATCH] ia64: export numa_slit()
> Patch-Mainline: not yet
> References: bnc#913030,FATE#317455
> 
> nvme triggers a build error with 'numa_slit' being undefined.
> 
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
> arch/ia64/mm/numa.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/arch/ia64/mm/numa.c b/arch/ia64/mm/numa.c
> index 88f4eeb..23a914c 100644
> --- a/arch/ia64/mm/numa.c
> +++ b/arch/ia64/mm/numa.c
> @@ -35,6 +35,7 @@ struct node_cpuid_s node_cpuid[NR_CPUS] =
>  * proportional to the memory access latency ratios.
>  */
> u8 numa_slit[MAX_NUMNODES * MAX_NUMNODES];
> +EXPORT_SYMBOL(numa_slit);
> 
> /* Identify which cnode a physical address resides on */
> int
> -- 
> 1.8.5.2
> 
> Unfortunately, the references lead to secret notes ("bnc" refers to bugzilla.novell.com), so I couldn't see whether this is believed to be a reasonable fix leading to an actually working code.

It should work, and I initially did that, but my version instead hides
numa_slit accesses behind functions, like on other architectures.

> And I'm doing:
> 
> $ cd ../..
> $ echo bugfix/ia64/ia64-export-numa_slit.patch >>series
> $ sed -e 's/gcc-4.6/gcc-4.4/g' debian/config/ia64/defines -i
> # If one wnats to use gcc-4.5 from the archive snapshots, one should add it to debian/config/defines, too
> $ debuild -b -uc -us
> # stops because the package got updated
> $ debuild -j2 -b -uc -us
> 
> We'll see whether it compiles successfully.

It should.

Regards,
James

[1] https://people.debian.org/~jrtc27/wheezy-backports-ia64/linux_3.16.39-1+deb8u1~bpo70+1+gcc4.4.dsc


Reply to: