문제

커널이 부팅 로더에서 가져와야 할 것이 있습니까? 이와 같은 커널에서 부팅 메시지를 보았습니다.

"Fetching vars from bootloader... OK"

그래서 뭐 바로 그거죠 변수가 통과되고 있습니까? 또한 부트 로더에서 변수가 어떻게 전달 되는가? 스택을 통과 하는가?

도움이 되었습니까?

해결책

커널은 텍스트 기반 인 소위 명령 줄 옵션을 허용합니다. 커널을 다시 컴파일하지 않고도 많은 일을 할 수 있기 때문에 이것은 매우 유용합니다. 통과하는 논쟁은 건축에 따라 다릅니다. 팔에서는 메모리의 위치 또는 메모리의 고정 위치에 대한 포인터를 통해 수행됩니다.

다음은 어떻게 수행되는지입니다 . 일반적으로 커널은 기계를 처음부터 부팅 할 수 없습니다. BIOS에서 나온 것일 수 있지만 처음부터 시작되지는 않습니다. 초기화가 필요합니다. 이것은 부트 로더의 작업입니다.

다른 팁

Linux 커널이 Bootloader에서 수락하는 파라 메트가 있습니다. vga 매개 변수. 예를 들어:

kernel /vmlinuz-2.6.30 root=/dev/disk/by-uuid/3999cb7d-8e1e-4daf-9cce-3f49a02b00f2 ro vga=0x318

살펴보십시오 Linux 커널에 대해 알아야 할 10 개의 부팅 시간 매개 변수 일반적인 매개 변수 중 일부를 설명합니다.

Linux 커널의 경우 부트 로더가 커널을 알려야 할 몇 가지 사항이 있습니다. 여기에는 커널 명령 줄 (이미 언급 한 다른 사람들과 같이)과 같은 것들이 포함되어 있습니다. initrd initRD를 사용하는 경우 (커널이 자체적으로로드 할 수 없습니다. 종종 InitRD를 사용할 때는 스토리지 장치를 사용하는 데 필요한 모듈이 InitRD 내에 있으며 매우 복잡한 작업을 수행해야 할 수도 있습니다. 스토리지에 액세스하기 전에 설정) 및 여러 분류 확률과 끝.

보다 문서/x86/boot.txt 이러한 변수가 커널 설정 코드로 전달되는 방식을 포함하여 기존 X86 아키텍처 (32 비트 및 64 비트)에 대한 자세한 내용은 (2.6.30의 버전으로 연결).

부트 로더는 스택을 사용하여 인수를 커널에 전달하지 않습니다. 적어도 Linux의 경우, 커널이 구문 분석하는 방법을 알고 있다는 부트 로더가 채우는 복잡한 메모리 구조가 있습니다. 이것이 바로 부트 로더가 커널을 명령 줄을 가리키는 방식입니다. 보다 Documentaion/x86/boot.txt 더 많은 정보를 위해서.

Linux는 부트 로더의 변수를 수용하여 특정 옵션을 사용할 수 있도록합니다. 나는 당신이 할 수있는 일 중 하나는 로그인 할 필요가없고 (복구 모드) 몇 가지 다른 옵션이 있도록 만드는 것입니다. 주로 무언가 또는 암호 변경에 문제가있는 경우 수정 사항을 수행 할 수 있습니다. 다른 옵션을 사용하기로 선택한 경우 Ubuntu Live-CD Boots Linux가 방법입니다.

일반적으로 Boot Loader에서 커널 모듈로 전달되는 명령 줄 매개 변수라는 매개 변수입니다. 부트 로더는 많은 BIOS 인터럽트를 사용하여 감지하고

memory
HDD
Processor
Keyboard
Screen
Mouse
ETC...

그리고 모든 Harwares 세부 사항은 부팅 시간에, 즉 실제 모드에있는 다음이 매개 변수를 커널로 전달합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top