Kernel panic при установке новых утилит и, в частности, при попытке запуска вашего самодельного дистрибутива Linux может быть вызван несколькими причинами. В приведенном вами сообщении об ошибке видно, что ядро не может смонтировать корневую файловую систему, из-за чего возникает panic. Давайте рассмотрим возможные причины и шаги, которые можно предпринять для их устранения.
### Причины возникновения ошибки
1. **Отсутствие параметра `root=` в загрузочных параметрах:**
- Ваша система не знает, какое устройство использовать в качестве корневой файловой системы. Убедитесь, что вы передаете правильный параметр `root=` в конфигурации загрузчика (например, GRUB). В вашем случае это может быть что-то вроде `root=/dev/sda1` или другой подходящий раздел.
2. **Необходимые модули не загружены:**
- Может быть, не загружены необходимые модули (например, для поддержки файловой системы, используемой на корневом разделе). Убедитесь, что все необходимые модули для вашей файловой системы (например, ext4) загружены в ваше initrd.
3. **Неправильная структура initrd:**
- Ошибки при создании initrd могут привести к тому, что некоторые необходимые файлы или директории могут отсутствовать. Убедитесь, что структура вашего initrd правильная, и все нужные утилиты и библиотеки находятся на своих местах.
4. **Проблемы с самой файловой системой:**
- Убедитесь, что файловая система, которую вы пытаетесь смонтировать, исправна и доступна для чтения. Запустите проверки, если это возможно.
5. **Необходимые библиотеки отсутствуют:**
- Возможно, отсутствуют какие-то зависимости или библиотеки, необходимые для работы добавленных утилит. Убедитесь, что все библиотеки, необходимые для работы таких утилит, как `mkfs.ext4` и других, были корректно перенесены в initrd.
6. **Отсутствие или неправильная конфигурация GRUB:**
- Если вы используете GRUB, убедитесь, что он настроен правильно и способен корректно найти и загрузить ваш initrd и ядро.
### Рекомендации по устранению проблемы
- **Проверьте параметры загрузки:**
Убедитесь, что в конфигурации загрузчика GRUB у вас указаны правильные параметры `root=` и другие параметры, необходимые для корректной загрузки.
- **Соберите initrd заново:**
Попробуйте заново собрать initrd, включая все необходимые модули и убедившись, что структура соответствует ожиданиям системы. Используйте утилиты, такие как `dracut` или `mkinitcpio`, чтобы упростить эту задачу.
- **Инспекция файлов:**
Убедитесь, что все необходимые бинарные файлы и библиотеки находятся на своих местах и имеют правильные права доступа.
- **Проверьте подключенные устройства:**
При загрузке проверьте, что ваше устройство действительно доступно, и что на нем есть корневая файловая система. Для этого вы можете загрузиться в режим восстановления или в rescue mode и посмотреть доступные устройства с помощью команды `lsblk`.
- **Консольный вывод:**
Если возможно, активируйте дополнительный вывод информации на консоль при загрузке (`debug`), чтобы получить больше информации о происходящем в момент загрузки.
Если все вышеперечисленные шаги не помогают, рекомендуется просмотреть системные логи (если доступно) и провести дальнейшую диагностику с помощью утилит отладки.