Как делает свопинг ядра / INT 13-я работа прерываний?

Вставьте это Ваш ~/.bashrc

  #aliases to cd into the core dirs
  PROJECT_PARENT_DIRS[0]="$HOME/repos"
  #you can make it search more dirs by assigning new indexes to your other root dirs

  for PARENT_DIR in ${PROJECT_PARENT_DIRS[@]} ; do
    if [ -d "$PARENT_DIR" ]; then
      for PROJECT_DIR in $(/bin/ls $PARENT_DIR); do
        if [ ! -z `which $PROJECT_DIR` ]; then
          continue # don't set alias if there is something already a command on the path with the same name
        fi
        if [ -d "$PARENT_DIR/$PROJECT_DIR" ]; then
          alias "$PROJECT_DIR"="cd $PARENT_DIR/$PROJECT_DIR"
        fi
      done
    fi
  done
  #end alias
0
13.04.2017, 15:36
2 ответа

Я предполагаю, что это то, как: http://linux.die.net/man/8/kexec

kexec (8) - страница справочника Linux

Имя:

kexec - непосредственно начальная загрузка в новое ядро

Резюме

/sbin/kexec [-v (-версия)] [-f (-сила)] [-x (-нет)] [-l (-загрузка)] [-p (-паника загрузки)] [-u (-разгружаются)] [-e (-должностное лицо)] [-t (-тип)] [-mem-min=addr] [-mem-max=addr]

Описание

kexec является системным вызовом, который позволяет Вам загрузиться и загрузиться в другое ядро от в настоящее время рабочего ядра. kexec выполняет функцию загрузчика из ядра. Главная разница между стандартной начальной загрузкой системы и начальной загрузкой kexec - то, что инициализация аппаратного обеспечения, обычно выполненная BIOS или встроенным микропрограммным обеспечением (в зависимости от архитектуры), не выполняется во время начальной загрузки kexec. Это имеет эффект сокращения времени, требуемого для перезагрузки. Удостоверьтесь, что Вы выбрали CONFIG_KEXEC=y при конфигурировании ядра. Опция CONFIG_KEXEC включает kexec системный вызов.

2
28.01.2020, 02:28

Int 13 — это прерывание -'13', в частности, является точкой входа в дисковые сервисы/API BIOS/микропрограммы -, поэтому вы можете выполнять дисковый ввод-вывод (ввод/вывод ), используя этот конкретный прерывать. Существуют и другие прерывания Int 9 и т. д. Прерывания — это способ переключить контекст выполнения из вашей программы в прошивку/BIOS, драйверы ОС/ОС и т. д., чтобы получить помощь от прошивки. GRUB использует INT 13 на начальных этапах загрузки загрузчика с жесткого диска, когда ядро ​​ОС не находится в памяти и ему необходимо загрузить себя (stage1, stage 1.5, модули и т. д. ), поэтому Grub в основном полагается на BIOS /Firmware для загрузки частей GRUB.

Самый простой способ загрузить ISO из файловой -системы — это загрузить ISO с помощью модуля обратной связи/цикла GRUB. GRUB должен быть установлен на жесткий диск предпочтительно в MBR, и когда вы загружаете машину, в меню загрузки GRUB вы начинаете вводить команды GRUB для загрузки ISO из любой файловой системы -, в которой он находится.Вам не нужно ядро ​​для извлечения ISO на RAM-диск -GRUB может сделать все это напрямую, не полагаясь на другое ядро.

например, для Debian может выглядеть так :insmod петля линукс (hd0,1 )/deb.iso/install.amd/vmlinuz initrd (hd0,1 )/deb.iso/install.amd/initrd.gz ботинок

(вам нужно проверить, какие модули доступны для GRUB и является ли это загрузкой EFI|BIOS)

Цепная загрузка использует GRUB/Bootloader для загрузки другой ОС путем загрузки другого GRUB/Syslinux/Bootloader. Обычно вы делаете :GRUB -MBR ---> vmlinuz Chianloading you do :GRUB -MBR --->CDROM -GRUB -MBR --->vmlinuz

1
28.01.2020, 02:28

Теги

Похожие вопросы