Я пытаюсь создать собственный образ GCE, я создал необработанный диск образа GCE с помощью этого инструмента https://github.com/google/syzkaller/blob/master/tools/create-gce-image.sh
Как видите, скрипт получает в качестве аргумента 2 параметра:
Я создал файловую систему с помощью debootstrap (как описано в сценарии) на экземпляре GCE: Linux lab 4.9.0-12-amd64 # 1 SMP Debian 4.9.210-1 + deb9u1 (2020-06-07) x86_64 GNU / Linux
Образ ядра - 4.19.134 x86_64_defconfig со следующими изменениями: Они описаны здесь: https://cloud.google.com/compute/docs/images/building-custom-os И эти:
CONFIG_KASAN=y
CONFIG_KASAN_INLINE=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KCOV=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_INFO=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_CONFIGFS_FS=y
CONFIG_SECURITYFS=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_BLK_NBD_DEV=y
При загрузке машины (как в QEMU, так и в экземпляре GCE) я вижу эту ошибку:
[FAILED] Failed to start Raise network interfaces.
Вот полный журнал загрузки https://pastebin.com/474AjKXe
Когда я запускаю disk.raw с QEMU, ssh работает нормально. Но когда я пытаюсь подключиться к экземпляру из другого экземпляра, это просто не работает. Я даже не могу пинговать машину (как на внешний IP, так и на внутренний).
Как я могу указать, в чем проблема? есть ли способ подключиться к самому экземпляру для дальнейшей отладки? Спасибо.
Можешь попробовать подключение через последовательную консоль. Для входа вам потребуются учетные данные, чтобы вы могли создать сценарий запуска добавить их.
#! /bin/bash
sudo useradd USERNAME; echo -e "PASSWORD\nPASSWORD" | passwd USERNAME | echo 'USERNAME ALL=(ALL:ALL) ALL' >> /etc/sudoers
Вы также можете попробовать добавить следующие строки в сценарий запуска, поскольку, похоже, ваша сетевая служба работает неправильно.
sudo ifdown eth0
sudo ifup eth0