데비안 12에서 리눅스 커널 6.1을 컴파일하려고 합니다.
빌드 환경을 설치했습니다.
apt-get install build-essential bc libncurses-dev libssl-dev libelf-dev bison flex
이제 make menuconfig를 실행하면 다음과 같은 출력이 표시되고 영원히 멈춥니다.
~/linux-6.1.44: make menuconfig
HOSTCC scripts/basic/fixdep
UPD scripts/kconfig/mconf-cfg
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
LEX scripts/kconfig/lexer.lex.c
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/mconf
ncurses를 설치했습니다:
# dpkg -l | grep ncurses
libncurses-dev
libncurses6
libncursesw6
ncurses-base
ncurses-bin
아직 빌드 시스템의 일부 구성요소가 누락되어 있나요?
고쳐 쓰다
ps
다음 프로세스를 표시합니다.
6322 root S+ 0.0 0.0 pts/0 03:59 /usr/bin/make menuconfig
6416 root S+ 0.0 0.0 pts/0 03:59 /usr/bin/make -f ./scripts/Makefile.build obj=scrip
6593 root S+ 0.2 0.0 pts/0 03:59 scripts/kconfig/mconf Kconfig
I Kill 하면 scripts/kconfig/mconf Kconfig
다음 make menuconfig
오류와 함께 프로세스가 종료됩니다.
make[1]: *** [scripts/kconfig/Makefile:48: menuconfig] Error 1
make: *** [Makefile:704: menuconfig] Error 2
scripts/kconfig/mconf Kconfig
이를 종료하기 전에 , 프로세스 에 연결했고 strace
다음과 같은 수천 개의 POLLIN Timeout 메시지를 보았습니다.
poll([{fd=0, events=POLLIN}], 1, 0) = 0 (Timeout)
전체 strace 출력은 다음과 같습니다.https://ctxt.io/2/AABQcjjOFw
답변1
리눅스 커널을 컴파일하려고 합니다
아마도.
make menuconfig를 실행합니다.
알았어, 하지만 이건 절대로 안 될 거야세워리눅스 커널. 이 명령은 보다 사용자 친화적인 방식으로 텍스트 파일을 만드는 데
에만 도움이 됩니다 . .config
정말로 원한다면세워Linux 커널의 경우 make
커널 소스 코드 기본 디렉터리에서 실행하면 됩니다.
따라서 목표를 달성하는 가장 쉽고 안전한 방법은 다음과 같습니다.
1 일부 로컬 컴퓨터(실제 tty에 물리적으로 연결된 모든 시스템)에서 커널 소스 트리를 다운로드합니다.
make menuconfig
2 원하는 GUI를 사용하여make xconfig
이 시스템에서 커널 .config 파일을 빌드합니다 (또는3 SSH를 통해 원격 시스템에 로그인하고,
4 새로 설계된 .config를 원격 시스템 커널 소스 디렉터리에 복사합니다.
5 이 디렉토리로 변경하고 시작합니다.
make
!