LINUX.ORG.RU

Как обновить систему, если в /boot нет места для нового ядра?

 ,


0

1

Не опытен в линукс… Не могу понять как установить обновление если у меня нету не зарезервированного места для расширения /boot, а переустанавливать нету диска для бэкапа, ИИ посоветовал пересоздать init:

#"Удалить текущий initrd":
sudo rm /boot/initrd.img-6.18.12+kali-amd64 ;
#"Пересоздать":
sudo update-initramfs -c -k 6.18.12+kali-amd64 ;
#"Обновить GRUB":
sudo update-grub 

Так что не понятно что делать, думал kali хороший выбор для студента ИС.



Последнее исправление: dataman (всего исправлений: 4)

«Имей мужество пользоваться собственным умом.»

Не опытен в линукс…думал kali хороший выбор для студента…

Не освоив детский самокат, вскочил на гоночный мотоцикл…

Это тест на профпригодность, ты его провалил. Кали не подразумевает установку, а следовательно - обновление.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)

нету не зарезервированного места для расширения /boot…

‘Боты’, ‘хомы’ для того и создают, чтобы не было места. Нет боот-раздела, не придётся его расширять.

Удали боот-раздел и больше никогда его не создавай.

andytux ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

там же вообще все драйвера в коробке.

А зачем их пихать в initramfs, почему не модулями? Я вообще не понимаю зачем нужен initramfs если не использовать шифрованный диск. А само ядро вообще мелкое, у меня 20Мб.

Loki13 ★★★★★
()

Раздел /boot может оказаться переполненным, если не удалять старые пакеты с ядрами, они могут не удаляться автоматически, то есть, просто добавляться и добавляться. В Debian это решается через apt autoremove.

askh ★★★★
()
Ответ на: комментарий от Werenter

Смогу по итогу протестировать только этот метод, остальные не смогу (не смогу воспроизвести на виртуалке. +Рискованно, диска для бекапа нету, а этот метод кажется более логичным)

d2156
() автор топика
Ответ на: комментарий от d2156

На ВМ попробовал пока всё норм(+думаю спросить у людей которые с этим живут, на предмет возможных недочётов такой системы) На ВМ прошли такие команды:

sudo nano /etc/fstab
""/dev/vda1  /boot  ext4  defaults  0  2"" > ""#/dev/vda1  /boot  ext4  defaults  0  2""
sudo mount -a
# Не должно быть ошибок! (Вывод пустой, либо mount: /etc/fstab: parsed OK)
# 1. Установите GRUB на диск (НЕ на раздел!)
sudo grub-install /dev/vda

# 2. Обновите конфиг
sudo update-grub
# Команда должна вывести:
# Installation finished. No error reported.
sudo reboot

После входа в систему:

# 1. Проверяем, что /boot теперь на корневом разделе
df -h /boot
# Должно показать ~18-19 GiB (размер корневого раздела)

# 2. Проверяем, что старый раздел не монтируется
mount | grep /dev/vda1
# Вывода быть НЕ должно!

# 3. Проверяем, что система загрузилась
uname -r

# 4. Проверяем, что обновление работает
sudo apt update
sudo apt upgrade
# Должно пройти без ошибки "недостаточно места в /boot"

PS: Хотел ознакомится старым методом поиска без ии(qwen), после того как протестировал, хотел понять какова вероятность что вообще что-то найду сам (т.к. запрос можно сформировать не правильно и т.д.) нашел на русском ( Зачем нужен раздел /boot? ),( https://forum.ubuntu.ru/index.php?topic=231109.0 ),вопрос как вы вообще решаете трудности(Чтобы без лишних тело движений{Не уверенности})? (*> Выучивайте наизусть документацию? >Свои методы поиска в поисковике{Если закроют доступ к всемирной паутине, и в России будет как в Китае?} >Или иное?) Просто уже начинаешь понимать что в какой-то момент придётся делать всё самому и невалидный поток критики как выше удручает. Хотелось бы получить совет.

d2156
() автор топика
Ответ на: комментарий от firkax

А нет, как же я забыл, есть ещё один заметно более простой вариант.

Копируешь /boot в /boot.tmp, затем размонтируешь /boot и убираешь его из fstab, затем копируешь всё назад в /boot (но уже не отдельным разделом а в составе /) и вроде после этого надо grub-install заново сделать.

Отдельный раздел для /boot не требуется. Кидать всё в один раздел - не очень хорошо, желательно отсоединить /home хотя бы, но это уже другая тема.

Вот этот метод?

d2156
() автор топика
Ответ на: комментарий от d2156
ls -lh /boot/

# Проверь размер
du -sh /boot/

total 0
4.0K    /boot/

└─$ mount | grep vda1
#Пустой вывод
🛑 НЕ ПЕРЕЗАГРУЖАЙСЯ! Сейчас /boot пуст, и после перезагрузки GRUB не найдёт ядро → чёрный экран.
Раз /dev/vda1 не смонтирован, значит файлы всё ещё лежат на том старом разделе. Просто скопируем их обратно в корневой /boot.

Не знаю выполнил все команды из поста выше, потом вот эти… (и еще раз перезагрузился) Это баг или фичя, что просиходит? Система не выдаёт никаких чёрных экранов…

d2156
() автор топика
Ответ на: комментарий от firkax

он у всех есть

Только бывают UEFI, где нет возможности загрузки в legacy-режиме. Точнее пункт меню(CSM) есть - но он не работает :-).

Предвосхищая вопрос - это импортозамещенное железо(на самом деле конечно там лютый китай внутри), новых версий прошивок от производителя просто НЕТ :-(

Pinkbyte ★★★★★
()

Создай новый /boot, с большим размером, скопируй UUID со старого и назначь его новому. Система ищет /boot по UUID, вот и найдёт уже с большим размером.

AZJIO
()
Ответ на: комментарий от d2156

В конфиге Grub2 в файле grub.cfg у тебя есть два параметра linux и initrd

linux /boot/vmlinuz-5.15.0-105-generic root=UUID=11111-11111-11111-11111 ro  quiet splash 
initrd /boot/initrd.img-5.15.0-105-generic

Они могут отличаться, но суть одна, указан полный путь к ядру. Скопировал ядра в новый /boot, указал путь к ядру, если надо и UUID, всё, он уже грузит указанное. Меня только интересует как система знает куда совать ядро, где оно прописано? То есть после установки нового ядра куда оно его воткнёт? Если всегда в /boot, кой был ранее примонтирован, то теоретически, если теперь /boot выкинут из fstab, то система будет устанавливать в /boot в основную систему.

AZJIO
()

думал kali хороший выбор для студента ИС

Только в том случае, если студент изучает информационную безопасность вообще и пентестинг в частности (на ЛОРе уже сообщали, что у кого-то фигурировала kali в методичке). И даже в этом случае я бы начал со знакомства с «обычными» дистрибутивами.

hobbit ★★★★★
()
Ответ на: комментарий от AZJIO

Не знаю упоминается какой-то раздел /dev/mapper/kali–vg-root его нельзя было открыть даже с рут правами думал там ядро…

PS:

Что именно ты проверял? Если ты просто уберёшь /boot из fstab ничего хорошего не выйдет.

Вроде всё исправилось виртуалка перестала работать(>создал папку boot и перенёс её в корень) , походу /boot стал называться так /home/user1/Desktop ; /Desktop ={grub , initrd.img, vmlinuz}, т.к. файлы копии были там и команды выше записали десктоп как бут…

d2156
() автор топика

Кал вообще не выбор для студента, он больше заточен под работу с внешнего носителя а ля флешка. По вопросу - удали старые ядра в /boot, оставь самое новое, потом грузись. Советую поставить mc и через него посмотреть наглядно, что там у тебя. Все ядра лежат в /boot.

piwww ★★★★
()
Последнее исправление: piwww (всего исправлений: 1)
Ответ на: комментарий от TheNewDragon

Чуть попользовался линукс и понял, что отдельный маленкий диск под /boot - зло. Задаю один раздел для системы «/», только хомяка отдельно задаю.

«Гентушники» по-умолчанию не монтируют раздел «/boot» при загрузке своей операционной системы. Хорошая защита от невнимательности, глупости, скриптовой «заразы» и прочего, на мой взгляд.

Enthusiast ★★★★
()
Ответ на: комментарий от Loki13

Ну вот прямо сейчас обновляю пакеты в Ubuntu 24.04, так пакет linux-firmware один весит 641 мегабайт.

Весь /boot/ целиком сейчас 1,1 гигабайт весит. Хорошо, что 2 гига сделал, так как GA и HWE ядра параллельно держу, 2 линейки.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Какие ужасы ты мне рассказываешь.

alexv@home ~> tree /boot/efi/EFI/gentoo/ -sh
[4.0K]  /boot/efi/EFI/gentoo/
├── [299K]  amd-uc.img
├── [ 935]  refind_linux.conf
├── [5.1M]  System.map-6.12.41-gentoo-x86_64
├── [5.2M]  System.map-6.18.8-gentoo-x86_64
├── [5.2M]  System.map-7.0.0-gentoo-x86_64
├── [ 11M]  vmlinuz-6.12.41-gentoo-x86_64
├── [ 12M]  vmlinuz-6.18.8-gentoo-x86_64
└── [ 12M]  vmlinuz-7.0.0-gentoo-x86_64

У меня ещё initramfs собирается(80Мб вместе с блобом невидии), но я его ядру не даю, а то забудешь пересобрать при обновлении блоба и графика не грузится.

PS: Я ядро особо не чикал, плюс минус дефолтное, просто всё в модулях.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)