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

James Clarke <[email protected]>
Newsgroups gmane.linux.debian.ports.ia64
Message-ID <[email protected]>
On 9 Feb 2018, at 08:33, Ivan Zakharyaschev <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
> ---
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.