Kernel

核心交換/INT 13h 中斷如何工作?

  • October 22, 2018

我正在尋找一種方法來學習和理解這種技術。這就是我所說的:

  • Slax boots,{做一些事情,比如將自己複製到 RAM},然後transitions control to the kernel/file system it just made
  • SYSLINUX 從 FAT32/NTFS 系統啟動,{does stuff},然後boots into a kernel
  • ISOLINUX 從 CD/DVD 啟動,然後 {does stuff}boots into a kernel

有這個名字嗎?使用鍊式載入時在 GRUB 中是否類似?

  • GRUB 啟動,載入選擇菜單,進行選擇。如果是鍊式載入選擇,則passes control to something else.

我正在尋找如何使用一個核心將 .iso(從 FAT32/NTFS 分區)提取到 RAM 中,然後啟動 RAM 驅動器,就好像它在啟動時就在那裡一樣。有關我為什麼要這樣做的更多詳細資訊,請參閱此問題

然而,在這裡,我只是詢問有關核心如何“轉換”到另一個核心的詳細資訊。有這個名字嗎?我聽說過INT13h我認為在 GRUB/chainloading 中使用的。這是一種“重新啟動到不同核心”的技術嗎?如果沒有,這是如何完成的?

我猜這是怎麼回事:http: //linux.die.net/man/8/kexec

kexec(8) - Linux 手冊頁

Name

kexec - 直接啟動到新核心

概要

/sbin/kexec

$$ -v (–version) $$ $$ -f (–force) $$ $$ -x (–no-ifdown) $$ $$ -l (–load) $$ $$ -p (–load-panic) $$ $$ -u (–unload) $$ $$ -e (–exec) $$ $$ -t (–type) $$ $$ –mem-min=addr $$ $$ –mem-max=addr $$ 描述

kexec 是一個系統呼叫,使您能夠從目前執行的核心載入和引導到另一個核心。kexec 從核心中執行引導載入程序的功能。標準系統引導和 kexec 引導之間的主要區別在於,通常由 BIOS 或韌體(取決於體系結構)執行的硬體初始化在 kexec 引導期間不執行。這具有減少重新啟動所需時間的效果。確保在配置核心時選擇了 CONFIG_KEXEC=y。CONFIG_KEXEC 選項啟用 kexec 系統呼叫。

引用自:https://unix.stackexchange.com/questions/65894