MC35UL2解析ページ
ファームウェア変更
最終更新:
mc35ul2
-
view
ファームウェア変更
さざなみフォントからインポート
オリジナルのaltech.ttfには定義されてない漢字や日本語の表示には不必要な文字が多数含まれている。そこで不必要な文字を消去し、足りない漢字をさざなみフォントからfontforgeを使ってインポートしてみた。
sazanami-gothic.ttfとaltech.ttfと以下のスクリプトを同じディレクトリに置き、
fontforge -script update.pe
を実行すると、新たにnewaltech.ttfというファイルが作られる。このファイルをオリジナルのaltech.ttfと置き換えて、ファームウェアを作成するとすべての漢字が表示できるようになる。
telnetdの追加
telnetdとlash(shの代わり)はbusyboxを利用している。現在のステーブルバージョンは1.2.2である。残念ながら、パッチを当てなければuclinuxでは利用できない。また、この.configファイル使えば、telnetdとlashを有効にしたbusyboxがビルドできる。ビルドするには、
make CROSS_CFLAGS=-Wl,-elf2flt EXTRA_CFLAGS=-DBB_NOMMU
を実行する。すると、エラーがなければ、busyboxがカレントディレクトリに生成される。このbusyboxをたとえばobusyboxと変えて、/binにコピーし、telnetdとlashにソフトリンクを張る。そして、/etc/inittabに次のようなS40telnetd行を追加する。
::sysinit:/etc/init.d/rcS
::sysinit:/etc/init.d/S40telnetd
さらに、/etc/init.d/S40telnetdとして、このようなファイルを作る。
#!/bin/sh
/bin/sleep 10
/bin/telnetd -l /bin/lash &
nbtscanの変更
- ネットワークをスキャンして、ホストを探す
- そのホストがsmbサーバーかどうかチェックする
- smbサーバーであれば、/hosts/hosts_nにエントリーを追加する
- smbサーバー用にマウントディレクトリを作成する
ここで、問題なのは1番目のネットワークのスキャンに時間がかかることだ。そこで、あらかじめホストのリストを作成しておき、それに基づいて3以降の作業をすれば時間の短縮が図れるであろう。
ファイルシステムのetc/hostsをまず削除しシンボリックリンクをなくする。その後、次のようなホストのリストをetc/hostsに書き込む。
192.168.0.100 HOST1 0 192.168.0.101 HOST2 0
オリジナルのbin/nbtscanを新しいものに置き換え、ファームウェアを作成し更新する。これ以降上で指定したホストのみがネットワークに現れる。
sntpdate
MC35UL2はRTCがないので、電源を入れると時刻が、1970年1月1日 00:00:00からスタートする。通常は特に問題がないが、内部のディスクにファイルを書き込むと、ありえない時間になるので困る。そこで、sntpdateを使って、NTPでの時刻の初期化を試みた。コンパイル・ビルドは非常に簡単で、Makefileを置き換えるだけで、可能だ。できあがった、sntpdateをbinの下にコピーし、/etc/inittabにtelnetdのときと同様なスクリプトを追加する。たとえば、
::sysinit:/etc/init.d/S50sntpdate
S50sntpdateの内容は、たとえば、
#!/bin/sh
# curaco に初期化の時間を与える
sleep 20
#NTPサーバーを指定する #DNSがない場合はIPアドレスを使う/bin/sntpdate 192.168.0.133