LINUX.ORG.RU

История изменений

Исправление Xenius, (текущая версия) :

Я не вижу способа использовать внешний по отношению initrd баш, поскольку в тот момент еще нету ничего примаунченного.

И не надо. Собери баш статически и засунь в initrd.

В busybox это внутреняя команда. В bash это внешняя команда.

Вот тут ты как раз немного ошибаешься. busybox — это multicall binary, в том числе там есть шелл (hush или ash в зависимости от опций при сборке) и есть тот же mkdir. При этом и /bin/sh и /bin/mkdir в initrd присутствуют и являются внешними командами для шелла. Только благодаря busybox им не обязательно быть отдельными файлами и они все являются просто жесткими или символьными ссылками на /bin/busybox.

Если ты просто добавишь во всю эту кухню /bin/bash (или собранный статически или вместе с библиотеками), то баш сможет использовать уже существующий /bin/mkdir который на самом деле является симлинком на busybox и ничего кроме баша тебе добавлять не надо.

Я ставил bash в OpenWRT на роутере пакетом (где был только bash) и всё работало и mkdir и прочее.

Исходная версия Xenius, :

Я не вижу способа использовать внешний по отношению initrd баш, поскольку в тот момент еще нету ничего примаунченного.

И не надо. Собери баш статически и засунь в initrd.

В busybox это внутреняя команда. В bash это внешняя команда.

Вот тут ты как раз немного ошибаешься. busybox — это multicall binary, в том числе там есть шелл (hush или ash в зависимости от опций при сборке) и есть тот же mkdir. При этом и /bin/sh и /bin/mkdir в initrd присутствуют и являются внешними командами для шелла. Только благодаря busybox им не обязательно быть отдельными файлами и они все являются просто жесткими или символьными ссылками на /bin/busybox.

Если ты просто добавишь во всю эту кухню /bin/bash (или собранный статически или вместе с библиотеками), то баш сможет использовать уже существующий /bin/mkdir который на самом деле является симлинком на busybox и ничего кроме баша тебе добавлять не надо.