Комментарии 8
Если быстро нажимать CTRL+C, то попадём в командную строку загрузчика, который
Который запросит пароль.
На этом для 99% дошедших до этого уровня квеста, всё и закончится.
Ну кто-то снимет дамп и найдет пароль в uboot (во многих камерах на проце Anyka). Кто-то использует стандартный пароль HI2105CHIP если камера от вендора CamHi. Кто-то использует фастбут через https://github.com/OpenIPC/burn чтобы загрузить другой бут (для hisilicon или goke). Кто-то перешьет бут от старой версии (вендор XM). Квест на то и квест чтобы не сдаться.
Скрытый текст
#Ux6@9V&4_Rz
Не скажу, что детально смотрел, но вот что бросается в глаза сразу по сетевым настройкам:
setenv bootargsnfs 'mem=35M console=ttyAMA0,115200 panic=20 root=/dev/nfs rootfstype=nfs ip=dhcp nfsroot=192.168.1.3:/mnt/nfsroot,v4,nolock,tcp rw ip=192.168.1.10:192.168.1.3:192.168.1.1:255.255.255.0::eth0'
Не уверен, что опция "v4" будет работать со всеми nfs серверами, скорее, наоборот, создаст проблемы. Странно, кстати, почему "v4", надо вроде "nfsvers=4". Может, я не в курсе трендов... В общем, "nfsvers=3" избавит от головняка. Особенно учитывая, что строка в /nfs/exports сервера в статье настроена для v3 :) А так - в конфиге ядра есть опции CONFIG_NFS_V3=... и CONFIG_NFS_V4=... , надо смотреть, что там прописано. Там еще должно быть:
CONFIG_ROOT_NFS=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_FS=y
CONFIG_IP_PNP=y
CONFIG_INET=y
Иначе работать с NFS не получится. В необходимости последних двух опций не уверен, но первые три точно нужны."ip=dhcp", при этом все айпишники статические. Зачем эта опция? Работать будет, конечно, поскольку dhcp сервер наверняка не поднят, но вводит в заблуждение.
Зачем "panic=20"? При отладке nfs загрузки эта строка убьет массу времени впустую на ожидание. Лучше убрать, или написать "panic=5" хотя бы. Ядро сбросится при зависании, обязательно, там вроде 3 сек по дефолту :)
atftp --get -r uImage.xm530 -l /tmp/uImage.xm530 192.168.1.1
Зачем разнесены tftp и nfs серверы на разные айпишники? Зачем вообще было вешать tftp сервер на шлюз?
Далее. Вот дефолтные настройки в u-boot:
ethaddr=00:12:41:00:00:01
ipaddr=192.168.1.10
netmask=255.255.255.0
serverip=192.168.1.107
Зачем нужно было менять дефолтные айпишники клиента и nfs сервера (см. выше в моем комменте)? Новички с ума сойдут, пытаясь понять, в чем дело
Зачем статический MAC прописывать? Они рандомные генерятся сами, ну или во всяком случае, должны, не знаю, как там настроено, лень копать и смотреть. В данном случае при загрузке двух или более камер в одной подсетке получится геморрой и для опытного сетевика (одинаковые MAC-и для нескольких девайсов), а для новичка, не умеющего копать wireshark-ом - непреодолимое препятствие.
В общем, совет. Попробуйте прошить дефолтную прошивку обратно, а потом по Вашей же статье самому пройтись и повторить написанное. Сбились - прошивайте снова дефолтную и начинайте сначала. Вы же для помощи людям писали статью, правильно?
Я своим студентам-подаванам примерно то же самое пытался объяснить год назад, немного помню, на чем обычно спотыкаются :)
Все по делу за исключение МАКа. В обычных камерах он забит в криптоблоке и изменить его нельзя. В OpenIPC его нужно прописать ручками иначе он станет 00:00:23:34:45:66.
А на Dahua/Hikvision(Hiwatch) такое бывает?
Многие модели из этих брэндов имеют поддерживаемые процессоры, но надо смотреть каждую конкретную камеру. Например dahua dh-ipc-hdw1220sp имеет поддерживаемый проц HI3516CV100.
Вот, пример Hikvison:
https://mixatronik.ru/videonablyudenie/openipc/zapusk-openipc-na-kamere-hikvision-ds-2cd2345f-is
Загружаем OpenIPC по сети на камеру без удаления заводской прошивки