<commit_before>## Как я ставлю свою систему

### Образ Федоры

Скачиваем образ:

```sh
wget https://download.fedoraproject.org/pub/fedora/linux/releases/23/Workstation/x86_64/iso/Fedora-Live-Workstation-x86_64-23-10.iso
```

Записываем его на USB-флешку:

```sh
sudo dnf install liveusb-creator
sudo liveusb-creator
```

### Установка

Открываем `/usr/lib64/python3.4/site-packages/pyanaconda/bootloader.py`
и исправляем методы `is_valid_stage1_device` и `is_valid_stage2_device`,
чтобы они всегда возвращали `True`.

Запускаем установщик.

1. Английскую раскладку на первое место. Переключение раскладок:
   «Caps Lock (на первую раскладку), Shift+Caps Lock (на последнюю раскладку)».
2. Сеть и имя узла: «flatline».
3. Разбиение диска:

    ```
   /boot/efi EFI  500 МиБ
   /         ext4 LVM Имя: flatline-root
    ```
4. Пользовать:
   - Полное имя: `<NAME>`
   - Имя пользователя: `ai`
   - Сделать администратором

Перезагружаемся ещё раз в Live-USB. Подключаем диски установленной системы.

Создаём в скрипт обновления EFI-файлов при обновлении ядра
в `etc/kernel/postinst.d/99-update-efistub`:

```sh
#!/bin/bash

rm -f /boot/efi/EFI/fedora/vmlinuz.efi
rm -f /boot/efi/EFI/fedora/initramfs.img
cp $(ls /boot/vmlinuz-* | sort -r | head -1) /boot/efi/EFI/fedora/vmlinuz.efi
cp $(ls /boot/initramfs-* | sort -r | head -1) /boot/efi/EFI/fedora/initramfs.img
```

```sh
sudo chmod a+x etc/kernel/postinst.d/99-update-efistub
```

Копируем первое ядро руками.

Узнаём UUID диска:

```sh
cryptsetup luksUUID /dev/mapper/flatline-root
```

Копируем EFI-загрузчик:

```sh
sudo cp /usr/lib/systemd/boot/efi/systemd-bootx64.efi /boot/efi/EFI/fedora/
sudo mkdir -p /boot/efi/loader/entries
```

Создаём для него настройки. `/boot/efi/loader/loader.conf`:

```
default fedora
```

`/boot/efi/loader/entries/fedora.conf`:

```
title   Fedora
linux   /EFI/fedora/vmlinuz.efi
initrd  /EFI/fedora/initramfs.img
options root=/dev/mapper/luks-UUID rd.lvm.lv=flatline/root rd.luks.uuid=luks-UUID ro rhgb quiet LANG=ru_RU.UTF-8
```

### Оптимизация для SSD

Открываем `etc/fstab`.

Добавляем опцию `noatime` для корневой системы.

Переносим `/tmp` и `/var/tmp` в оперативную память:

```
none /var/tmp  tmpfs noatime 0 0
none /tmp/     tmpfs noatime 0 0
/swapfile none swap defaults 0 0
```

Чистим каталоги `tmp` и `var/tmp`.

Создаём swap-файл:

```sh
sudo fallocate -l 8G ./swapfile
sudo chmod 600 ./swapfile
sudo mkswap ./swapfile
```

Перезагружаемся в BIOS и добавляем EFI-образ `EFI/fedora/refind_x64.efi`
под именем «Fedora».

Перезагружаемся в систему и включаем TRIM:

```sh<commit_msg>FIx BIOS instructions<commit_after>## Как я ставлю свою систему

### Образ Федоры

Скачиваем образ:

```sh
wget https://download.fedoraproject.org/pub/fedora/linux/releases/23/Workstation/x86_64/iso/Fedora-Live-Workstation-x86_64-23-10.iso
```

Записываем его на USB-флешку:

```sh
sudo dnf install liveusb-creator
sudo liveusb-creator
```

### Установка

Открываем `/usr/lib64/python3.4/site-packages/pyanaconda/bootloader.py`
и исправляем методы `is_valid_stage1_device` и `is_valid_stage2_device`,
чтобы они всегда возвращали `True`.

Запускаем установщик.

1. Английскую раскладку на первое место. Переключение раскладок:
   «Caps Lock (на первую раскладку), Shift+Caps Lock (на последнюю раскладку)».
2. Сеть и имя узла: «flatline».
3. Разбиение диска:

    ```
   /boot/efi EFI  500 МиБ
   /         ext4 LVM Имя: flatline-root
    ```
4. Пользовать:
   - Полное имя: `<NAME>`
   - Имя пользователя: `ai`
   - Сделать администратором

Перезагружаемся ещё раз в Live-USB. Подключаем диски установленной системы.

Создаём в скрипт обновления EFI-файлов при обновлении ядра
в `etc/kernel/postinst.d/99-update-efistub`:

```sh
#!/bin/bash

rm -f /boot/efi/EFI/fedora/vmlinuz.efi
rm -f /boot/efi/EFI/fedora/initramfs.img
cp $(ls /boot/vmlinuz-* | sort -r | head -1) /boot/efi/EFI/fedora/vmlinuz.efi
cp $(ls /boot/initramfs-* | sort -r | head -1) /boot/efi/EFI/fedora/initramfs.img
```

```sh
sudo chmod a+x etc/kernel/postinst.d/99-update-efistub
```

Копируем первое ядро руками.

Узнаём UUID диска:

```sh
cryptsetup luksUUID /dev/mapper/flatline-root
```

Копируем EFI-загрузчик:

```sh
sudo cp /usr/lib/systemd/boot/efi/systemd-bootx64.efi /boot/efi/EFI/fedora/
sudo mkdir -p /boot/efi/loader/entries
```

Создаём для него настройки. `/boot/efi/loader/loader.conf`:

```
default fedora
```

`/boot/efi/loader/entries/fedora.conf`:

```
title   Fedora
linux   /EFI/fedora/vmlinuz.efi
initrd  /EFI/fedora/initramfs.img
options root=/dev/mapper/luks-UUID rd.lvm.lv=flatline/root rd.luks.uuid=luks-UUID ro rhgb quiet LANG=ru_RU.UTF-8
```

### Оптимизация для SSD

Открываем `etc/fstab`.

Добавляем опцию `noatime` для корневой системы.

Переносим `/tmp` и `/var/tmp` в оперативную память:

```
none /var/tmp  tmpfs noatime 0 0
none /tmp/     tmpfs noatime 0 0
/swapfile none swap defaults 0 0
```

Чистим каталоги `tmp` и `var/tmp`.

Создаём swap-файл:

```sh
sudo fallocate -l 8G ./swapfile
sudo chmod 600 ./swapfile
sudo mkswap ./swapfile
```

Перезагружаемся в BIOS и добавляем EFI-образ `EFI/fedora/systemd-bootx64.efi`
под именем «Fedora».

Перезагружаемся в систему и включаем TRIM:

```sh
{'fraction_non_alphanumeric': 0.13535431550492372, 'fraction_numerical': 0.018922571925082062, 'mean_word_length': 3.7962962962962963, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1289628', 'n_tokens_mistral': 2453, 'n_tokens_neox': 2487, 'n_words': 513}