История изменений
Исправление 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 и ничего кроме баша тебе добавлять не надо.