зафиксировать время загрузки embedded ARM/MIPS
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
зафиксировать время загрузки embedded ARM/MIPS
Работаю с TV-боксами со встроенным Linux.
Доступ к ним:
- там где есть (зависит от модели) по RS-232... (это только й терминал, естественно)
- а там где нет - исключительно по SSH подключениям (а здесь - сколько угодно терминалов)
Там где нет RS-232 (а он больше, по существу, и не особенно нужен) чтобы подключиться по SSH нужно иметь IP коробки (особенно когда их несколько - это особенно весело).
Единственно уверенный способ - сканировать хосты своей LAN: сканирование хостов LAN: какой новый появился, тот и он...
Когда мне это надоело - сделал (в конфигурациях этих коробок) отключение DHCP и привязку их к статическим известным IP: "каждой сестре по серьгам".
Теперь стало лучше.... Но некоторая проблема в том, что время загрузки таких embedded устройств (с инициализацией всех фокусов) может быть значительным (до пары минут) ... и подключаясь к ним по SSH (на фиксированный IP) не знаешь: он ещё не загрузился? или сам в конфигурациях начудил и он теперь уже глухо не грузится? или он просто сгорел по электричеству?
Сидишь и ждёшь "у моря погоды"...
Доступ к ним:
- там где есть (зависит от модели) по RS-232... (это только й терминал, естественно)
- а там где нет - исключительно по SSH подключениям (а здесь - сколько угодно терминалов)
Там где нет RS-232 (а он больше, по существу, и не особенно нужен) чтобы подключиться по SSH нужно иметь IP коробки (особенно когда их несколько - это особенно весело).
Единственно уверенный способ - сканировать хосты своей LAN: сканирование хостов LAN: какой новый появился, тот и он...
Когда мне это надоело - сделал (в конфигурациях этих коробок) отключение DHCP и привязку их к статическим известным IP: "каждой сестре по серьгам".
Теперь стало лучше.... Но некоторая проблема в том, что время загрузки таких embedded устройств (с инициализацией всех фокусов) может быть значительным (до пары минут) ... и подключаясь к ним по SSH (на фиксированный IP) не знаешь: он ещё не загрузился? или сам в конфигурациях начудил и он теперь уже глухо не грузится? или он просто сгорел по электричеству?
Сидишь и ждёшь "у моря погоды"...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: зафиксировать время загрузки embedded ARM/MIPS
Может ещё кому пригодится...
Вот он:
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ cat boot.time.sh
if [[ $# -ne 1 ]]
then
echo "error - usage: $0 <1-254>"
exit 1
fi
IP="192.168.1."$1
IP_REG="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
if echo $IP | grep -E -o $IP_REG > /dev/null
then
echo $IP
else
echo illegal IP address: $IP
exit 1
fi
ITER=0
LIMIT=240 # лимит ожидания - 4 мин.
WAIT=1
until `ping -c1 -q $IP > /dev/null`
do
WAIT=0
sleep 1
echo -n '.'
let "ITER++"
if [[ $ITER = $LIMIT ]]
then
echo
echo no response in $SECONDS seconds
exit 1
fi
done
if [[ $WAIT -eq 0 ]]
then
echo
fi
echo "$SECONDS seconds response received"
- Вложения
-
- boot.time.sh
- (726 байт) 70 скачиваний
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: зафиксировать время загрузки embedded ARM/MIPS
И выполнения:
- это загружается простенький MIPS:
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 201
192.168.1.201
...
28 seconds response received
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 202
192.168.1.202
..................................................
211 seconds response received : x86_64-pc-linux-gnu
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 202
192.168.1.202
......
53 seconds response received
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 2
192.168.1.2
0 seconds response received : x86_64-pc-linux-gnu
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 1
192.168.1.1
...
no response in 12 seconds
Код: Выделить всё
LIMIT=240 # лимит ожидания - 4 мин.
При вводе ошибочного IP (то что не может быть IP) ошибка контролируется:
Код: Выделить всё
olej@nvme:~/2021/OWN_TEST.codes/boot.time$ ./boot.time.sh 256
illegal IP address: 192.168.1.256
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя