Страниц: [1]
  Печать  
Автор Тема: ls и некоторые другие команды не работают после загрузки образа  (Прочитано 2436 раз)
michael79
Участник
*
Offline Offline

Сообщений: 4


Просмотр профиля
« : Декабря 11, 2013, 07:52:28 am »

Разрабатываю вариант образа системы с наименьшим размером и обнаружил такой эффект:
изначально я не включил в образ команду ls, но после загрузки образа в систему подмонтируется диск, где есть /bin с этой ls.
Командой set проверил PATH, там нужные папки, включая /bin присутствуют,
однако, если попытаться запустить ls, возникает ошибка:
# ls
ldd:FATAL: Unresolved symbol "tcgetsize" called from Executable

некоторые команды с диска, смонтированного в корень, работают нормально.
не понимаю, чего не хватает.
кто-нибудь сталкивался с таким?
Записан
michael79
Участник
*
Offline Offline

Сообщений: 4


Просмотр профиля
« Ответ #1 : Декабря 11, 2013, 01:19:23 pm »

Ответ найден.
Для сжатия образа была использована оптимизация, которую обеспечивает System Builder (кнопка Opnimize System) в составе QNX Momentics IDE.
В процессе оптимизации можно было выбрать те библиотеки, которые будут урезаны таким образом, что смогут обеспечить лишь ту функциональность, которую требуют исполняемые модули из образа системы.
Так как многие команды не входили в образ, функции для них были убраны из библиотеки libc.so.3.

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

не понимаю, как это сделать технически.
Записан
T_i_m_u_r_l_a_n
Участник
*
Offline Offline

Сообщений: 30


Просмотр профиля
« Ответ #2 : Апреля 22, 2015, 12:21:22 pm »

Можно. Почитайте о bash, sh или пишите в личку. Также вам могут помочь /etc/profile и установка переменных среды. Есть еще такая штука jail (клетка), командой chroot изменяет корневой каталог. Но с этим лучше эксперименты ставить на отдельно взятом компе - иначе можете запороть свой рабочий хард и флеш.
Записан
Страниц: [1]
  Печать  
 
Перейти в: