Pull to refresh

Апгрейд домашнего железа с Gentoo/Win

Level of difficultyMedium
Reading time4 min
Views4.2K

Немного о приключениях :) Решил обновить видюху на домашнем десктопе на котором стоит Win 10 поиграться и Gentoo для остального

  • карта - nvidia

  • мать - ASUS TUF GAMING B550M-PLUS

  • m2 - Samsung 970 EVO MZ-V7E1T0BW 1ТБ

  • память - Сrucial Ballistix BL16G32C16U4B DDR4 - 16ГБ 3200

По такому случаю обновляю bios, втыкаю новую карту, лезу в настройки биоса и вижу там новое для себя - Resizable BAR. Надо сказать что при апгрейде на новое железо Win я переставлял с нуля, а Gentoo - тупо переносил копированием (кстати нашел /etc/wvdial.conf созданный 2005-03-06 там диалапные настройки еще живы) , ставил grub, пересобирал world с новыми флагами, ядро с новыми дровами и жил с этим дальше. В результате комп по дедовски бутявился через CSM и grub, а Gentoo накопило много всякого legacy в виде настроек, софта и 275 строчного package.use. А тут выясняется что Resizable BAR нужен UEFI. Поэтому решаю таки перейти на загрузку UEFI, поставить Win 11 и полностью поставить Gentoo с нуля. Ну и раз пошла такая пьянка решил переставить Samsung m2 во второй слот, а вместо неё воткнуть m2 на 2TB. Это позволит аккуратненько и не спеша перетащить только нужные файлы и конфиги со старого диска в новоустановленные системы, ну и по месту не надо будет жаться. Установленные Microsoft Flight Simulator 2020 с X-Plane 12 уже не позволяли запихать на старый 500GB виндовый раздел какой нить Cyberpunk 2077. А тут будет целый терабайт.

Так как опыта в dual boot в UEFI вообще никакого, нагугливаю https://wiki.gentoo.org/wiki/UEFI_Dual_boot_with_Windows_7/8, из которой уясняю, что надо начать с установки Win, потом позвозиться с rEFInd и потом ставить Gentoo.

Ставлю Win 11, ставлю все дрова, ставлю Steam, немного пробую Ведьмака, MSFS2020, Xplane-12 и Cyberpunk 2077. Вроде все норм, но MSFS2020 в какой то момент вылетает. С ним такое редко но бывает. Поэтому тестирование установки Win на этом прекращаю

Вожусь с установкой rEFInd, ничо не получается, внятной инфы не нахожу. Обычно когда по какой-то проблеме не находишь инфы, то тут два варианта. Или проблема настолько редкая что в неё никто не воткнулся (что явно не мой вариант) или что проблемы или нет или она описана подробно в документации. Лезу в Gentoo Handbook amd64 в раздел https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader и точно, там пишут что все фигня, ставишь grub как и при CSM legacy загрузке и будет счастие. Гружусь с USB, создаю раздел, разворачиваю stage, собираю ядро, ставлю загрузчик по документации выглядит обычно. Ну только grub-mkconfig не видит автоматом, как раньше, установленную Windows, приходится немного гуглить, чуть-чуть экспериментировать и в итоге файл /etc/grub.d/40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 11" {
  insmod part_msdos
  insmod chain
  set root=(hd5,gpt1)
  chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

и запуск `grub-mkconfig -o /boot/grub/grub.cfg` решает и эту проблему

При установке немного косячу, сначала беру маленький stage3 но он оказывается не multilib, приходится все удалять, качать и разворачивать нормальный stage3 (desktop profile | systemd) с multilib. Успешно гружусь в Gentoo в самособранное ядро.

Начинаю пересобирать world. Снова косячу и ставлю COMMON_FLAGS="-march=native -O3 -pipe". Начинаются рандомные падения на сборке. Обычно это означает что с железом (в 99% случаев это железо - память) что-то не не так, но два дня же назад все отлично работало. Понимаю что раньше я всегда использовал -O2 и никаких проблем не имел, меняю и пытаюсь пересобрать снова. Становится интересно. Ядро собирается без проблем, gcc то собирается, то не собирается, сборка llvm падает всегда, в основном с segmentation fault. Мой опыт говорит что если существует проблема с памятью, то все тяжелые сборки падают. В списке таких тяжелых сборок - ядро, gcc, llvm. Тут как-то не все падает и не всегда. Начинаю пробовать march=znver2 который был раньше, убирать -j до 1, убирать -O, собирать все нуля с `emerge -e llvm`, нефига не помогает, llvm падает стабильно. Вожусь так два дня, сдаюсь, запускаю memtest который был на флешке с gentoo. Тест работает до 20% норм, а потом начинает на всем объеме памяти сыпать ошибками. Расстраиваюсь, но не отчаиваюсь, ибо все как-то странно выглядит, 4 планки не самой плохой памяти редко отъезжают одновременно. Не то что бы прям редко, cкорее даже у меня такого никогда не случалось. Ну кроме одного случая когда десктоп который работал как сервер на чердаке перемкнуло и он тупо сгорел. Но тоже явно не тот вариант.

Смотрю на спеки памяти вижу там частоту - 3200 и тут в голове выскакивает что по моему биос при загрузке пишет про память - 2333. Лезу в настройки и точно, в биосе в частоте памяти стоит - Auto и биос при этом определяет 2333. Ставлю ручками 3200, перегружаюсь в Gentoo, собираю llvm - нет проблем. Пересобираю все с нуля, собираю всякие firefox, telegram-desktop, samba - нет никаких проблем.

Никогда бы не подумал что понижение частоты так может повлиять. Пока обновлял открыл для себя в настройках power10k упоминание https://sw.kovidgoyal.net/kitty/, поставил его попробовать вместо Alacritty. Ну и https://wiki.archlinux.org/title/picom, добавить в https://awesomewm.org/ прозрачности.

Всем добра и автоматизации.

Tags:
Hubs:
Total votes 5: ↑3 and ↓2+1
Comments16

Articles