2013년 12월 3일 화요일

[Linux] Kernel Patch

일반적인 커널패치는 이전까지의 패치가 모두 들어 있다는 가정에서 만들어지므로 2.4.16에서 2.4.18로 패치를 하려면 2.4.16에서 바로 2.4.18로 패치할 수 없고 순서대로 패치해야 한다. 하지만 알란콕스의 패치는 상위버전의 패치가 하위버전의 패치를 포함하고 있으므로 바로 패치하면 된다. 만약 2.4.18-ac2에서 2.4.18-ac3으로 패치하려면 이미 2.4.18-ac3에는 2.4.18-ac2의 패치를 포함하고 있으므로 바로 패치할 수 없고 역패치를 한후 다시 패치해야 한다.
현재의 커널 버전이 2.4.16인데 2.4.18로 업그레이드를 하고자 할때는 먼저 커널2.4.16소스가 있는 /usr/src/linux로 이동하여 패치v파일의 압축을 해제한후 다음과 같이 2.4.16을 2.4.17로 패치한다.
root@www /usr/src/linux]# patch -p1 < patch-2.4.17
현재의 2.4.18에 알란콕스의 2.4.18-ac3을 패치하고자 한다면 다음과 같이 실행한다.
root@www /usr/src/linux]# patch -p1 < patch-2.4.18-ac3
다음과 같이 -R 옵션을 주어 역패치를 하면 전혀 패치가 가해지지 않은 2.4.18원본 커널소스로 만들어 준다.
root@www /usr/src/linux]# patch -p1 -R < patch-2.4.18-ac3
여러 커널개발자들의 패치를 적용하려면 http://www.kernel.org/pub/linux/kernel/people/사이트를 참고하면 된다.

댓글 없음:

댓글 쓰기