aboutsummarylogtreecommitdiffstats
path: root/README-ru.md
blob: 8f5e4d919bcb1f4be14f72123456ffdfe294747c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# mkinitcpio-hook-neoshy (по-русски)

Кастомный хук для `mkinitcpio`, позволяющий примонтировать файл-контейнер с зашифрованной root-файловой системой, находящийся **на блочном устройстве**, ещё до выполнения хука `encrypt`.

---

## 💡 Что делает этот хук

Если у тебя root находится **внутри файла** (например, `rootfs.img`, `.crypt`, `whatever.img`), и этот файл лежит **на разделе**, то обычный `encrypt`-хук не сможет его расшифровать напрямую.

`neoshy` решает это следующим образом:

1. Монтирует раздел, указанный в параметре `src_dev=...`
2. Ищет файл-контейнер по пути, указанному в `src_img=...`
3. Подключает его через `losetup` (loop-устройство)
4. Делает это **до** `encrypt`, чтобы тот увидел `/dev/loop0` и спокойно его расшифровал

---

## 🧵 Пример параметров ядра

Добавь эти параметры в cmdline ядра:

src_dev=/dev/nvme0n1p3 src_img=/crypto/rootfs.img cryptdevice=/dev/loop0:cryptroot root=/dev/mapper/cryptroot


---

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

### ✅ Arch / Artix (через AUR):

```bash
paru -S mkinitcpio-hook-neoshy
# или
yay -S mkinitcpio-hook-neoshy

💻 Ручная установка (на других дистрибутивах):

make install

⚙️ Настройка

Добавь neoshy перед encrypt в массив HOOKS в /etc/mkinitcpio.conf:

HOOKS=(base udev autodetect modconf block keyboard neoshy encrypt filesystems fsck)

И пересобери initramfs:

sudo mkinitcpio -P

📜 Лицензия

MIT

Автор: Андрей А. Быков