문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 리눅스 커널]] == 개요 == 이 문서는 Linux를 소스코드를 build하고 디버깅하기 위한 과정들을 서술한다. == Build == linux 소스 코드 다운 git clone --depth 1 https://github.com/torvalds/linux 만약 원하는 리눅스 버전이 있다면 다음 사이트에서 확인 후 다운 https://mirrors.edge.kernel.org/pub/linux/kernel/ 패키지 매니저를 이용해서 다운 받을 수도 있음 sudo apt-get source linux 필수 라이브러리 다운 sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison dwarves .config 파일 생성 cp -v /boot/config-$(uname -r) .config (기존 커널 사용) make menuconfig (configuration 수정 / 생성 - 만약 커널 버전이 다르면 NEW한 설정을 물어보는데, default로 쓰고자 할시 꼭 실행해주기) 리눅스 커널 build make -j#NUM_OF_CORE(소스 디렉토리에서 실행) 그후 디바이스 드라이버 설치 make modules_install 최종적으로 리눅스 커널 설치 make install == 에러 핸들링 == * 여기서 config파일을 그냥 다운 받은 경우, *** No rule to make target 'debian/canonical-certs.pem', needed by 'certs/x509_certificate_list'.가 뜨기도 한다. CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" 이렇게 되어있는 것을 CONFIG_SYSTEM_TRUSTED_KEYS = "" 이렇게 바꿔줘야하는데 방법은 아래와 같다. > $scripts/config --disable SYSTEM_TRUSTED_KEYS * Error 24 : Write error : cannot write compressed block\ E: mkinitramfs failure cpio 141 lz4 -9 -l 24 이럴 경우, apt-get purge 로 사용하지 않는 커널의 vmlinuz와 같은 파일들을 boot에서 제거하면 된다." https://askubuntu.com/questions/1207958/error-24-write-error-cannot-write-compressed-block * 우분투에서 make 할때 다음 두개를 지워주도록 하자. scripts/config --disable SYSTEM_REVOCATION_KEYS scripts/config --disable SYSTEM_TRUSTED_KEYS * 만약 init이 Error: initrd too big 이라고 뜰경우에는, 다음과 같이 하여서 initrd.img의 크기를 줄여야 한다. vi /etc/initramfs-tools/initramfs.conf => MODULES=most 를 MODULES=dep 으로 변경 sudo make INSTALL_MOD_STRIP=1 modules_install 리눅스 빌드 문서로 돌아갑니다.