TS-101 za kazdym restartem przywraca oryginalny autorun.sh

goro

Passing Basics
Beginner
Dec 6, 2008
15
0
1
Witam

Od paru tygodni jestem szczesliwym posiadaczem TS-101. Postanowilem go troche poustawiac po swojemu. Niestety glownym problem jest fakt, ze jakakolwiek zmiana pliku autorun.sh i tak nie odniesie skutku po restarcie, bo zostanie przywrocony defaultowy plik.

Code:
mkdir /tmp/mtd
mount /dev/mtdblock4 /tmp/mtd
vi /tmp/mtd/autorun.sh
umount /tmp/mtd
rmdir /tmp/mtd
reboot

Czy istnieje jakis inny sposob, aby pewne operacje zostaly wykonane po kazdym restarcie?
 
Obecna wersja firmware'u jest w moim podpisie, wczoraj zrobilem upgrade z wersji 2.3.0 Build 0825T, z ktora byl identyczny problem.
 
goro said:
jest w moim podpisie
sorry - znowu źle ustawiłem sobie forum i nie widziałem podpisów (obrazków też nie widzę )

w takim razie pozostaje tylko czekać na rozwiązanie przez kogoś kto dokładnie wie na czym ten problem polega :(
(ja dalej obstawiałbym jakiś bug w firmware - o ile procedura edycji/tworzenia autorun.sh była zgodna z zaleceniami)
 
poki co problem rozwiazalem w malo elegancki sposob.

w katalogu /mnt/HDA_ROOT stworzylem skrypt test.sh:
Code:
#!/bin/sh
if [ -e ~/.set_conf ]; then
	echo "[config] nothing to do.."
else
	echo "[config] configuring system.."
	touch ~/.set_conf	
	... inne komendy do wykonania

	echo "[config] done."
fi

nastepnie do /etc/config/crontab dodalem taki wpis:
Code:
*/2 * * * * /mnt/HDA_ROOT/test.sh

co kazde 2 minuty cron odpala skrypt test.sh, ktory to sprawdza czy w katalogu roota znajduje sie ukryty plik .set_conf. jezeli go nie ma to znaczy, ze byl restart i trzeba na nowo skonfigurowac serwer. jednak byloby milo gdyby ktos poratowal jak jednak zmodyfikowac autorun.sh zeby tego typu konfiguracje serwera przeprowadzac tylko raz na starcie systemu.

ps. nie wiem czemu ale nie moge ustawic zmiennej globalnej z poziomu skryptu, ktora bedzie potem widoczna z poziomu shella.
Code:
export MOJAZMIENNA = 1
echo $MOJAZMIENNA
 
w koncu mi sie udalo zapisac cos do autorun.sh i przetrwac reboot ;)

Code:
mkdir /tmp/mtd
mount /dev/mtdblock4 /tmp/mtd
vi /tmp/mtd/autorun.sh
chmod +x autorun.sh
umount /tmp/mtd
rmdir /tmp/mtd
reboot

wydawalo mi sie ze nie musze ponownie ustawiac atrybutu execute dla pliku autorun.sh.
 
:) to dobrze że się wreszcie udało

Note

1. Make sure you unmount the devices before the NAS is rebooted.
2. Make sure the autorun.sh files are marked as executable (chmod +x autorun.sh)

czyli błąd w sztuce a nie kolejny bug w firmware - choć tyle na plus :)

natomiast co do niedziałającego export to nie wiem jak to ugryźć - może odpalę w domu jakies livecd i sprawdzę o co chodzi
- na qnapie export zmiennej działa do zakończenia skrytpu
po wyjściu ze skryptu zmiennej brak - może to trzeba ustawiać gdzie indziej? w środowisku? (wtedy skrypt powinien chyba dopisywać coś do plików startowych związanych z ustawianiem bash-a?)
 
no wlasnie dziala tylko w obrebie danego skryptu, a o ile sie dobrze orientuje to dyrektywa export powinna tworzyc zmienna srodowiskowa globalna.