.......;; 야 저 참고 사이트를 보라구. -ba 옵션으로 묶으랬단 말야; 그래서 google을 뒤졌다. 뒤졌다.; 어떻게 뒤져야되나. 쩝; 한참 동안 쳐다보다가 포기하고 싶었다;; 대략 2003년까지는 rpm -ba 가 맞는것 같다. 오케이. 그런데 올해는 2005년 아닌가; 해가 좀 바꼈다고 저걸 안해준다구? 혹시 하는 마음에 쉘에 rpm을 치고 탭을 눌러봤다. (정말이다; 맹세코 우연이였다;)
어쩌라고어쩌라고어쩌라고...; 저기 세번째에 찬란하게 빛나는건 rpmbuild 아닌가. 대략 중학생만 넘으면 rpm + build. 그러니까 rpm 만들기 요정도로 해석이 가능한 물건 아니던가. 저런거 바꼈다고 어느 웹사이트에 적어줘야 하는거 아냐; (그래도 검색은 불가능하다;;) 자자 심기일전 다시 커맨드 입력!
rpmbuild kernel.spec 오류: 3 번째 행: version에 부적합한 문자 '-' 가 있음: Version: 2.4.21-27.EL-0.1
.. 이뻤단 말이다; 그래서;;
cp kernel.spec /usr/src/redhat/SPECS/ cp: overwrite `/usr/src/redhat/SPECS/kernel.spec'? y 싫어어~ 하지만 어쩔수 없지; cd /usr/src/redhat/SOURCES/ mv kernel-2.4.21-27.EL-0.1-1.tar.gz kernel-2.4.2127.EL0.1.tar.gz
.. 쩝; 자자 다시 한번 시도! 된다 된다;;
rpmbuild -ba kernel.spec 실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.17145 + umask 022 + cd /usr/src/redhat/BUILD + LANG=C + export LANG + unset DISPLAY + cd /usr/src/redhat/BUILD + rm -rf kernel-2.4.2127.EL0.1 + /bin/gzip -dc /usr/src/redhat/SOURCES/kernel-2.4.2127.EL0.1.tar.gz + tar -xf -
.. 한참 걸린다; 다시 말하자면 팬쓰리. 미쓰리보다 느리다; 근데 어라라;;
/var/tmp/rpm-tmp.17145: line 33: cd: kernel-2.4.2127.EL0.1: No such file or directory 오류: /var/tmp/rpm-tmp.17145의 잘못된 종료 상황 (%prep)
RPM 제작 오류: /var/tmp/rpm-tmp.17145의 잘못된 종료 상황 (%prep)
.. 집에 갈래; 집에 가면 여우같은 마누라가 기다리고 있단 말이닷! (믿으라!) 하지만 대략 손댄건 마무리해야지 쩝; 대충보니 디렉토리가 잘못된것 같네. 수정하러 슝슝.
cd /usr/src/redhat/SOURCES mv linux-2.4.21-27.EL-0.1/ kernel-2.4.2127.EL0.1 rm -f kernel-2.4.2127.EL0.1.tar.gz tar czvf kernel-2.4.2127.EL0.1 kernel-2.4.2127.EL0.1.tar.gz
다시다시~
rpmbuild -ba kernel.spec 실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.82545
미쓰리보다 느린 팬쓰리 잘도 돌아간다. 힘내라! 나를 집에 보내줘! 오옷; 메시지가 주르륵 올라가는 바람에 캡춰를 못했다; 처음 나온건 대략 make oldconfig 메시지. 그다음에는 대략 컴파일 메시지. 그래! 이제 된건가! 대략 spec 파일의 build 이하 옵션이 돌고 있는거겠지. 이런거다.
module 글자가 없는걸 보니 bzImage 컴파일중인가 보다. 9시에는 가려나; 담배나 피우고 와야겠다. 아. 요약하면 kernel 이놈 rpm을 만들라면 일단 그 디렉토리에서 make spec을 쳐서 kernel.spec을 얻어야 한다. 그 다음에 커널 디렉토리를 /usr/src/redhat/SOURCE 로 카피. spec은 /usr/src/redhat/SPEC 으로 카피. 그 다음에 디렉토리 이름을..
Source: kernel-2.4.2127.EL0.1.tar.gz
spec 파일에서 저 부분을 찾아서 뒤에 tar.gz 을 뺀 이름으로 바꿔준다. 그러니 저 경우에는 kernel-2.4.2127.EL0.1 요게 되겠지. 일단 이건 확실하지 않지만, 디렉토리 정보를 지워줘야 하기 때문에 이런걸 해준다. 이건 커널 디렉토리에서 한다. (알고 있겠지?)
cp .config config_old make mrproper cp config_old .config
그런 다음에 spec 파일의 아래 부분에서 아래 파일 이름으로 묶어준다.
Source: kernel-2.4.2127.EL0.1.tar.gz
그 다음에 /usr/src/redhat/SPEC 요 디렉토리에 가서 rpm -ba 혹은 rpmbuild -ba kernel.spec 현재 여기까지 끝. 컴파일중.
흡연끝. 아직도 컴파일중;
gcc -D__KERNEL__ -I/usr/src/redhat/BUILD/kernel-2.4.2127.ELSH0.1/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/redhat/BUILD/kernel-2.4.2127.ELSH0.1/include/linux/modversions.h -nostdinc -iwithprefix include -DKBUILD_BASENAME=i810_dma -c -o i810_dma.o i810_dma.c In file included from drmP.h:75, from i810_dma.c:35: drm_os_linux.h:16:2: warning: #warning the author of this code needs to read up on list_entry