Перейти к содержанию

Вопрос

Опубликовано

остались тут трщи разработчики?

только они видимо могут рассказать

1 - почему без entware  любой bash скрипт не работает с #!/bin/sh ? врёт что плохой интерпретатор. но с #!/bin/ash работает

2 - а почему после установки entware начинает работать даже с #!/bin/sh ?   где в чём "секрет"?

3 - почему идёт "зашита" от альтернативного busybox? штатный из sdk - сильно отличается от busybox из entware, кучу операндов не понимает - а если заменить стандартный - срабатывает защита и в принципе exec (a)sh не реагирует

4 - почему не позволяет в bash произвольный интерпретатор указать? типа #!/usr/bin/sh снова врёт что файл не существует - хотя ессно что он есть

 

может в новых sdk уже вшили новый busybox как в entware?  сейчас только 4.2.6 sdk ковыряю 4.2.5 прошивку - и полный тупик 

сам bash скрипт содержит: pgrep, esac, =~  и всё это sdk busybox не хавает. а попытка добавить другой интерпретатор - срабатывает ваша "защита"

а скрипт поменять чтоб без этих операндов - тупорогие ai чаты ещё только хуже делают. сам я не силён в bash

Рекомендуемые сообщения

  • 0
Опубликовано

1. /bin/sh это редиректор, который в зависимости от ситуации запускает или ash, или /opt/bin/sh, или ndmc.

2. Потому что редиректор включает редирект на /opt/bin/sh.

3. Потому что в системе вообще нет busybox и он не используется. Его можно поставить, но он крайне урезан, потому что для работы он не нужен.

4. Указывать нужно через /opt/usr/bin/sh вероятно.

busybox улучшаться и обновляться не будет, он для работы системы не нужен.

  • 0
Опубликовано
38 минут назад, Le ecureuil сказал:

1. /bin/sh это редиректор, который в зависимости от ситуации запускает или ash, или /opt/bin/sh, или ndmc.

2. Потому что редиректор включает редирект на /opt/bin/sh.

3. Потому что в системе вообще нет busybox и он не используется. Его можно поставить, но он крайне урезан, потому что для работы он не нужен.

4. Указывать нужно через /opt/usr/bin/sh вероятно.

busybox улучшаться и обновляться не будет, он для работы системы не нужен.

спасибо

стало чуть понятней

но неясен момент почему exec в упор не хочит sh запускать

Цитата

(config)> exec /storage/etc/init.d/S51nfqws
Failed to execute "/opt/bin/sh": No such file or directory

в /opt/bin/ хотите верьте, хотите нет, но бусибокс и sh как ссылка лежат (sdkшный убрал - если он есть, то только его и использует рутер - альтернативный бусибокс игнорит + с ваших слов он в принципе только в 2х местах и может лежать(что печально))

первая строка в S51nfqws это   #!/bin/sh

при любой другом содержимом 1й строки

Цитата

ndm: Process: "Cli::Editor::Exec_": unable to start (unable to execute a process: no such file or directory).

что сильно бесит: привык к тому что в первой строке правильно обрабатывается произвольный путь к (a)sh 

по уму конечно storage должен монтироваться на /opt

но не влазит всё вместе на internal storage в меньше чем мегабайт у 1611

  • 0
Опубликовано

другими словами складываю в /opt всё что entware туда складывает в процессе установки (исполняемость файлов учёл и не теряется)

и с помощью sdk собираю

и нифига

Цитата

ndm: Process: "Cli::Editor::Exec_": unable to start (unable to execute a process: no such file or directory).

единственное отличие что диск opkg не маплю -- иначе мой /opt "затрётся" пустотой

 

т.е. и тут видать дополни́тельный уровень вредной "защиты"?

  • 0
Опубликовано
5 часов назад, Quqas Wased сказал:

т.е. и тут видать дополни́тельный уровень вредной "защиты"?

Нет никакой вредной защиты. Прощивки кинетиков не на базе Linux (хотя ядро от Linux) - все, к чему привыкли, работать не будет.

5 часов назад, Quqas Wased сказал:

и с помощью sdk собираю

Собирайте с помощью Entware и наступит счастье. В качестве шебанга используйте `` #!/opt/bin/sh

  • 0
Опубликовано
12 часов назад, zyxmon сказал:

Нет никакой вредной защиты. Прощивки кинетиков не на базе Linux (хотя ядро от Linux) - все, к чему привыкли, работать не будет.

Собирайте с помощью Entware и наступит счастье. В качестве шебанга используйте `` #!/opt/bin/sh

можно б было штатный полноценный ентварь поставить - и вопросов бы не было

 

места не хватает на хранилище -- но всё содержимое ентвари влезает в рсновную прошивку - только вот при прочих равных не запускается хоть тресни

вся разница что не подключен opkg disk

  • 0
Опубликовано
10 часов назад, Quqas Wased сказал:

только вот при прочих равных не запускается хоть тресни

Entware устанавливается в папку /opt, из другой не работает. Ну и в PATH должны быть папки /opt/bin /opt/sbin ....

  • 0
Опубликовано
12 часов назад, zyxmon сказал:

Entware устанавливается в папку /opt, из другой не работает. Ну и в PATH должны быть папки /opt/bin /opt/sbin ....

именно всё так и делаю

 

просто /opt в прошивке а не на флэшке или на встроенном

в самой прошке

туда влазит на встроенное нет

юзб порта нет

 

  • 0
Опубликовано
6 минут назад, Le ecureuil сказал:

Все верно, без смонтированного диска в Opkg ничего работать не будет - на это не рассчитано.

ок

так и думал

вот она и защита

а если смонтированый storage на /opt заполнить ln -s?

тоже не проканает?

  • 0
Опубликовано
9 часов назад, Quqas Wased сказал:

а если смонтированый storage на /opt заполнить ln -s?

На некоторых роутерах asus делают так

t# ls -al /
drwxr-xr-x   18 root     root           324 May 12  2021 .
drwxr-xr-x   18 root     root           324 May 12  2021 ..
drwxrwxr-x    2 root     root             3 May 12  2021 asus_jffs
drwxr-xr-x    2 root     root           708 May 12  2021 bin
drwxr-xr-x    2 root     root             3 May 12  2021 cifs1
drwxr-xr-x    2 root     root             3 May 12  2021 cifs2
drwxr-xr-x    5 root     root          1660 Oct 23  2024 dev
lrwxrwxrwx    1 root     root             7 May 12  2021 etc -> tmp/etc
lrwxrwxrwx    1 root     root             8 May 12  2021 home -> tmp/home
drwxr-xr-x    4 root     root           648 Sep 14 23:01 jffs
drwxrwxr-x    4 root     root           452 May 12  2021 lib
drwxr-xr-x    2 root     root             3 May 12  2021 mmc
lrwxrwxrwx    1 root     root             7 May 12  2021 mnt -> tmp/mnt
lrwxrwxrwx    1 root     root             7 May 12  2021 opt -> tmp/opt
dr-xr-xr-x  100 root     root             0 Jan  1  1970 proc
drwxr-xr-x    6 root     root           161 May 12  2021 rom
lrwxrwxrwx    1 root     root            13 May 12  2021 root -> tmp/home/root
drwxr-xr-x    2 root     root          2873 May 12  2021 sbin
dr-xr-xr-x   16 root     root             0 Jan  1  1970 sys
drwxr-xr-x    2 root     root             3 May 12  2021 sysroot
drwxrwxrwx   10 root     root           660 Sep 29 02:36 tmp
drwxr-xr-x    9 root     root           156 May 12  2021 usr
lrwxrwxrwx    1 root     root             7 May 12  2021 var -> tmp/var
drwxrwxr-x   14 root     root          6210 May 12  2021 www

https://github.com/Entware/Entware/wiki/Install-on-ASUS-stock-firmware

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.