То, что делает личинка, должно получить доступ /boot
(только для чтения достаточно, личинке действительно не нужна полная файловая система, обрабатывающая здесь), и получает соответствующие файлы от него. Это загружает ядро и initramfs в память, и передает управление недавно загруженному ядру.
Недавно загруженное ядро затем работает init
в initramfs, который разрушает к наконец pivot_root
кому: /
.
]Здесь вместо прямого слеша пробел: [
] [#! /bin bash
]
[]должно быть:[
] [#! /bin/bash
]
[]или просто[
] [#!/bin/bash
]
[] (первый пробел необязателен).
За пробелом ([]#![
]) должен следовать путь [] к исполняемому файлу [], за которым может последовать [] один аргумент [], например, [
#!/usr/bin/env sh
]
[] В данном случае []/usr/bin/env[
] является исполняемым файлом; подробности см. в [] man env[
].[
] Только []/bin[
] ссылается на каталог.[
Стоит отметить, что если точка монтирования, на которой находится ваш скрипт, имеет атрибут 'noexec', то вы можете использовать все, что хотите, и он все равно выиграет ' t работает, но вызов интерпретатора со сценарием в качестве аргумента будет (если он, в свою очередь, не попытается запустить другой сценарий при монтировании noexec).