Путём некоторых неудачных экспериментов, связанных с работой с файлами в разделе MyDocs, есть риск получить систему без разделов MyDocs и MicroSD. Всё это из-за того, что слетает разметка раздела. Помочь может подключение по usb к компьютеру с Windows и проверка диска на ошибки, но как быть если usb сломан?
Ознакомиться со структурой файловой системы можно на ВИКИ, или чуть ниже в таблице.
| File manager path | Real path | Size of the partition | Partition Type | Device |
|---|---|---|---|---|
| root |
/ |
256 MiB | rootfs | Built in to processor chip |
| space for software installations etc. |
/home |
2 GiB | ext3 | Partition of 32 GB memory chip |
| Nokia N900 |
/home/user/MyDocs |
27 GiB | vfat (default) | Partition of 32 GB memory chip |
| Memory card |
/media/mmc1 |
Memory card's size | N/A | microSD memory card |
| Swap | - | 768 MiB | swap |
Partition of 32 GB memory chip |
Можно выполнить fsck, но в моём случае процесс принимает циклический характер, поэтому бесполезен. Такой же результат при попытке сделать это через BackupMenu.
Раньше была консольная программа cfdisk, но сейчас почему-то она не работает. Однако, путём смекалки и благодаря ЭТОЙ СТАТЬЕ я понял как можно вернуть всё в работоспособное состояние. Единственный минус - будет форматирован весь раздел. Пришлось некоторое время погуглить, чтобы найти нужную команду для этой операции, и так:
# mkfs.vfat /dev/mmcblk0p1
После этого спокойно перезагружаем телефон и телефон снова видит все разделы.
СТАТЬЯ:
Что мы имеем в обычном варианте поставки: Львиная доля флэшки отдана под fat раздел, 2gb занимает /home. Я часто копирую какие то крупные файлы на телефон, фильмы и.... Загнать на fat файл более 4gb нельзя - это удручает, более удручают ошибки файловой системы fat, переодически случающиеся. Нижеследующая инструкция тупо меняет шило на мыло: 26 гигов под /home в ext3, 2gb - fat в /home/user/MyDocs, чтобы камера N900 нормально работала.... И "на сладкое" - скрипт, который освобождает место на rootfs, использую несколько другой способ чем стандартный при "недостаточно памяти в выбранном расположении"
Инструкция взята здесь . И за неё я безмерно благодарен автору. Однако, если вы, как и я будете ей верно следовать, перепрошивка аппарата вам гарантирована. Посему - никого не слушаем, думаем своей головой и осознаём всю падающую на наши плечи ответственность. Бэкапимся не только на внутреннюю карту но и на внешние носители, магниты на холодильнике, бумажные записные книжки...
Подразумевается, что у нас есть под рукой root доступ, и отформатированная в ext3 microsd карточка, вставленная в телефон. Карточка будет использоваться для бэкапа /home и /home/user/MyDocs
Монтируем карточку в /media/0
$ mkdir /media/0/n900
$ cp -r ~/MyDocs /media/0/n900/
$ wget -c http://sumoudou.org/n900/fdisk
Первой командой - на карточке создаётся директория для копирования. Второй - копируется содержимое директории MyDocs. третья команда скачивает fdisk с сайта автора инструкции. Мне вполне хватило cfdisk который нашёлся в репозиториях.
Еще вариант, получить fdisk способом, описанным https://garage.maemo.org/plugins/wiki/i … amp;type=g
mkdir -p /home/user/util-linux /home/user/bin
cd /home/user/util-linux
wget http://ftp.de.debian.org/debian/pool/main/u/util-linux/util-linux_2.13.1.1-1_armel.deb
dpkg-deb -x util-linux_2.13.1.1-1_armel.deb root
cp root/sbin/fdisk /home/user/bin/
cd ..
rm -rf util-linux
Итак...
# umount /home/user/MyDocs
# cp -a /home /media/0/n900/
# ./fdisk /dev/mmcblk0
Под рутом : отмонтируется MyDocs. Копируется для сохранения на sd карту директория /home. Последняя команда запускает fdisk. Нужно изменить тип 1й партиции mmcblk0p1 на 83 (Linux), сохранить и выйти.
# mkfs.ext3 /dev/mmcblk0p1
# mount /dev/mmcblk0p1 /home/
cd /media/0/n900/home
cp -r * /home/
Создаём файловую систему ext3 на mmcblk0p1. Монтируем диск mmcblk0p1 в директорию /home/. Идём в директорию с бэкапом и копируем всё home обратно.
Перезагружаемся. /dev/mmcblk0p1 будет смонтирован как /home, /dev/mmcblk0p2 не будет смонтирован.
#./fdisk /dev/mmcblk0
Снова запускаем fdisk. Для второй партиции нужно изменить тип диска на c, FAT. fat раздел нам нужен для того чтобы примонтировать его как ~/MyDocs, иначе камера Nokia N900 не сможет сохранять изображения. Сохраняем таблицу разделов и выходим.
# mkfs.vfat /dev/mmcblk0p2
mount -t vfat /dev/mmcblk0p2 /home/user/MyDocs
mv -r /media/0/n900/MyDocs/* /home/user/MyDocs
rm -r /media/0/n900
Создаём файловую систему fat на /dev/mmcblk0p2. Монтируем его как /home/user/MyDocs. Перемещаем в него файлы из бэкапа. Удаляем бэкап.
Редактируем файл /etc/event.d/rcS-late под рутом и после строки:
/bin/mount /home || echo "Failed to mount /home partition."
добавляем строку:
/bin/mount /home/user/MyDocs
Запускаем скрипт который переносит и линкует, освобождая нам rootfs
mkdir -p /home/root/usr/share
cd /usr/
for FILE in games include local src var
do
mv $FILE /home/root/usr/
ln -s /home/root/usr/$FILE /usr/
done
mkdir -p /home/root/var/cache
cd /var/cache/
for FILE in apt
do
mv $FILE /home/root/var/cache/
ln -s /home/root/var/cache/$FILE /var/cache/
done
cd /usr/share/
for FILE in fonts icons locale mime nokia-maps pixmaps sounds themes tutorial-applet zoneinfo
do
mv $FILE /home/root/usr/share/
ln -s /home/root/usr/share/$FILE /usr/share/
done
mkdir /home/root/usr/share/games
ln -s /home/root/usr/share/games .
Перезагружаемся.
В итоге:
111 Mб освободилось в /
/home с 23 Gb свободными в ext3
/home/user/MyDocs в FAT - 2 Gigs
Поправки/замечания приветствуются...
Пойду восстанавливать контакты по syncml.... ![]()
P.S. Как правильно заметил Globster бэкап и разворачивание его лучше делать tar`ом. Не забудьте принадлежность директорий и файлов в /home/user/ - user:users