Автоматизация восстановления loader.conf

Jul 25, 2013 01:23

Более не актуально. С 847 версии loader.conf можно править через System|Advanced|loader.conf
При апгрейде версий embedded (!) nas4free приходится руками восстанавливать файл loader.conf Мне надоело и я процесс у себя автоматизировал.

ПРЕДУПРЕЖДЕНИЕ. У меня всё работает, но не могу обещать, что будет работать у всех. Например, у меня системный раздел на флешке /dev/da0s1a, а у вас может быть другое имя раздела. Ну и просто напортачить я мог в скрипте. Так что считаем пока бета версией.

Подготовительная работа - сохраняем правильный loader.conf
mkdir /mnt/Flash/loader
cp -v /cf/boot/loader.conf /mnt/Flash/loader
cd /mnt/Flash/loader

Создаём скрипт
nano PushLoaderConf.sh

#!/bin/sh
if test -f /cf/boot/loader.marker
then
echo loader.conf is OK
exit
else
echo overwriting loader.conf...

umount /cf && mount /dev/da0s1a /cf && touch /cf/boot/loader.marker && cp /mnt/Flash/loader/loader.conf /cf/boot/ && echo sucess &&  shutdown -r now

fi

Ctrl-X
Y
Enter

Делаем исполняемым
chmod o+x PushLoaderConf.sh

Теперь стоит погонять в командной строке, если всё ОК - вставить в System|Advanced|Command scripts как PostInit

Что делает скрипт.
Проверяет наличие маркерного файла на системном разделе флешки. Если он там есть - ничего не делает.
Если его нет - считает, что был апгрейд и loader.conf надо из бекапа переписать.
Перемонтирует системный раздел флешки в rw, создаёт маркерный файл, копирует из бекапа loader conf, перезагружает систему, чтобы настройки вступили в силу. Если какая-то команда в цепочке завершится неудачей - перезагрузки не будет.

nas, nas4free

Previous post Next post
Up