LinuxForum.Fans
Тема

uClinux distribution SwitchFin

Автор: matskin 18 сообщений 8141 просмотров
12.12.2013 13:34 #354574

Welcome to the uClinux distribution SwitchFin
For embedded telephony based on the Analog Devices Blackfin - это приветствие я вижу в консоли.

Уже несколько дней пытаюсь изменить дефолтный пароль рута. Ничего не получается.
Кто знает эту систему, помогите, пожалуйста!

12.12.2013 13:39 #354576
text
boot:> linux init=/bin/bash rdinit= ro root=/dev/sda1
...
# passwd root

Что, не помогает? Способ по крайней мере до недавних пор был кросс-дистрибутивным и действовал безотказно.

12.12.2013 13:44 · отредактировано #354578

ввел команды:

root@ip0x:~> init=/bin/bash rdinit=ro root=/dev/sda1
root@ip0x:~> passwd
Enter new Unix password:
Re-enter new Unix password:
root@ip0x:~> reboot

Не помогло.
В чем может быть причина?

12.12.2013 13:57 #354580

Это пример передачи параметров ядру через загрузчик Lilo. Когда появляется его интерфейс, можно нажать Tab, затем на приглашение (boot:>) ответить первой строчкой, приведенной выше. Только название пункта меню загрузчика (linux) надо подставить свое. Узнать это имя можно, нажав Tab еще раз. С GRUB/GRUB2 по-другому. Когда система загрузится, можно сделать passwd. И да, раз сообщений об ошибках не было, то пароль просто не сохраняется, например потому, что корневая файловая система в образе squashfs. Тогда его нужно заново пересоздать - распаковать, сделать chroot в тот каталог, куда распаковали, сделать там passwd и запаковать обратно. Это же дистрибутив для embedded (встраиваемых) систем, так что скорее всего дела обстоят именно так.

12.12.2013 14:02 #354581

Не пробовали

text
user: admin
password: switchfin
12.12.2013 14:14 #354585
Lupo Alberto написал:
Не пробовали
text
user: admin
password: switchfin

Через вэб интерфейс я захожу и, там же, могу изменить пароль, с этим все замечательно.
Я подключен к устройству через COM-порт терминальной программой.
Загрузчика, в момент старта "железки", не наблюдается, могу выслать лог загрузки, если нужно.
Мне нужно изменить пароль суперадмина (root).
Перепробовал множество вариантов, пароль сменить не удалось.

12.12.2013 14:25 · отредактировано #354588

Лог загрузки системы:

Показать
text
U-Boot 1.1.5 (Jun  6 2012 - 11:14:13)

CPU: ADSP BF532 Rev.: 0.6 Board: IP04 IP-PBX [url]http://www.rowetel.com/ucasterisk/ip04.html[/url] Clock: VCO: 400 MHz, Core: 400 MHz, System: 133 MHz SDRAM: 64 MB In: serial Out: serial Err: serial 256 MiB DM9000#0 starting from spi flash Hit any key to stop autoboot: 0

Loading from device 0: NAND 256MiB 3,3V 8-bit (offset 0x0) Image Name: Linux Kernel and ext2 Image Type: Blackfin Linux Kernel Image (gzip compressed) Data Size: 8929711 Bytes = 8.5 MB Load Address: 00001000 Entry Point: 00247bd4 ## Booting image at 01000000 ... Image Name: Linux Kernel and ext2 Image Type: Blackfin Linux Kernel Image (gzip compressed) Data Size: 8929711 Bytes = 8.5 MB Load Address: 00001000 Entry Point: 00247bd4 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting Kernel at = 247bd4 Linux version 3.0.8-ADI-2011R1switchfin (an@fant) (gcc version 4.3.5 (ADI-2011R1-RC4) ) #9 Wed Nov 21 18:57:52 EET 2012 register early platform devices Found mtd parition at 0x00260000, (len=0x1400000), moving to 0x02b00000 Board Memory: 64MB Kernel Managed Memory: 64MB Memory map: fixedcode = 0x00000400-0x00000490 text = 0x00001000-0x0019dae8 rodata = 0x0019dae8-0x00219990 bss = 0x0021a000-0x0022bfac data = 0x0022bfc0-0x00244000 stack = 0x00242000-0x00244000 init = 0x00244000-0x00260000 available = 0x00260000-0x02b00000 rootfs = 0x02b00000-0x03f00000 DMA Zone = 0x03f00000-0x04000000 Hardware Trace active and enabled Boot Mode: 6 Blackfin support (C) 2004-2010 Analog Devices, Inc. Compiled for ADSP-BF532 Rev 0.6 Blackfin Linux support by [url]http://blackfin.uclinux.org/[/url] Processor Speed: 400 MHz core clock and 133 MHz System Clock NOMPU: setting up cplb tables Instruction Cache Enabled for CPU0 External memory: cacheable in instruction cache Data Cache Enabled for CPU0 External memory: cacheable (write-back) in data cache Built 1 zonelists in Zone order, mobility grouping off. Total pages: 10922 Kernel command line: root=/dev/mtdblock0 rw ethaddr=DC:0E:A1:68:2D:1D ip=10.10.20.33:10.10.20.200:10.10.20.93:255.255.255.0:BF1:eth0:off PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory available: 40992k/65536k RAM, (112k init code, 1650k kernel code, 666k data, 1024k dma, 612k reserved) SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:81 Configuring Blackfin Priority Driven Interrupts console [ttyBF0] enabled Calibrating delay loop... 792.57 BogoMIPS (lpj=1585152) pid_max: default: 32768 minimum: 301 Security Framework initialized Mount-cache hash table entries: 512 Blackfin Scratchpad data SRAM: 4 KB Blackfin L1 Instruction SRAM: 32 KB (20 KB free) NET: Registered protocol family 16 Blackfin DMA Controller ip0x_init(): chip_id=627A50CB,dspid=E5040006 ip0x_init(): registering nand resources ip0x_init(): registering platform devices ip0x_init(): registering spi devices bio: create slab <bio-0> at 0 SCSI subsystem initialized bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs@ffc00500, dma channel@5 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource bfin_cs_cycles NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 msgmni has been set to 80 io scheduler noop registered io scheduler cfq registered (default) bfin-uart: Blackfin serial driver bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 13) is a BFIN-UART bfin_sport: registered sport0 bfin_sport: registered sport1 brd: module loaded uclinux[mtd]: RAM probe address=0x2b00000 size=0x1400000 Creating 1 MTD partitions on "RAM": 0x000000000000-0x000001400000 : "ROMfs" Generic platform RAM MTD, (c) 2004 Simtec Electronics m25p80 spi0.10: found m25p16, expected m25p64 m25p80 spi0.10: m25p16 (2048 Kbytes) Creating 2 MTD partitions on "m25p80": 0x000000000000-0x000000020000 : "boot loader(spi)" 0x000000020000-0x000000080000 : "linux kernel(spi)" NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit) Scanning device for bad blocks Bad eraseblock 309 at 0x0000026a0000 Bad eraseblock 360 at 0x000002d00000 Bad eraseblock 499 at 0x000003e60000 Bad eraseblock 1116 at 0x000008b80000 Bad eraseblock 1136 at 0x000008e00000 Bad eraseblock 1416 at 0x00000b100000 Bad eraseblock 1442 at 0x00000b440000 Bad eraseblock 1695 at 0x00000d3e0000 Bad eraseblock 1707 at 0x00000d560000 Bad eraseblock 1761 at 0x00000dc20000 Bad eraseblock 1922 at 0x00000f040000 Bad eraseblock 2040 at 0x00000ff00000 Creating 3 MTD partitions on "gen_nand": 0x000000000000-0x000000a00000 : "linux kernel(nand)" 0x000000a00000-0x000001400000 : "linux kernel backup(nand)" 0x000001400000-0x000010000000 : "persistent file system(nand)" tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> dm9000 Ethernet Driver, V1.31 dm9000 dm9000.0: eth%d: Invalid ethernet MAC address. Please set using ifconfig eth0: dm9000e at 20100000,20100002 IRQ 48 MAC: 62:ed:87:49:fa:6a (random) dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: read wrong id 0x2b2a2928 dm9000 dm9000.1: wrong id: 0x2b2a2928 dm9000 dm9000.1: not found (-19). Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. bfin-wdt: initialized: timeout=20 sec (nowayout=0) nf_conntrack version 0.5.0 (640 buckets, 2560 max) ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 dm9000 dm9000.0: eth0: link down dm9000 dm9000.0: eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1 IP-Config: Complete: device=eth0, addr=10.10.20.33, mask=255.255.255.0, gw=10.10.20.93, host=BF1, domain=, nis-domain=(none), bootserver=10.10.20.200, rootserver=10.10.20.200, rootpath= dma_alloc_init: dma_page @ 0x010fc000 - 256 pages at 0x03f00000 VFS: Mounted root (ext2 filesystem) on device 31:0. Freeing unused kernel memory: 112k freed UBI: attaching mtd5 to ubi0 UBI: physical eraseblock size: 131072 bytes (128 KiB) UBI: logical eraseblock size: 129024 bytes UBI: smallest flash I/O unit: 2048 UBI: sub-page size: 512 UBI: VID header offset: 512 (aligned 512) UBI: data offset: 2048 UBI: max. sequence number: 191 UBI: attached mtd5 to ubi0 UBI: MTD device name: "persistent file system(nand)" UBI: MTD device size: 236 MiB UBI: number of good PEBs: 1876 UBI: number of bad PEBs: 12 UBI: number of corrupted PEBs: 0 UBI: max. allowed volumes: 128 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 1 UBI: available PEBs: 0 UBI: total number of reserved PEBs: 1876 UBI: number of PEBs reserved for bad PEB handling: 18 UBI: max/mean erase counter: 1/0 UBI: image sequence number: 576520149 UBI: background thread "ubi_bgt0d" started, PID 290 UBI device number 0, total 1876 LEBs (242049024 bytes, 230.8 MiB), available 0 LEBs (0 bytes), LEB size 129024 bytes (126.0 KiB) UBIFS: recovery needed UBIFS: recovery completed UBIFS: mounted UBI device 0, volume 0, name "persistent" UBIFS: file system size: 237791232 bytes (232218 KiB, 226 MiB, 1843 LEBs) UBIFS: journal size: 11870208 bytes (11592 KiB, 11 MiB, 92 LEBs) UBIFS: media format: w4/r0 (latest is w4/r0) UBIFS: default compressor: lzo UBIFS: reserved for root: 4952683 bytes (4836 KiB) Checking for upload image to program We already have unpacked default configuration... Checking if the reset button is pressed mmc_spi spi0.13: ASSUMING 3.2-3.4 V slot power mmc_spi spi0.13: SD/MMC host mmc0, no DMA, no WP, no poweroff mmc_spi spi0.13: setup: unsupported mode bits 4 mmc_spi spi0.13: can't change chip-select polarity mount: mounting /dev/mmcblk0p1 on /mnt/sd failed: No such device or address no sd/mmc card found VLAN not configured! dahdi: Telephony Interface Registered on major 196 dahdi: Version: 2.5.0.2 bfsi_sport_init res: 1 After DASIY port: 1 port_type: S port: 2 port_type: S port: 3 port_type: S port: 4 port_type: O port: 5 port_type: - port: 6 port_type: - port: 7 port_type: - port: 8 port_type: - Start manual calibration Module 0: Installed -- AUTO FXS Start manual calibration Module 1: Installed -- AUTO FXS Start manual calibration Module 2: Installed -- AUTO FXS Module 3: Installed -- AUTO FXO (RUSSIA mode) Found: Blackfin IP0x (8 modules) wcfxs_init_ok = 1 dahdi_echocan_oslec: Registered echo canceler 'OSLEC' modprobe: module wltc not found in modules.dep ping: bad address 'downloads.digium.com' __________________________________________________ / \ / Welcome to the uClinux distribution \ a8888b. / ______ _ _ ______ (TM) \ d888888b. / / ____/ _ _ (_)_ ___ / / / ___(_)____ | 8P"YP"Y88 / / /__ / / / / / /_/ __/ /_ / /_ / / __ \ | 8|o||o|88 \ (____ )/ /_/\/ / / __/ / / _ \/ __/ / / / / | 8' .88 \ _____/ / / / /_/ /_/ / / / / / / / / / | 8`._.' Y8. \ /______/_/\_/\_/_/\__/\__/_/ /_/_/ /_/_/ /_/ | d/ `8b.____/ \ | dP . Y8b. \ For embedded telephony based on | d8:' " `::88b \ the Analog Devices Blackfin / d8" 'Y88b \_________________________________________________/ :8P ' :888 8a. : _a88P For further information, check out: ._/"Yaa_: .| 88P| - [url]http://www.switchfin.org[/url] \ YP" `| 8P `. - [url]http://blog.astfin.org[/url] / \.___.d| .' - [url]http://blackfin.uclinux.org[/url] `--..__)8888P`._.' - [url]http://www.asterisk.org[/url]

ephony based on | d8:' " `::88b \ the Analog Devices Blackfin / d8" 'Y88b \_________________________________________________/ :8P ' :888 8a. : _a88P For further information, check out: ._/"Yaa_: .| 88P| - [url]http://www.switchfin.org[/url] \ YP" `| 8P `. - [url]http://blog.astfin.org[/url] / \.___.d| .' - [url]http://blackfin.uclinux.org[/url] `--..__)8888P`._.' - [url]http://www.asterisk.org[/url]

IP02/IP04/IP08 powered by Switchfin IP04 login:

12.12.2013 14:27 #354589

Так я же говорю, он не сохраняется, похоже, потому, что корневая ФС запакована в squashfs, а /etc/{passwd,shadow,groups} лежат там. Пароль меняется, но только до первой перезагрузки. А через web-интерфейс меняется не пароль рута, а какого-нибудь второго администратора, а его пароль хранится отдельно в какой-нибудь базе данных. Вывод - надо кастомизировать прошивку этого устройства.

12.12.2013 14:33 #354590
yars написал:
Так я же говорю, он не сохраняется, похоже, потому, что корневая ФС запакована в squashfs, а /etc/{passwd,shadow,groups} лежат там. Пароль меняется, но только до первой перезагрузки. А через web-интерфейс меняется не пароль рута, а какого-нибудь второго администратора, а его пароль хранится отдельно в какой-нибудь базе данных. Вывод - надо кастомизировать прошивку этого устройства.

Кстати, в /etc/passwd было три пользователя с зашифрованными паролями. Я отредактировал его в vi (удалил все кроме рута) и после перезагрузки содержимое файла выглядит вот так:


BusyBox v1.18.4 (2012-11-19 14:35:45 EET) hush - the humble shell
Enter 'help' for a list of built-in commands.

root@ip0x:~> cat /etc/passwd
root:C7O0oWtNuGHNE:0:0:root:/:/bin/sh
root@ip0x:~>

12.12.2013 15:03 #354601
"yars" написал:
надо кастомизировать прошивку этого устройства

Кто-нибудь может в этом помочь?

12.12.2013 15:18 #354606

Я сомневаюсь, что смог бы именно сейчас, вот позднее - возможно. И, судя по вашему предыдущему сообщению таки можно обойтись без этого. Хотя обычно сейчас в /etc/passwd пароли не хранятся, а хранятся они в /etc/shadow именно в зашифрованном виде. Так, как у вас было раньше, сейчас же вместо пароля обычно стоит "х". Попробуйте ради эксперимента добавить пользователя без пароля, и посмотрите, какие записи появятся в /etc/{passwd,group}. А файла shadow, если не ошибаюсь, может и не быть.

12.12.2013 15:39 #354610

Отредактировал файл passwd, вместо существующего пароля вписал 7b7bc2512ee1fedcd76bdc68926d4f7b (вычитал, что это - Administrator для MD5).
т.е.

text
root:7b7bc2512ee1fedcd76bdc68926d4f7b:0:0:root:/:/bin/sh

вместо

text
root:C7O0oWtNuGHNE:0:0:root:/:/bin/sh

Теперь, вообще, не могу попасть в систему :-)

12.12.2013 21:53 #354677

Ну, я же говорил, добавить пользователя штатными средствами вроде useradd. Теперь придется делать аппаратный сброс, если устройство позволяет, обычно это несложно. Так что прошу меня простить, но вы - Сам Себе Злобный Буратино :-)

13.12.2013 20:01 #354853

Восстановил систему.
Вот так выглядит содержимое файла passwd:

text
root:C7O0oWtNuGHNE:0:0:root:/:/bin/sh
nobody:x:99:99:Nobody::
boa:x:0:0:boa::

Прочитал на сайте производителя следующее:


To change the root password, on a x86 Linux box:
perl -e 'print "crypt("yourpassword", "yoursalt")","\n"'
to generate the password and copy/paste in /etc/passwd on your IP04.

Команда не работает, но смысл понятен, что нужно сгенерировать пароль и вставить его в файл passwd.
Знатоки, посоветуйте, пожалуйста, правильную команду генерации пароля.

14.12.2013 10:38 · отредактировано #354923

Нашел "правильный" онлайн генератор паролей.
Сначала подобрал код текущего пароля, затем, по аналогии сгенерировал новый пароль.
Вставил код в файл, перезагрузил, все работает.
Вот такой я "Злобный Буратино" :D

P.S. Команда useradd(adduser) не работает.

14.12.2013 18:00 #355033

В смысле, "команда не найдена"? Ну да, но, ИМХО, было б логично их туда перенести. Почему разработчики несколько килобайт пожалели - неясно.
А вопрос, стало быть, решен и тему можно пометить как решенную?

16.12.2013 11:57 #355332
"yars" написал:
вопрос, стало быть, решен и тему можно пометить как решенную?

Вопрос решен, всем спасибо!

19.11.2014 23:27 #401738
matskin написал:
Нашел "правильный" онлайн генератор паролей.
Сначала подобрал код текущего пароля, затем, по аналогии сгенерировал новый пароль.
Вставил код в файл, перезагрузил, все работает.
Вот такой я "Злобный Буратино" :D

P.S. Команда useradd(adduser) не работает.

Тоже хочу так сделать, на той же системе. Никак не найду генератор паролей этот. Поделитесь?

Войдите или зарегистрируйтесь, чтобы ответить.