[완료] linux kernel 2.6.29 이후로의 sparc64 architecture.

noradiance의 이미지

linux kernel을 compile해서 SunBlade 2000 (sparc64) machine에 올리는 작업을 하고 있습니다.

debian patch가 된 linux-source-2.6.32.tar.bz2를 사용하고 있는데 컴파일 오류가 자꾸 발생해서 들여다보니

  DEPMOD  2.6.32.21+drm33.7-t4
make[1]: Leaving directory `/usr/src/linux-2.6.32-simics'
test ! -e /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/source ||  \
           mv /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/source ./debian/source-link
test ! -e /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/build ||   \
           mv /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/build ./debian/build-link
/sbin/depmod -q -FSystem.map -b /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4 2.6.32.21+drm33.7-t4;
test ! -e ./debian/source-link ||      \
           mv ./debian/source-link /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/source
test ! -e  ./debian/build-link ||      \
           mv  ./debian/build-link /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4/lib/modules/2.6.32.21+drm33.7-t4/build
gzip -9vc arch/sparc64/boot/image > /usr/src/linux-2.6.32-simics/debian/linux-image-2.6.32.21+drm33.7-t4//boot/vmlinuz-2.6.32.21+drm33.7-t4
gzip: arch/sparc64/boot/image: No such file or directory
make: *** [install/linux-image-2.6.32.21+drm33.7-t4] Error 1

원인을 찾아보니 2.6.29 이후로는 arch/sparc64 디렉토리가 전부 사라졌더라고요. arch/sparc 은 그대로 있긴 합니다만;;

이게 2.6.3X 부터는 64bit sparc을 사용할 수 없다는 이야기인가요? 살짝 당황스럽습니다;;

pastime의 이미지

sparc64 소스는 arch/sparc으로 통합되었습니다.

패치가 최신 버전이 아닌 듯 하네요..

noradiance의 이미지

패치는 제가 한 게 아니라 apt-get으로 받은 source code가 patch되어 있다는 이야기였습니다.

컴파일하니 sparc directory로 들어가지 않고 sparc64를 계속해서 찾더라고요. 이걸 sparc으로 강제 지정해주어야 하는 건가요?
명령어를 찾을 수가 없어서 그렇습니다;

컴파일은 다음 명령어들을 사용했습니다.

# cp /boot/config-${uname –r} ./.config
# make oldconfig          
# make menuconfig         
 
# make-kpkg clean
# export CONCURRENCY_LEVEL=2
# fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

남의 이야기를 잘 듣는 사람이 되자.
급할수록 돌아가자.

dorado2의 이미지

kernel-package (11.017) version부터 해당 bug가 fix된 것 같네요.
업그레이드해보시길...

zless /usr/share/doc/kernel-package/changelog.gz

...
kernel-package (11.017) unstable; urgency=low

* [1229dc0]: Consolidate sparc variants post 2.6.29 when building a
kernel on Sun (sparc64), kernel-package searches the final kernel
image in arch/sparc64/boot/image, but there is no arch/sparc64/
anymore in 2.6.29-rc3 (and probably earlier .29 releases). All the
stuff was merged into arch/sparc/. So now kernel arch is always
sparc.
Bug fix: "arch/sparc64 is no more (2.6.29-rc3)", thanks to Evgeni
Golov (Closes: #514228).

...

noradiance의 이미지

그렇군요^^ 감사합니다. 업그레이드해서 해보도록 할께요

남의 이야기를 잘 듣는 사람이 되자.
급할수록 돌아가자.

noradiance의 이미지

잘 되네요. 감사합니다.ㅎㅎ

남의 이야기를 잘 듣는 사람이 되자.
급할수록 돌아가자.