ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Александр Глухов от 17 Октября, 2014, 15:07:19
-
Здравствуйте, нужно на Тион28 поставить базу данных, в которую приложение будет делать записи. Как это можно сделать и какую версию? Желательно с PostgreSQL. Скачал postgresql-9.3.5.tar.bz2 с их сайта, установил на виртуалке с ltib, путь прописал в rootfs/pgsql. По руководствам создал там БД, сделал пару записей. Но на самом тионе ничего не могу получить от базы, только подобного вида сообщения:
./psql: line 1: syntax error: unexpected "("
root@freescale /pgsql/bin$ ./postgres
./postgres: line 1: syntax error: unexpected "("
Из приложения также не получается соединиться, хотя на Windows ставил PostgreSQL, с той базой все ок.
Я так понимаю там нужно запустить сервер командой postgres, после чего устанавливать коннект с базой, но postgres не запускается. Также для него на виртуалке потребовалось создать пользователя без привилегий, так как под root запускать нельзя. Его тоже как то нужно перенести на Тион?
-
Во-первых, чтобы приложение запускалось на Тион28, оно должно быть скомпилировано для него. Скорее всего вы не найдёте сборок postgresql для Тион28, т.е. нужно будет выполнить кросс компиляцию postgresql, что с ltib будет не тривиальной задачей.
Во-вторых, вам действительно нужна такая мощная СУБД? Может быть вам хватит возможностей http://www.sqlite.org/
-
Возможно и хватит, не могу сказать, не я один это решаю, но хотел бы узнать :
С установкой на тион sqllite дела будут проще, чем с postgresql?
И что понадобится для кросс компиляции postgresql?
-
Александр, зачем Вам БД на встраиваемом компьютере? Странная постановка задачи. Я не специалист по БД, но мне кажется, что система должна выглядеть следующим образом: удаленный сервер с базой данных и клиент на Тионе, реализующий GUI и отправляющий запросы к БД.
-
postgresql есть в Buildroot, при запуске занимает 50MB.
-
Задача такая: Тион записывает данные в свою БД, а потом с неё удаленно будут считываться данные.
Скачал Buildroot, но не нашел postgresql, можно по-подробнее пожалуйста
-
> Скачал Buildroot
Buildroot с сайта buildroot.org (postgresql была добалвлена в мае 2014),
настраиваете:
target options / target arch variant arm920t и
toolchain / C library = glibc
-
О, я с вашего качал. Скачал, вижу, что есть, но не работал с этим, поэтому много вопросов. Скажите пожалуйста, я могу перетащить оттуда в текущую rootfs LTIB'а или нужно вторую КФС собрать, затем уже переносить?
-
Вы можете посмотреть параметры сборки сохранив лог сборки Buildroot и
packages/postgresql. Оценить работу на собранной Buildroot КФС. А потом
решайте так ли вам нужен LTIB.
-
С установкой на тион sqlite дела будут проще, чем с postgresql?
Проще, sqlite есть в ltib. Как обычно версия не первой свежести.
-
К sqlite можно соединяться удалённо?
-
Не совсем понятно, как из buildroot получить нужную сборку PostgreSQL. Можно же в LTIB собрать? Нужно только для этого postgresql.spec создать, можете подсказать, где его взять или как написать?
-
> как из buildroot получить
make menuconfig
1.
target options / target arch variant arm920t и
toolchain / C library = glibc
2. Дополняете нужными вам элементами (postgresql).
3. Указываете порт для консоли.
4. Выбираете udev (eudev, mdev или udev) или статическую /dev
(BR2_ROOTFS_DEVICE_CREATION_STATIC и device_table.txt)
5. Может быть, используете BR2_ROOTFS_OVERLAY для дополнения своими файлами.
Может быть, по правилам Buildroot добавляете в каталог package сборку
своих программ.
make
6. Полученный output/images/rootfs.tar распаковываете в раздел с ФС ext на
SD или USB Flash и загружаетесь с соответствующим указанием root=
> как написать?
Смотрите на существующие в LTIB, смотрите на лог сборки postgresql в
Buildroot, пишите, отлаживаете, отлаживаете, отлаживаете...
-
Тупой вопрос: Где найти этот лог сборки?
-
Получить при сборке. Могу сделать, если хотите.
-
Я вот что получил, что имеет отношение к PostgreSQL. Это оно?
echo "/home/ubuntu/Desktop/buildroot/output/host/usr/bin/makedevs -d /home/ubuntu/Desktop/buildroot/output/build/_device_table.txt /home/ubuntu/Desktop/buildroot/output/target" >> /home/ubuntu/Desktop/buildroot/output/build/_fakeroot.fs
printf ' postgres -1 postgres -1 * /var/lib/pgsql /bin/sh - PostgreSQL Server\n' >> /home/ubuntu/Desktop/buildroot/output/build/_users_table.txt
PATH="/home/ubuntu/Desktop/buildroot/output/host/bin:/home/ubuntu/Desktop/buildroot/output/host/sbin:/home/ubuntu/Desktop/buildroot/output/host/usr/bin:/home/ubuntu/Desktop/buildroot/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" /home/ubuntu/Desktop/buildroot/support/scripts/mkusers /home/ubuntu/Desktop/buildroot/output/build/_users_table.txt /home/ubuntu/Desktop/buildroot/output/target >> /home/ubuntu/Desktop/buildroot/output/build/_fakeroot.fs
echo " tar -cf /home/ubuntu/Desktop/buildroot/output/images/rootfs.tar -C /home/ubuntu/Desktop/buildroot/output/target ." >> /home/ubuntu/Desktop/buildroot/output/build/_fakeroot.fs
-
Лучше всего собрать Buldroot с отключенным postrgesql, после этого включить сборку в один поток и собрать postgresql сохраняя лог.
-
Вот лог, что вас держит на LTIB?
-
С ltib'ом вроде хоть в чём-то разобрался, да и она настроена уже, libXtst и libXi для Java на ней собирается, скрипт mk_mx28_sd_v2 на SD записывает, все устраивает, только PostgreSQL остался. А как в buildroot libXtst и libXi собирать и как загрузочную SD создавать даже понятия не имею. Хотя если в buildroot уже есть PostgreSQL и если на Java возможно запускать графические приложения, то может и имеет смысл взять buildroot, как вы считаете?
Посмотрел сейчас в menuconfig, похоже там и libXtst libXi уже есть в составе X.org сервера. Какие настройки необходимы для запуска на Тионе с тачскрином? Кроме arm920t и glibc
-
Я X.org не пробовал запускать.
-
А тачскрин? Я имею ввиду, что я скачивал LTIB в виртуалке, а в ней уже минимум необходимых библиотек выбран, как я понял. Завтра попробую собрать с buildroot.
И я так понял на выходе я получаю архив rootfs. Как сделать SD с этой КФС и U-bootом? То есть может существует аналог скрипта mk_mx28_sd или вы можете помочь с его созданием?
-
Покажите ваш mk_mx28_sd
-
Почему не удалить всё что есть на разделе ext2 SD-карты (может быть, кроме boot) и распаковать туда архив rootfs из Buildroot?
-
Скрипт mk_mx28_sd_v2, нашел на вашем форуме.
#!/bin/bash
# Copyright (c) 2010 Freescale Semiconductor, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# o Redistributions of source code must retain the above copyright notice, this list
# of conditions and the following disclaimer.
#
# o Redistributions in binary form must reproduce the above copyright notice, this
# list of conditions and the following disclaimer in the documentation and/or
# other materials provided with the distribution.
#
# o Neither the name of Freescale Semiconductor, Inc. nor the names of its
# contributors may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# This script prepares a SD card with a boot image for the i.MX28 EVK
# Requires the root file system with a valid imx28 boot stream
#
# Modification History
#
# 1.0.0 23Apr2010 Chris S. Original version.
#
# 1.0.1 04Aug2010 Franz W. Modified to avoid already-mounted sdX drives.
# This will help you to avoid trashing your
# hard drive.
#
# 1.0.2 20Aug2010 Franz W. This version now uses "dd" to copy the binary image of rootfs
# onto the SD card.
#
# 1.0.3 26Aug2010 Brad B. Sometimes Linux hosts will automount /dev/sdX3
# after MBR is written and before the filesystem
# is transferred. Added check for this and appropriate
# umount command.
#
# 1.0.4 15Sep2010 creed Added -d -u -x options.
#
# 1.0.5 16Sep2010 Franz W Fixed -x option, which was not working with
# inserted un-mountable media.
# 1.1 27Sep2010 Rob L Added -b -r options.
# Fixed the grep/if issue that was causing the script to fail on some
# machines.
# Script can now be called from anywhere as long as mk_hdr.sh
# is pathed or in the local directory that mk_mx28_sd is being called from.
set -e
opt=''
function print_usage() {
echo -e "\nUsage: $0 [-hndux] /dev/sd# \nwhere /dev/sd# is a valid devnode for the SD card."
echo " -h Help. (This information.)"
echo " -n Do nothing. Just echo intended actions."
echo " -d Use HAB disabled boot images."
echo " -u Place U-boot on the SD card instead of Linux."
echo " -x Enable expert mode (see below)."
echo " -b Do not install the rootfs (bootstream only)."
echo " -r Do not install the bootstream (rootfs only)."
echo -e ""
echo -e "Run this script in the ltib directory."
echo -e "The ./rootfs/boot directory contains the kernel and boot stream files to be installed."
echo -e ""
echo -e "This utility uses sudo to: "
echo -e " 1. erase the MBR on the given /dev/sd#"
echo -e " 2. repartitions the device as required to boot the imx28 from sd media"
echo -e " 3. installs the boot stream, kernel, and root filesystem to the sd card"
echo -e ""
echo -e "Notes:"
echo -e "This script will refuse to work on /dev/sda, which is usually a hard disk."
echo -e "This script will refuse to work on any medium which is ALREADY MOUNTED"
echo -e "when the script starts. Therefore, start the script, then insert the card"
echo -e "when asked if you want to continue."
echo -e "\nExpert mode causes the script to run even if the device is already"
echo -e "mounted, and will not ask if you want to continue."
echo -e ""
exit 1
}
DEBUG=
put_uboot=0
use_hab=1
require_unmounted=1
dont_ask=0
no_rootfs=0
no_bootstream=0
while getopts "hnduxbr" Option
do
case $Option in
h ) print_usage
exit 0
;;
n ) DEBUG="echo"
echo "*** DEBUG mode. No changes will be applied. ***"
;;
d ) use_hab=0
;;
u ) put_uboot=1
;;
x ) require_unmounted=0
dont_ask=1
;;
b ) no_rootfs=1
;;
r ) no_bootstream=1
;;
esac
done
# Shift out the used-up command-line arguments.
shift $(($OPTIND - 1))
if [[ ! $1 ]]
then
print_usage
exit 1
fi
# The disk-name is in $1.
# Disallow the use of sda
if [[ $1 == *sda* ]]
then
echo -e "This script will not work on /dev/sda, which is usually a hard disk."
echo -e "Exiting."
exit 1
fi
# Remember the device name
p0=$1
# Construct three volume-names
p1=$1"1"
p2=$1"2"
p3=$1"3"
# This function tests to see if the given device $1 is
# mounted, as shown in /etc/mtab.
# Return value $bMounted==1 if mounted, zero otherwise.
function is_mounted() {
if grep -q -e "^$1.*" /etc/mtab; then
# mounted
bMounted=1
else
# not mounted
bMounted=0
fi
}
# This function partitions uses "sudo fdisk" to partition device "/dev/sdX"
# named by parameter $1 as follows:
# Device Size Id System
# /dev/sdX1 32 Mbytes b W95 FAT32
# /dev/sdX2 32 Mbytes 53 OnTrack DM6 Aux3
# /dev/sdX3 All remaining 83 Linux
#
# $1 contains the name of the device to partition.
function make_nominal_partition() {
if [[ $DEBUG ]] ;
then
WRITE=q
else
WRITE=w
fi
echo "o
n
p
1
1
+32M
t
b
n
p
2
+32M
t
2
53
n
p
3
t
3
83
p
$WRITE" | sudo fdisk $1
}
# This function installs the boot stream named in $1
# into the device named in $2 in partition number $3.
function install_boot_stream() {
echo -e "\nInstalling boot stream $1 on $2$3..."
if [ -f ./mk_hdr.sh ]
then
mk_hdr="./mk_hdr.sh"
else
mk_hdr="mk_hdr.sh"
fi
$DEBUG $mk_hdr `sudo fdisk -lu $2 | awk '$5==53 {print $2}'` 1 > temp.bin
$DEBUG sudo dd if=temp.bin of=$2$3 ibs=512 conv=sync
$DEBUG sudo dd if=$1 of=$2$3 ibs=512 obs=512 seek=1 conv=sync
# place uImage to first partition if using uboot
if [[ $put_uboot -eq 1 ]] ;
then
if grep -q -e "^$p1.*" /etc/mtab; then
$DEBUG sudo umount $p1
fi
$DEBUG sudo dd if=./rootfs/boot/uImage of=$2 ibs=512 obs=512 seek=256 conv=sync
fi
$DEBUG sync
rm temp.bin
echo -e "...finished installing boot stream on $2$3.\n"
}
# This function installs the rootfs directory named in $1
# into the device named in $2 in partition number $3.
function install_ext2_rootfs() {
$DEBUG sudo mkdir ./zzzsdcard
echo -e "\nFormatting rootfs partition...\n"
$DEBUG sudo mkfs.ext2 $2$3
$DEBUG sudo mount -t ext2 $2$3 ./zzzsdcard
echo -e "\nInstalling rootfs on $2$3..."
$DEBUG sudo cp -ar $1 ./zzzsdcard
$DEBUG sudo umount ./zzzsdcard # This may take some time to sync the files before unmounting.
echo -e "\nCleaning up..."
$DEBUG sudo rmdir ./zzzsdcard
echo -e "...finished installing rootfs on $2$3.\n"
}
#############################################
# OK, here it goes.
#############################################
is_mounted $p0
if [[ $require_unmounted -eq 1 ]]; then
# This script is not running in "expert" mode.
# We care if the target volume is already mounted. We don't
# want to clobber the contents accidentally.
if [[ $bMounted -eq 1 ]]; then
# The target volume is indeed already mounted.
echo
echo "The requested volume $p0 is already mounted."
echo "Possibly this volume is a hard disk or some other important medium."
echo "Therefore, this script will exit and not touch it."
echo "Please make sure your sd card is unmounted before running this script."
exit 1
fi
else
# This script is running in "expert" mode.
# We will clobber any contents of the target volume.
echo
fi
# If we got to here, then we are ready to process the target volume.
echo -e "\nInsert the specified device ($p0) now, if you have not already done so.\n"
# Ask the user if they want to make changes unless they said to skip this.
if [[ $dont_ask -eq 0 ]]; then
echo -e "\nThis script requires the use of 'sudo' and erases the content of the specified device ($p0)"
echo -e "Are you sure you want to continue? (yes/no): "
read opt
if [ ! "$opt" = "yes" ]; then
echo -e "\nAborting..., nothing was altered!"
exit 1
fi
fi
# Pick boot stream based on whether to use HAB and whether to write uboot or linux.
if [[ $no_bootstream -ne 1 ]]; then
ivt=""
if [[ $use_hab -eq 1 ]]; then
ivt="ivt_"
fi
if [[ $put_uboot -eq 1 ]]; then
app_name="uboot"
else
app_name="linux"
fi
sb_name="imx28_${ivt}${app_name}.sb"
$DEBUG make_nominal_partition $p0
$DEBUG install_boot_stream ./rootfs/boot/$sb_name $p0 2
fi
if [[ $no_rootfs -ne 1 ]]; then
# Linux may automount /dev/sdX3 at this point, check and unmount if so...
is_mounted $p3
if [[ $bMounted -eq 1 ]] ;
then
echo
echo "$p3 was automounted, unmounting..."
sudo umount $p3
fi
install_ext2_rootfs "./rootfs/*" $p0 3
fi
echo -e "\nDone! Plug the SD/MMC card into the i.MX board and power-on."
#End
-
Удалил папки, кроме boot, разархивировал tar.bz, при загрузке, после U-boot выдает ошибку
can't open /dev/ttyS0: No such file or directory
-
> /dev/ttyS0
Вы не указали порт для консоли в Buildroot.
-
Стоял ttyS0, поменял ttyAM0, как в ltib было, та же ошибка, только уже с ttyAM0
-
ttyAM0 или ttyAMA0?
/dev статическая? Если да, то есть ли там файл устройства ttyAMA0?
-
Вот строка в LTIB которая была
-
Вот в Buildroot
-
Насчет dev видимо это
-
Вряд ли у вас в ядре есть такая.
-
Выберите статическую. С портом консоли в system/device_table_dev.txt
minor-номер у AM и AMA разные, у меня используется AMA, но ядро 3.x, какой minor номер в 2.6.35 не хочу смотреть, попробуйте и AM и AMA (с BR2_ROOTFS_DEVICE_CREATION_STATIC)
# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
/dev/ttyAM c 666 0 0 204 16 0 1 3
/dev/ttyAMA c 666 0 0 204 64 0 1 4
-
Со статической получилось загрузиться, запросил пользователя, ввел root, вроде вошел. Но не могу войти ни в какую директорию, вначале строки просто # и всё, и сыпятся ошибки типа повреждена файловая система, не помню уже точную формулировку. Думаю нужно создать флешку от buildroot, не прибегая к ltib и его mk_mx28_sd скрипту. Я так понимаю, нужно сделать на флешке разделы и в них записывать образ ядра, U-boot и КФС. Так вот, как сделать разделы и каких размеров?
-
Какие именно ошибки?
-
Сейчас попробовал ещё раз, ошибки нет, но не понимаю вот что
Welcome to Buildroot
buildroot login: root
# cd /home/
# cd /bin/
#
не могу никуда зайти, и help ничего не дает, чего-то не установил?
-
Как заменяли файлы КФС? Не потеряли права и пользователей файлов?
-
Удалил все, кроме boot, распаковал архив rootfs
-
Тачскрин не хочет работать, ввел ts_calibrate, выдал:
tslib: Selected device uses a different version of the event protocol than tslib was compiled for
Took 3 samples...
Top left : X = 1073910527 Y = 0
Took 3 samples...
Top right : X = 1073910527 Y = 0
Took 3 samples...
Bot right : X = 1073910527 Y = 0
Took 3 samples...
Bot left : X = 1073910527 Y = 0
Took 3 samples...
Center : X = 1073910527 Y = 0
ts_calibrate: determinant is too small -- 0.000000
Calibration failed.
-
> tslib: Selected device uses a different version of the event protocol than tslib was compiled for
Вам нужна более старая версия tslib, вероятно той же, что и в ltib.
-
Посмотрел в /home/ubuntu/Desktop/Link to ltib/dist/lfs-5.1/tslib/tslib.spec стоит версия 1.0
В /home/ubuntu/Desktop/buildroot/package/tslib/tslib.mk стояла 1.1. Изменил на 1.0. Теперь получаю при make
checking whether the C++ compiler works... no
configure: error: in `/home/ubuntu/Desktop/buildroot/output/build/tslib-1.0':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
make: *** [/home/ubuntu/Desktop/buildroot/output/build/tslib-1.0/.stamp_configured] Error 77
-
Не всё так просто
-
Можете рассказать, как это сделать?
-
Расскажу, если сделаю.
-
У вас C++ в Buldroot не используется?
В .config есть
BR2_TOOLCHAIN_BUILDROOT_CXX=y
-
В Buldroot включаете C++
mv dl dl_
cp .config config.prev
make distclean
mv dl_ dl
mv config.prev .config
Прилагаемый tslib-1.0_linux-2.6.35.patch копируете в package/tslib
в packages/tslib/tslib.mk меняете версию на 1.0
Собираете, перед запуском export TSLIB_TSDEVICE=/dev/input/event0
-
Во, отлично, заработал! Спасибо большое!)
-
А теперь собственно о БД. Выбрал в packages postgresql, во время загрузки даже вижу, что база что-то делает, но где она хранит конфиги о расположении базы данных, о её названии, пароле и имени пользователя? Никак не найду. Они ведь в уже готовой кфс или где то в файлах buildroot'а могут ещё лежать?
-
> названии, пароле и имени пользователя
С postgresql вы как нибудь сами, см. /etc/init.d/S50postgresql
-
Да, я видел этот файл, но он мне не очень помог. Когда запускается тион, я вижу такие сообщения:
Initializing postgresql data base...
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "C".
The default database encoding has accordingly been set to "SQL_ASCII".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/pgsql ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 64MB
creating configuration files ... ok
creating template1 database in /var/lib/pgsql/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... sh: locale: not found
ok
No usable system locales were found.
Use the option "--debug" to see details.
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
/usr/bin/postgres -D /var/lib/pgsql
or
/usr/bin/pg_ctl -D /var/lib/pgsql -l logfile start
done
Starting postgresql: server starting
OK
Похоже, что оно работает, создает базу template и пользователя postgres. Ладно, спасибо, буду дальше пытаться)
-
Кстати можете подсказать, где в Buildroot можно прописать команды, которые будут выполняться при запуске автоматически? Например те же самые exportы и запуск своего приложения?
-
Переменные окружения можно установить перед запуском программы в скрипте запуска расположенном в /etc/init.d/ (см. уже имеющиеся там для образца) или в файле /etc/profile (если переменные нужны для всех, например для tslib).
Для своих файлов и изменений, чтобы они попали в архив КФС, используйте rootfs overlay.
-
Спасибо, overlay настроил, с profile тоже получилось
А насчет БД, файлы желательно редактировать изначально в package/postgresql: S50postgresql, postgresql.mk и config.in, можно сразу настроить пользователя и папку, где будет БД
-
Чтобы новую тему ради одного вопроса не создавать, тем более об этом речь уже зашла, дайте пожалуйста ответ на такой вопрос:
записал в profile
Xfbdev -mouse tslib,2,device=/dev/input/event0 &
Но выполнится он после входа в систему (т.е. после ввода имени/пароля). Возможно ли настроить так, чтобы эта команда выполнилась либо до этого приглашения, либо сделать вход автоматическим? То есть я хочу включать питание и через какое то время увидеть запущенное приложение без лишних телодвижений, таких как подключение к com порту/ telnet/ ssh и ввод пароля. Как это возможно?
-
> Как это возможно?
Также как и ssh, в /etc/init.d
-
/etc/init.d/rcS: line 23: /etc/init.d/S100new~: Permission denied
Напишите пожалуйста подробнее
-
Смотрите существующие, делаете по примеру.
-
И, надеюсь, вы заметили, что у них у всех права на исполнение:
-rwxr-xr-x 1 root root 281 Май 20 15:38 S40network
-
Спасибо, удалось! Думал, галка Allow executing file as a program даёт такие права, оказалось, что нет.