Raspberry Pi 4B에 나만의 맞춤형 라이브 Linux를 설치하려고 합니다. 내 상태는 이렇습니다.
저는 Linux 5.9.1을 구축했고 고유한 U-Boot 버전인 RFS를 가지고 있었습니다. 이를 통해 커널을 성공적으로 로드 및 부팅하고, RFS를 마운트하고, 커널 콘솔에 액세스할 수 있었습니다.
제가 구축하고 있던 Linux 커널 위에 라이브 패치를 적용해야 했기 때문에 Linux 5.9.1에 해당하는 패치를 사용했습니다. 64비트 커널을 구축 중이므로 다음 명령을 사용하여 커널 구성으로 이동하여 선점형 옵션을 업데이트합니다.
make ARCH=arm64 CROSS_COMPILE=aarch64-rpi3-linux-gnu- menuconfig
하지만완전히 선점형 커널 옵션이 표시되지 않습니다.여기: .config-Linux/arm64 5.9.1 커널 구성
일반 설정──────────────────────────────────────────── ── ───────────────
┌────────────────────── Preemption Model ───────────────────────┐
│ Use the arrow keys to navigate this window or press the │
│ hotkey of the item you wish to select followed by the <SPACE │
│ BAR>. Press <?> for additional information about this │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ ( ) No Forced Preemption (Server) │ │
│ │ ( ) Voluntary Kernel Preemption (Desktop) │ │
│ │ (X) Preemptible Kernel (Low-Latency Desktop) │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────┤
│ <Select> < Help > │
내가 실행할 때 :
make menuconfig
x86 옵션에 대한 옵션이 표시됩니다: .config - Linux/x86 5.9.1 커널 구성
일반 설정──────────────────────────────────────────── ── ───────────────
┌────────────────────── Preemption Model ───────────────────────┐
│ Use the arrow keys to navigate this window or press the │
│ hotkey of the item you wish to select followed by the <SPACE │
│ BAR>. Press <?> for additional information about this │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ ( ) No Forced Preemption (Server) │ │
│ │ ( ) Voluntary Kernel Preemption (Desktop) │ │
│ │ (X) Preemptible Kernel (Low-Latency Desktop) │ │
│ │ ( ) Fully Preemptible Kernel (Real-Time) │ │
│ │ │ │
│ │ │ │
Linux 커널: 5.9.1 사용된 Linux RT 패치: patch-5.9.1-rt19.patch.xz
또한 unix.stackexchange .config - Linux/x86 5.9.1 커널 구성의 다른 게시물에 있는 지침에 따라 전문가 모드를 활성화했습니다.
일반 설정──────────────────────────────────────────── ── ──────────────── ┌───────────────────────────── 일반 설정─ ────────────────────────────┐ │ 화살표 키를 사용하여 메뉴를 탐색합니다. 하위 메뉴 --->(또는 비어 있음 │
│ 하위 메뉴----)를 선택합니다. 강조 표시된 문자는 단축키입니다. 포함, │
│ 제외, 모듈 기능을 누르세요. 종료를 누르고 <?> │
│ 도움말 보기, </> 검색 보기를 누르세요. 전설: [] 내장 [ ] 제외 모듈
│ │ ┌────^(-)────────────────────────────── ─ ────────────────────────────────┐ │
│ │ [] LZMA 압축을 사용하여 초기 램디스크/ramfs 지원 │ │
│ │ [] XZ 압축을 사용하여 초기 램디스크/ramfs 지원 │ │
│ │ [] LZO 압축을 사용하여 초기 램디스크/ramfs 지원 │ │
│ │ [] LZ4 압축을 사용하여 초기 램디스크/ramfs 지원 │ │
│ │ [] 초기 ramdisk/ramfs 압축을 위해 ZSTD 사용 지원 │ │
│ │ [ ] 실행 구성 지원 │ │
│ │ 컴파일러 최적화 수준(성능 최적화(-O2)) --│ │
│ │ -- 표준 커널 기능 구성(전문가 사용자) ---> │ │
│ │ -- membrier() 시스템 호출 활성화 │ │
│ │ -- 모든 디버그 기호/ksymoops 로드 │ │
│ │ -- kallsyms의 모든 기호를 포함합니다 │ │
│ │ [] bpf() 시스템 호출 활성화 │ │
│ │ [ ] userfaultfd() 시스템 호출 활성화 │ │
│ │ [] rseq() 시스템 호출 활성화 │ │
│ │ [ ] rseq() 시스템 호출 디버깅 활성화 │ │
│ │ [*] 임베디드 시스템 │ │
│ │ [ ] PC/104 지원 │ │
│ │ 커널 성능 이벤트 및 카운터 - --> │ │
이전에 출시된 Linux 5.6.19용 RT 패치에서는 이 문제가 발생하지 않는 것으로 나타났습니다. 64비트 케이스에 뭔가 빠졌나요?
답변1
나는 Kernel.org에 이 질문을 했고 그것이 의도한 바인 것 같다는 응답을 받았습니다.
https://lore.kernel.org/linux-rt-users/[이메일 보호됨]/
이는 기본적으로 arm64 아키텍처의 5.9.1 버전을 사용할 때 KVM을 비활성화해야 하며 완전 선점형 옵션이 즉시 나타남을 의미합니다. 성공적으로 테스트할 수 있었습니다.
답변2
달리기,
make mrproper
이제 실행하세요.
make menuconfig
이제 라이브 옵션이 표시되어야 합니다.