1

Тема: uClinux distribution SwitchFin

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

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

2

Re: uClinux distribution SwitchFin

boot:> linux init=/bin/bash rdinit= ro root=/dev/sda1
...
# passwd root

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

3 (12.12.2013 12:52:29 отредактировано matskin)

Re: uClinux distribution SwitchFin

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

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

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

4

Re: uClinux distribution SwitchFin

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

5

Re: uClinux distribution SwitchFin

Не пробовали

user: admin
password: switchfin

6

Re: uClinux distribution SwitchFin

Lupo Alberto пишет

Не пробовали

user: admin
password: switchfin

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

7 (12.12.2013 15:48:08 отредактировано matskin)

Re: uClinux distribution SwitchFin

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

+ открыть спойлер
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:

8

Re: uClinux distribution SwitchFin

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

9

Re: uClinux distribution SwitchFin

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:~>

10

Re: uClinux distribution SwitchFin

yars пишет

надо кастомизировать прошивку этого устройства

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

11

Re: uClinux distribution SwitchFin

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

12

Re: uClinux distribution SwitchFin

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

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

вместо

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

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

13

Re: uClinux distribution SwitchFin

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

14

Re: uClinux distribution SwitchFin

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

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.
Знатоки, посоветуйте, пожалуйста, правильную команду генерации пароля.

15 (14.12.2013 09:42:43 отредактировано matskin)

Re: uClinux distribution SwitchFin

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

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

16

Re: uClinux distribution SwitchFin

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

17

Re: uClinux distribution SwitchFin

yars пишет

вопрос, стало быть, решен и тему можно пометить как решенную?

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

18

Re: uClinux distribution SwitchFin

matskin пишет

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

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

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