1 (23.09.2011 23:54:21 отредактировано hxka)

Тема: Редактирование корневой ФС

Только под линуксом.

Загрузка образа в оперативную память

Подгружаем необходимые модули:

modprobe mtdblock
modprobe ubi
modprobe nandsim first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 fourth_id_byte=0x15

Если кому интересно, что за чёрная магия в параметрах последнего можуля, об этом можно почитать здесь, например. У нас на N900 256MiB, 2048 bytes page, его и эмулируем.
Проверяем, что всё работает:

cat /proc/mtd
dev:    size   erasesize  name
mtd0: 10000000 00020000 "NAND simulator partition 0"

ls -la /dev/mtd*
crw------- 1 root root 90, 0 2011-09-23 22:05 /dev/mtd0
crw------- 1 root root 90, 1 2011-09-23 22:05 /dev/mtd0ro
brw-rw---- 1 root disk 31, 0 2011-09-23 22:05 /dev/mtdblock0

Заливаем образ ФС в симулятор:

dd if=rootfs.jffs2 of=/dev/mtdblock0 bs=2048

Добавляем MTD к UBI:

ubiattach /dev/ubi_ctrl -m 0

Всё, можно монтировать!

mkdir /mnt/n900
mount -t ubifs ubi0_0 /mnt/n900/

Теперь можем делать в /mnt/n900, что хотим.

Упаковка обратно в образ

Упаковываем в ubifs:

mkfs.ubifs -m 2048 -e 129024 -c 2047 -r /mnt/n900/ rootfs_ubifs.jffs2

Упаковать можно всё, что угодно, не только загруженный ранее образ ubi.
Например, упаковка ранее созданного backupmenu бэкапа:

mkdir rootfs
tar xf *date*-rootfs.tar -C ./rootfs/
mkfs.ubifs -m 2048 -e 129024 -c 2047 -r ./rootfs/ rootfs_ubifs.jffs2

Создаём конфиг для UBI:

cat > cfg.ini << EOF
[rootfs]
mode=ubi
image=rootfs_ubifs.jffs2
vol_id=0
vol_size=160MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
vol_alignment=1
EOF

Помещаем ubifs в UBI:

ubinize -o rootfs_new.jffs2 -p 128KiB -m 2048 -s 512 cfg.ini

Всё, образ можно прошить:

flasher-3.5 -f -r rootfs_new.jffs2

Размонтируем фс:

umount /mnt/n900

Отключаем симулятор от UBI:

ubidetach -m 0

Выгружаем ненужные модули:

rmmod nandsim ubi mtdblock ubifs nand nand_ids nand_ecc mtdchar mtd_blkdevs mtd

Удаляем ненужный образ ubifs:

rm rootfs_ubifs.jffs2
A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться

2

Re: Редактирование корневой ФС

А что потом это даст?

???????????? - сотри монеткой, чтобы получить пароль от этого аккаунта

Поделиться

3

Re: Редактирование корневой ФС

Если ты задаёшь такие вопросы, тебе это 99% не нужно.

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться

4

Re: Редактирование корневой ФС

hxka
именно. Просто любопытно

???????????? - сотри монеткой, чтобы получить пароль от этого аккаунта

Поделиться

5

Re: Редактирование корневой ФС

Твой вопрос сам по себе странный. Вот выйдешь ты на улицу - что это даст? Да что угодно, куда хочешь, туда и иди, что хочешь, то и делай.

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться