오늘 처음 커널 컴파일을 해보았습니다.
생각보다 제가 사둔 책과 인터넷에 친절한 설명들이 많아 명령어를 찾는 것은 어렵지는 않았는데요.
대신 그 엄청나게 많은 옵션들은 도무지 이해할래도 이해할 수가 없더군요.
시간 날 때보다 틈틈히 커널 공부도 해야하는 건지;
문제는 커널을 교체하고 다시 부팅을 하니까 화면에 큼직하게 이상한 멘트 2줄이 뜨더군요.
'처음엔 완전 X됐다. 이거 완전 다시 설치해야 하는거 아냐?'라고 생각했는데 정상 부팅을 되는 거 같더군요.
[ 1.075701] EXT3-fs (sda1): error: couldn’t mount because of unsupported optional features (240)
[ 1.076224] EXT2-fs (sda1): error: couldn’t mount because of unsupported optional features (240)
제 HDD의 파일 시스템은 모두 ext4로 되어 있느데, 왜 ext3이나 2로 잡으려고 하는지 도통 모르겠습니다.
뭔가 커널 컴파일 하는데 잘못한 것은 같은데요.
어쨌든 이 멘트만 빼고는 컴퓨터는 정상 부팅을 하는 거 같습니다.
/var/log/dmesg를 읽어보니 이후에는 다시 EXT4로 리마운트 해서 정상적으로 HDD를 인식한 것은 같습니다.
[ 1.099602] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[ 17.969623] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[ 18.201161] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)
[ 18.471480] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)
어쨌든 마음이 꺼림찍해서 올려봅니다.
다음에 컴파일 할 때는 어떤 것들을 신경써야 할까요?
어쨌든 새로 컴파일을 해서 커널을 바꿔봤습니다.
그다지 문제가 해결되진 않네요.
다만 직전에는 버추얼박스 커널에 문제가 있다고 했는데, 다시 커널을 교체하니까 그 부분은 해결이 되었습니다.
대신 이번엔 에메랄드 테마 매니저가 문제를 일으킵니다.
커널 컴파일이라는게 쉽지 않네요.
커널이야 이렇게 십수번이라도 하다보면 언젠가 익숙해지겠죠.
부팅이 되지 않는 사태만 피한다면요^^;
그나저나 궁금한 것들을 좀 남겨둘까 합니다.
그냥 몰라도 어떻게 되겠지만 좀 깔끔하게 정리해서 다음 커널 컴파일 할 때 도움이 되었으면 합니다.
-
/usr/src 에 있는 파일들은 그냥 아무 쓸모없는 소스들인가요?
아니면 무언가 시스템에 중요한 것들인가요?
루트(/) 파티션에 10기가를 배정해놨는데 컴파일을 하다보면 용량이 커져서 아슬아슬하네요.
그냥 지워도 되는 것들인지 알려주세요.
-
왜 컴파일할 때 링크를 만들어서 커널 소스 압축 해제한 곳으로 들어가나요?
그냥 압축 해제한 폴더로 직접 들어가면 컴파일이 안 되나요?
커널 컴파일을 설명한 곳들은 일제히 커널 소스를 /usr/src 로 복사해서 압축을 풀고 다시 ln -s 로 링크를 만드는데 왜 그런지 궁금해서요.
-
컴파일 하고 남는 파일들은(컴파일 중 생성된 파일들) 모조리 지워도 되는 건가요?
-
문득 페도라랑 비교해봤는데 커널을 컴파일 하는 방법이 다른 거 같더군요.
우분투는 주로 deb파일을 만들어서 교체를 하고, 페도라는 make와 make install 같은 명령어로 바로 커널을 교체하는 거 같던데.
혹시 배포판마다 컴파일 방법이 다 다른 건가요?
-
혹시 커널을 원래 교체하기 전의 것으로 바꿀 수는 없을까요?
아니면 애초 배포판에서 사용되던(10.04 LTS)의 커널을 설치할 수는 없는지요.
[quote="peacebaro":9w9453hk]어쨌든 새로 컴파일을 해서 커널을 바꿔봤습니다.
그다지 문제가 해결되진 않네요.
다만 직전에는 버추얼박스 커널에 문제가 있다고 했는데, 다시 커널을 교체하니까 그 부분은 해결이 되었습니다.
대신 이번엔 에메랄드 테마 매니저가 문제를 일으킵니다.
커널 컴파일이라는게 쉽지 않네요.
커널이야 이렇게 십수번이라도 하다보면 언젠가 익숙해지겠죠.
부팅이 되지 않는 사태만 피한다면요^^;
그나저나 궁금한 것들을 좀 남겨둘까 합니다.
그냥 몰라도 어떻게 되겠지만 좀 깔끔하게 정리해서 다음 커널 컴파일 할 때 도움이 되었으면 합니다.
-
/usr/src 에 있는 파일들은 그냥 아무 쓸모없는 소스들인가요?
아니면 무언가 시스템에 중요한 것들인가요?
루트(/) 파티션에 10기가를 배정해놨는데 컴파일을 하다보면 용량이 커져서 아슬아슬하네요.
그냥 지워도 되는 것들인지 알려주세요.
-
왜 컴파일할 때 링크를 만들어서 커널 소스 압축 해제한 곳으로 들어가나요?
그냥 압축 해제한 폴더로 직접 들어가면 컴파일이 안 되나요?
커널 컴파일을 설명한 곳들은 일제히 커널 소스를 /usr/src 로 복사해서 압축을 풀고 다시 ln -s 로 링크를 만드는데 왜 그런지 궁금해서요.
-
컴파일 하고 남는 파일들은(컴파일 중 생성된 파일들) 모조리 지워도 되는 건가요?
-
문득 페도라랑 비교해봤는데 커널을 컴파일 하는 방법이 다른 거 같더군요.
우분투는 주로 deb파일을 만들어서 교체를 하고, 페도라는 make와 make install 같은 명령어로 바로 커널을 교체하는 거 같던데.
혹시 배포판마다 컴파일 방법이 다 다른 건가요?
-
혹시 커널을 원래 교체하기 전의 것으로 바꿀 수는 없을까요?
아니면 애초 배포판에서 사용되던(10.04 LTS)의 커널을 설치할 수는 없는지요.[/quote:9w9453hk]
ext3를 마운팅하려고 하다가 에러가 난거는 부팅때 쓰는 ramdisk를 제대로 안만들어서 그런거 같구요. 그냥 커널에 ext3 넣어버리면 그런 에러는 안날거에요. 모듈로 했으면 ramdisk를 만들어줘야 합니다.
커널 소스 중 헤더파일 빼고 커널 소스는 없어도 그만입니다.
링크를 만드는 이유는 커널을 풀면 버전 번호가 달린 디렉토리가 되서 그런거에요. 커널 나올때마다 버전 번호가 달라지는데 그걸 일일이 고쳐주기 귀찮으니깐 심볼릭 링크로 컴파일하려는 버전을 가리키게 해놓고 컴파일하는거라 이해하면됩니다.
리눅스 커널 컴파일 방법은 같고 커널이 포함된 패키지를 관리하는 방법이 배포본마다 틀린거에요.
원래 우분투에 따라오는 커널은 시냅틱에서 linux image를 찾아서 설치하면 됩니다. 아마 header 하고 몇 개 같이 자동으로 설치될거에요.
- /usr/src 에 있는 파일들은 그냥 아무 쓸모없는 소스들인가요?
아니면 무언가 시스템에 중요한 것들인가요?
루트(/) 파티션에 10기가를 배정해놨는데 컴파일을 하다보면 용량이 커져서 아슬아슬하네요.
그냥 지워도 되는 것들인지 알려주세요.
커널 컴파일하실려면 10기가는 너무 작습니다. 3개 이상은 컴파일도 못할껍니다.
부트 포함 루트 파티션(/)을 넉넉하게 하드디스크 20기가를 배정하세요.