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

Ivan Zakharyaschev <[email protected]>
Newsgroups gmane.linux.debian.ports.ia64
Message-ID <[email protected]>
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 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.

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.
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.