[Armadillo:05569] Re: romfsインストールツールについて

nakai email@hidden
2010年 8月 4日 (水) 21:44:26 JST


nakaiです。

>> cd atmark-dist/vendors/AtamrkTechno/Armadillo-240.Base/etc
>> cp passwd config/
>> rm passwd
>> ln -s config/passwd passwd

こうしたと思いますが、

cd atmark-dist/vendors/AtamrkTechno/Armadillo-240.Base/etc
cp passwd default/
rm passwd

にしてくれませんか?

起動時にflatfsdは、コンフィグ領域に正常のファイルシステムイメージがある場合には、
そのイメージで/etc/configを復元しますが、異常の場合は/etc/defaultからコピーします。
そのため、/etc/defaultを変更した場合は、一度flatfsd -wでコンフィグ領域を初期化する
必要があります。

また、Armadilloにログイン後、
rm -f /etc/config/*
flatfsd -s
reboot
とするとどうでしょうか?


> また、プロダクト/home/に直接、user1ディレクトリをmkdir したところ、問題
> なくromfs.imgに作成されていますが
> Makefileを見るかぎり、ROMFS_DIRSで指定されたファイルは、無ければmkdirす
> るように書いてありますが、
> ユーザーが独自に作成したuser1ディレクトリなどはどこでromfsにコピーしてい
> るのか、ご存知ないでしょうか?

きっと、
ROMFSINST /home
と書かれているのだと思います。
プロダクトディレクトリのhome以下を丸々インストールしてくれます。



(2010/08/04 21:16), Aspect wrote:
> nakaiさま
> 検証いただき、ありがとうございました。
> 
> 半分、解決しました。
> 
> passwdを/etc/configに移動し、/etcにシンボリックリンクを置くことはできま
> した。
> ただ、flatfsd -sでWroteできますが、データが元のままです。やはりshadowも
> 保存する必要があるのかと
> おもいますので、これから試してみます。
> 
> いままで試したことは
> プロダクト(Armadillo-240.Base)/Makefileの
> 96行あたり
> ifeq ($(CONFIG_USER_FLATFSD_FLATFSD),y)
> $(ROMFSINST) -s /etc/init.d/flatfsd /etc/rc.d/S02flatfsd
> $(ROMFSINST) -s /etc/config/resolv.conf /etc/resolv.conf
> $(ROMFSINST) -s /etc/config/interfaces /etc/network/interfaces
> $(ROMFSINST) -s /etc/config/HOSTNAME /etc/HOSTNAME
> else
> $(ROMFSINST) -s /etc/default/resolv.conf /etc/resolv.conf
> $(ROMFSINST) -s /etc/default/interfaces /etc/network/interfaces
> $(ROMFSINST) -s /etc/default/HOSTNAME /etc/HOSTNAME
> endif
> となっているので flatfsdを選択しているので
> ifeq内の101行当りに
> $(ROMFSINST) -s /etc/config/passwd /etc/passwd
> を追加したら、うまくリンクがはれました。
> もちろん、プロダクト/etc/passwd は /etc/config/に移動したうえでのことです。
> 
> 以前は、Makefileの114行当りに追加していました。この場合は/etcにpasswd
> の実態が作成されていました。
> そのため、次に114行に書いた$(ROMFSINST) -s /etc/config/passwd /etc
> /passwdの前に
> rm /etc/passwdを入れてみたんですが、エラー 権限がありません(だったか
> な)ではじかれてしまいました。
> 101行に$(ROMFSINST) -s /etc/config/passwd /etc/passwdをかくのと、
> 114行に書くのとでは
> 実質的には、同じだと思うんですが、
> この当り、何か見解をお持ちでしょうか?
> 
> また、プロダクト/home/に直接、user1ディレクトリをmkdir したところ、問題
> なくromfs.imgに作成されていますが
> Makefileを見るかぎり、ROMFS_DIRSで指定されたファイルは、無ければmkdirす
> るように書いてありますが、
> ユーザーが独自に作成したuser1ディレクトリなどはどこでromfsにコピーしてい
> るのか、ご存知ないでしょうか?
> 
> 
>> nakaiです。
>>
>>> cd atmark-dist/vendors/AtamrkTechno/Armadillo-240.Base/etc
>>> cp passwd config/
>>> rm passwd
>>> ln -s config/passwd passwd
>>>
>> /etc/configは、(atmark-distのバージョンにもよりますが)flatfsdにより上書きされてしまうため、
>> /etc/defaultに作成するのが妥当です。
>>
>> 提示いただいた手順でもpasswdが上書きされるんですね。。
>> もしかして、ROMFSINSTでシンボリックリンクをインストールできないのかもしれません。
>> cd atmark-dist
>> rm -rf romfs
>> make romfs
>> した場合に、romfs/etc/passwdはどのようになっていますか?
>> ファイル内容と、ls -l またはfile romfs/etc/passwdしてみたらわかるかもしれません。
>>
>> ROMFSINSTでシンボリックリンクをインストールできない場合は、
>> productのMakefileなどでROMFSINST -s を使用してリンクを作らないといけません。
>>
>> よくよく考えてみると、
>> 「ROMFSINSTのディレクトリインストール時にシンボリックリンクをインストールできない」
>> が原因だと思います。。
>> そのため/etc/HOSTNAMEなどもMakefileでインストールしているはずです。
>>




armadillo メーリングリストの案内