LINUX.ORG.RU

просвятите по rootfs в embedded linux

 


0

2

Есть устройство, мне необходимо поправить пару строчек в /etc/init.d/rcS. Вношу изменения в файл, а после перезагрузки все изменения теряются, файл имеет исходный вид.

root@10_00_0_00:/etc/init.d$ mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw,relatime)
sys on /sys type sysfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
/dev/mtdblock2 on /config type minix (ro,relatime)
/dev/mtdblock6 on /usr/protype yaffs2 (rw,relatime)

Как мне поправить файл так, чтобы изменения сохранились..


подозреваю, надо переформировать initrdfs - в ядре она или отдельным куском где-то лежит - зависит от...

Elyas ★★★★★ ()
Ответ на: комментарий от Dr0id

Если нет доступа к отладочной консоли (по сериал порту например), то сложно наверно.Вероятно можно снять дамп флешки и изучить. Для начальной ориентировки хотя бы посмотреть(если есть) имена mtd разделов в dmesg.

Elyas ★★★★★ ()
Последнее исправление: Elyas (всего исправлений: 1)
Ответ на: комментарий от Elyas

Неа , есть только ssh и не более того..

root@107878:/$ dmesg
[    0.000000] Linux version 2.6.31 (root@tzone1-22) (gcc version 4.4.2 (crosstool-NG-1.9.2) ) #2 Wed Nov 21 16:34:38 MSK 2012
[    0.000000] CPU: XScale-IXP43x Family [69054041] revision 1 (ARMv5TE), cr=000039ff
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Intel KIXRP435 Reference Platform
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c03e9360, node_mem_map c4000000
[    0.000000]   DMA zone: 128 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 16256 pages, LIFO batch:3
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 16256 pages, LIFO batch:3
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 128MB = 128MB total
[    0.000000] Memory: 125768KB available (2396K code, 183K data, 1456K init, 0K highmem)
[    0.000000] NR_IRQS:64
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Calibrating delay loop... 653.72 BogoMIPS (lpj=3268608)
[    0.230000] Mount-cache hash table entries: 512
[    0.230000] Initializing cgroup subsys ns
[    0.230000] Initializing cgroup subsys cpuacct
[    0.230000] CPU: Testing write buffer coherency: ok
[    0.230000] NET: Registered protocol family 16
[    0.230000] IXP4xx: Using 16MiB expansion bus window size
[    0.230000] PCI: IXP4xx is host
[    0.230000] PCI: IXP4xx Using direct access for memory space
[    0.230000] PCI: bus0: Fast back to back transfers enabled
[    0.240000] bio: create slab <bio-0> at 0
[    0.250000] NET: Registered protocol family 2
[    0.250000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.250000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.250000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.250000] TCP: Hash tables configured (established 4096 bind 4096)
[    0.250000] TCP reno registered
[    0.250000] NET: Registered protocol family 1
[    2.080000] yaffs Nov 21 2012 16:26:31 Installing.
[    2.080000] msgmni has been set to 245
[    2.090000] alg: No test for stdrng (krng)
[    2.090000] io scheduler noop registered
[    2.090000] io scheduler anticipatory registered (default)
[    2.090000] io scheduler deadline registered
[    2.090000] io scheduler cfq registered
[    2.110000] Serial: 8250/16550 driver, 1 ports, IRQ sharing [    6.950000] ixp400_eth: Use default MAC address 00:02:b3:02:02:02 for port 1
[    7.020000] Lincore Real Time Clock Driver v1.2.0.2
[    7.020000] host board id f revision f
[    7.020000] interface board id f revision f
[    7.170000] cs_ctrl_reg_val: 0x80c00003
[    7.180000] call nand scan...
[    7.180000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)
[    7.190000] Scanning device for bad blocks
[    7.230000] Bad eraseblock 753 at 0x000005e20000
[    7.310000] chip_size: 268435456
[    7.310000] page_shift: 11
[    7.310000] numchips: 1
[    7.350000] yaffs: dev is 32505862 name is "mtdblock6"
[    7.350000] yaffs: passed flags ""
[    7.350000] yaffs: Attempting MTD mount on 31.6, "mtdblock6"
[    7.480000] yaffs: restored from checkpoint
[    7.480000] yaffs_read_super: isCheckpointed 1
[   49.510000] consul5 device driver, version 2.5.0.2, build 102
[   49.510000] consul5 consul5_init: CONSUL Board rev: c270
[   64.600000] warning: process `Mak' used the deprecated sysctl system call with 8.1.2.
[   66.730000] warning: process `Mak' used the deprecated sysctl system call with 8.1.2.
[   66.790000] waiting maintenance thread start . done

[ 1859.030000] yaffs: dev is 32505861 name is "mtdblock5"
[ 1859.030000] yaffs: passed flags ""
[ 1859.030000] yaffs: Attempting MTD mount on 31.5, "mtdblock5"
[ 1859.030000] yaffs: MTD device is not NAND it's type 3
[ 1859.030000] yaffs: dev is 32505861 name is "mtdblock5"
[ 1859.030000] yaffs: passed flags ""
[ 1859.030000] yaffs: Attempting MTD mount on 31.5, "mtdblock5"
[ 1859.030000] yaffs: MTD device is not NAND it's type 3
[ 1863.190000] yaffs: dev is 32505860 name is "mtdblock4"
[ 1863.190000] yaffs: passed flags ""
[ 1863.190000] yaffs: Attempting MTD mount on 31.4, "mtdblock4"
[ 1863.190000] yaffs: MTD device is not NAND it's type 3
[ 1863.190000] yaffs: dev is 32505860 name is "mtdblock4"
[ 1863.190000] yaffs: passed flags ""
[ 1863.190000] yaffs: Attempting MTD mount on 31.4, "mtdblock4"
[ 1863.190000] yaffs: MTD device is not NAND it's type 3
[ 1871.200000] yaffs: dev is 32505857 name is "mtdblock1"
[ 1871.200000] yaffs: passed flags ""
[ 1871.200000] yaffs: Attempting MTD mount on 31.1, "mtdblock1"
[ 1871.200000] yaffs: MTD device is not NAND it's type 3
[ 1871.200000] yaffs: dev is 32505857 name is "mtdblock1"
[ 1871.200000] yaffs: passed flags ""
[ 1871.200000] yaffs: Attempting MTD mount on 31.1, "mtdblock1"
[ 1871.200000] yaffs: MTD device is not NAND it's type 3
root@10_67:/$

Dr0id ()

Если ты не знаешь как раскирпичить плату, то лучше ничего не делай.

Судя по всему у тебя изменения деплоятся с ro образа. Слей его, попробуй перепаковать на десктопе. Проверь с mtdram. Потом влей обратно. Хотя по возможности лучше избегать прямых записей, могут быть непонятки с CRC/ECC

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Неа, я делал его rw, через mount-o remount, писал изминения , но после рестарта все сбрасывалось.

/dev/mtdblock2 on /config type minix (ro,relatime) 

Dr0id ()
Ответ на: комментарий от Dr0id

Посмотри исходники на предмет того, как собирается рутфс. В худшем случае ты можешь перепаковать/перезалить этот твой minix, если знаешь что это такое

vasily_pupkin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.