LINUX.ORG.RU

bash в initramfs вместо sh


0

1

Хочу использовать bash в initramfs вместо sh. В целях унификации.

в конфиге grub прописывается параметр init=/linuxrc, который запускает скрипт linuxrc, который укладывается туда программой genkernel
(из файла /usr/share/genkernel/defaults/linuxrc).

В этом файле первой строкой указан #!/bin/sh

1) Мне неясно - почему /bin, а не /sbin
2) Можно ли не sh, а bash

Можно ли по первому пункту разместить bash в sbin, а в bin сделать симлинк? (если уж так надо из под обычного пользователя bash запускать)

UPD: копию bash закатать в initramfs вместо sh, т.к. она выполняется еще до подмены корня (меня убивает, зачем все так сложно, когда можно было сделать проще).



Последнее исправление: StrongDollar (всего исправлений: 1)

Ответ на: комментарий от anonymous

Например вообще без «процесса init», все равно ведь уже bash запущен и скрипт выполняется. Из того скрипта повызвать все остальные, и все - никаких там /etc/inittab не нужно будет, и все четко, ясно и понятно.

StrongDollar
() автор топика

>Мне неясно - почему /bin, а не /sbin

Потому, что у обычного пользователя может отсутствовать /sbin в $PATH, а initrd следует иерархии каталогов основной системы.

И, вообще, что за бред, bash - совсем не та программа, коей следует лежать в /sbin.

anonymous
()
Ответ на: комментарий от anonymous

> bash - совсем не та программа, коей следует лежать в /sbin

совершенно не очевидно. Ядро запускает эту программу из-под пользователя root. Почему она, программа, должна при этом находится в каталоге обычных пользователей, а не в специальном каталоге рута? Есть же рекомендации, что размещать sbin понадежнее, чтобы когда все отвалится, рут мог работать. А тут получается, что все равно не сможет.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

>Есть же рекомендации, что размещать sbin понадежнее, чтобы когда все отвалится, рут мог работать. А тут получается, что все равно не сможет.

Что за бред? Если /bin стал недоступен (отвалилась фс, удалили), то же самое будет и с /sbin.

anonymous
()
Ответ на: комментарий от anonymous

> Если /bin стал недоступен (отвалилась фс, удалили),

то же самое будет и с /sbin.

Они могут быть смонтированы с разных физических устройств...

Что за бред?

веди себя повежливее, что-ли...

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

>совершенно не очевидно. Ядро запускает эту программу из-под пользователя root.

А User запускает эту программу из-под пользователя User, и что?
В /sbin лежат бинари, кот-е кроме как из-под супер-юзера запускать не предполагается.

man hier же, ну.

anonymous
()
Ответ на: комментарий от StrongDollar

>Они могут быть смонтированы с разных физических устройств

Извращенец?

anonymous
()
Ответ на: комментарий от anonymous

man hier же, ну.


Да ему же никто не следует, вот пример:

/usr/src/linux
This was the traditional place for the kernel source. Some dis
tributions put here the source for the default kernel they ship.
You should probably use another directory when building your own
kernel.

И что мы видим - гента ровно там и собирает, несмотря на все эти рекомендации

StrongDollar
() автор топика

> Хочу использовать bash в initramfs вместо sh.

)))

а что мешает собственное/уникальное генту(например..) окружение засунуть в initrams? а еще его непосредственно в ядро можно встроить...

anonymous
()

ССЗБ. bash — общесистемная «программа» в /sbin/ ей не место. +/sbin/ простому юзеру и не нужен.

tn1
()
Ответ на: комментарий от tn1

>убейся

все норм)

ТСу нечем занятся, кроме как трольнуть - man init

anonymous
()
Ответ на: комментарий от GotF

Не надо обобщать, не везде так.

У ТС гента.

tn1
()
Ответ на: комментарий от StrongDollar

не буду, потому что в initramfs это не симлинк

Что там? +emerge -pv sh — по нулям.

tn1
()

kloun'а банят, но тупняк не утихает

Led ★★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.