고쳐 쓰다

고쳐 쓰다

데비안 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 menuconfig2 원하는 GUI를 사용하여 make xconfig이 시스템에서 커널 .config 파일을 빌드합니다 (또는

  • 3 SSH를 통해 원격 시스템에 로그인하고,

  • 4 새로 설계된 .config를 원격 시스템 커널 소스 디렉터리에 복사합니다.

  • 5 이 디렉토리로 변경하고 시작합니다. make!

관련 정보