Обычный прием должен иметь что-то (возможно сигнал как SIGUSR1
) инициируйте программу к fork()
, затем дочерние вызовы abort()
заставить себя вывести ядро.
from os import fork, abort
(...)
def onUSR1(sig, frame):
if os.fork == 0:
os.abort
и во время инициализации
from signal import signal, SIGUSR1
from wherever import onUSR1
(...)
signal.signal(signal.SIGUSR1, wherever.onUSR1)
Используемый этот путь, fork
не использует много дополнительной памяти, потому что почти все адресное пространство будет совместно использовано (который является также, почему это работает на генерацию дампа ядра).
Когда-то давно этот прием использовался с названной программой undump
генерировать исполняемый файл от дампа ядра для сохранения образа после сложной инициализации; emacs
используемый, чтобы сделать это для генерации предварительно загруженного изображения от temacs
.
Для CentOS необходимо будет переделать файл ISO. Я знаю, что это возможно, но я не знаю процесс. Однако я действительно знаю то, что необходимо будет изменить syslinux.cfg
файл.
Когда я сделал этот процесс, это было с картой с интерфейсом USB на физическом поле, таким образом, редактирование было легче. Это могло бы стоить проверить, чтобы видеть, можно ли загрузиться от структуры папок на хосте.
Модификации к syslinux.cfg
Вставьте следующий текст в первую строку файла:
последовательный 0 9600
На любом из параметров загрузки Вы хотите, на kernel
строки:
console=tty0 console=ttyS0,9600n8
Для получения последовательного приглашения ко входу в систему необходимо отредактировать два файла.
Добавьте строку к /etc/inittab
7:23:respawn:/sbin/agetty-h-L ttyS0 9600 vt100
Добавьте строку к /etc/securetty
ttyS0
Первое редактирование требуется, чтобы CentOS представил последовательное приглашение ко входу в систему. Второе требуется, если Вы хотите смочь войти в систему как корень по той подсказке.
Если Вы хотите использовать более высокую последовательную скорость в бодах 115200
, замена 9600
во всех трех местах в вышеупомянутых инструкциях
Попытайтесь соединиться с последовательным набором скорости в бодах с 9600
. Это - чаще последовательная скорость по умолчанию.
sudo virt-install -n freebsd -r 1024 --vcpus=2
--os-type unix --accelerate -v
--disk /var/kvm/installation-disks/freebsd8.2.img,size=10
--nographics --network user
--cdrom=/var/kvm/cd-images/FreeBSD-8.2-RELEASE-amd64-disc1.iso
-x console=ttyS0,9600
Я думаю, что Ваш лучший выбор состоял бы в том, чтобы автоматизировать развертывание виртуальных машин с помощью локального сервера PXE. Если Вы не можете сделать этого, всегда существует опция соединения с хостом удаленно с ssh -X
и рабочий virt-менеджер для установки VM с GUI. Или просто соединившись с консолью VM удаленно с помощью VNC или СПЕЦИИ