'compile'에 해당되는 글 1건
- 2009.10.05 Ubuntu kernel compile
Ubuntu kernel compile
이전에는 Linux 하면 대부분 배포판으로는 RedHat을 사용했던 것 같던데, (그 전에는 Slackware) 요즘은 Ubuntu를 많이 사용하는 것 같다. 나도 뭐 하나 해 볼 것이 있어서 Linux로 작업환경을 구축하는데, 설치가 가장 쉬운 것 같아서, Ubuntu로 구축하였다.
가장 먼저 할 일이 kernel source를 받아서, compile하여 base code를 확립하는 작업인데, 이를 위해서 Ubuntu kernel을 compile하는 작업을 진행하였다. 아래 사이트의 설명을 참고로 진행하였다.
[Linux] Ubuntu 9.04 – Jaunty Kernel Compile – by morcavon
이에 따라 작업한 명령들은 아래와 같다.
$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-jaunty.git work $ cd work/ $ cat debian.master/changelog | more $ git tag | more $ git checkout Ubuntu-2.6.28-15.52 -b Core2 $ git branch $ ls -la debian.master/config/i386/config $ cp debian.master/config/i386/config .config $ cat debian.master/config/i386/config.generic >> .config $ make menuconfig $ cp .config ../config.Core2 $ git reset --hard $ git clean -xdf $ ls debian.master/abi/ $ cp debian.master/abi/2.6.28-15.51/i386/generic debian.master/abi/2.6.28-15.51/i386/Core2 $ cp debian.master/abi/2.6.28-15.51/i386/generic.modules debian.master/abi/2.6.28-15.51/i386/Core2.modules $ cp ../config.Core2 debian.master/config/i386/ $ ls -la debian.master/config/i386/ $ vi debian.master/scripts/misc/getabis $ vi debian.master/rules.d/i386.mk $ vi debian.master/control.d/flavour-control.stub $ vi debian.master/control.stub.in $ ls -la debian $ cd debian $ ls -la $ ln -sf ../debian.master/changelog changelog $ ln -sf ../debian.master/control.stub.in control $ ln -sf ../debian.master/control.stub.in control.stub $ ls -la $ cd .. $ ls -la $ git add . $ git commit -a -m "Core2 modifications" $ CONCURRENCY_LEVEL=2 NOEXTRAS=1 skipabi=true skipmodule=true fakeroot debian/rules binary-Core2 |
그런데 마지막에 kernel compile한 후에 오류가 발생하였다.
…………… # # Remove files which are generated at installation by postinst, except for # modules.order. # mv /home/projects/WLP/ubuntu.kernel/jaunty/Core2/debian/linux-image-2.6.28-15-Core2/lib/modules/2.6.28-15-Core2/modules.order \ /home/projects/WLP/ubuntu.kernel/jaunty/Core2/debian/linux-image-2.6.28-15-Core2/lib/modules/2.6.28-15-Core2/_modules.order rm -f /home/projects/WLP/ubuntu.kernel/jaunty/Core2/debian/linux-image-2.6.28-15-Core2/lib/modules/2.6.28-15-Core2/modules.* mv /home/projects/WLP/ubuntu.kernel/jaunty/Core2/debian/linux-image-2.6.28-15-Core2/lib/modules/2.6.28-15-Core2/_modules.order \ /home/projects/WLP/ubuntu.kernel/jaunty/Core2/debian/linux-image-2.6.28-15-Core2/lib/modules/2.6.28-15-Core2/modules.order dh_testdir dh_testroot dh_installchangelogs -plinux-image-2.6.28-15-Core2 dh_installdocs -plinux-image-2.6.28-15-Core2 dh_compress -plinux-image-2.6.28-15-Core2 dh_fixperms -plinux-image-2.6.28-15-Core2 dh_installdeb -plinux-image-2.6.28-15-Core2 dh_gencontrol -plinux-image-2.6.28-15-Core2 dpkg-gencontrol: error: Illegal package name `linux-image-2.6.28-15-Core2' dh_gencontrol: command returned error code 65280 make[1]: *** [binary-Core2] 오류 1 make: *** [binary-Core2] 오류 2 |
Illegal package name?
여하튼 ./debian/ 아래에 compile은 되었는데, 이후 package와 관련된 작업에서 오류가 발생하였다.
morcavon님의 설명에 감사하며…
*** 2009.10.11 (Sun) 추가
=PROVIDES= 항목을 지우지 않았더니 발생하는 문제였다.
이 항목과 관련된 것을 모두 지웠더니... OK
by 송골