« 2007年07月 | メイン | 2007年09月 »

2007年08月 アーカイブ

2007年08月13日

NFS-RootのSWAP

組み込みの開発をしていて、どーしてもターゲット上でコンパイルしないとコンパイルできないソフトがたまにあります。

で、以前から使用していたのですが、そー言えば書いてないな~

と言うわけで

Wikiに追記しました。
NFS RootでSWAPを有効にする方法

2007年08月18日

AtermWL5400AP

なんかこのごろ焦げ臭いな~っと思って電源ケーブル類をチェックしていたのですが一向に怪しいケーブルが見つからず、悩んでいたのですがひょんな事から原因が分かりました。

ここ何日か無線LANを使用していなかったのですが、テーブルでノートパソコンを使用しようと思い無線LANを接続しようとしたらつながりません!(?_?)

あれ~おかしいな~っと思いAPを見に行ったら電源が落ちてます。
(普段から電源を入れっぱなしなのです。)

ACアダプタを抜き差ししてもだめです。

こりゃ~壊れたかな……


っと思ったのですが、そう言えばNECにAterm関連のリコールが出ていたような気がして、調べたら下記の不具合が報告されていました。

【お詫びとお願い】AtermWL5400AP/WL54TEの不具合のお知らせとお詫び


発表は、会社に居たときに見たのですが、すっかり忘れてました……orz

まさか、我が家のAPが壊れるとは思いませんでした。


無償交換なので、問題はないのですが約2週間使えなくなるのは困ったもんです。(-_-;)

2007年08月19日

WindowsXPの時刻調整間隔の設定

WindowsXPで色々作業しているのですが、今使用しているPCが1日に1分か2分ぐらい時計が進んでしまいます。[日付と時刻のプロパティ]→[インターネット時刻]でNTPサーバを設定していれば自動で修正してくれるのですが、更新間隔がデフォルトでは7日毎に更新となっています。

1週間に1回の時刻調整って少なくないか?

と言うわけで更新間隔を調整する方法を調べてみました。


修正方法は、レジストリエディタで下記プロパティを修正すれば可能なようです。

HKEY_LOCAL_MACHINE\System\CurrentControlSet \Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval

データ型はREG_DWORDと言うことです。

デフォルトで604800秒(7日)が設定されているので、私は600秒(10分)を設定しました。


で、ちゃんと動いているかと言うと……どうやら再起動しないと値が有効にならないみたいです。
(色々作業しているので、今すぐには再起動できない状態なので後日確認したいと思います)


後、定番のうたい文句ですが、レジストリをいじってPCが動かなくなっても私は責任を取りません。必ず自己責任でお願いします。

Etch上にSarge環境を作る方法

以前から、個人ではEtch上にSarge環境を作って開発 or テスト環境として使用していたのだが、「Debian 徹底入門」で有名な武藤さんがブログに下記の記事を投稿された。

Etch/Sidの上にSarge環境を作る方法

さすが、私は個人的にしか使っていなかったので他ユーザのことを意識したことは無いのですが、上記を見るとなるほど~っと感心してしまう。

組込み関係の仕事をしていると、開発環境をチーム全員に配ることが有ったりするが全員がDebianを使用しているわけでもなく、新しいPCを用意するのも無理なのでVirtualPCかVMwareとかで配布しようかな~っとか、思ったりしているのだが(現状はインストーラを作成したり詳細を記述したドキュメントを作成したりと、手間隙が掛かって仕方がない……まぁ、本当はそれが一番いいんだけどね。(-_-;)……)、面倒なので開発専用PCを用意してそこにログインしてもらい。ターゲットボード毎にchroot環境を構築してもいいかもしれない!

武藤さんの方法で作成した環境であれば、各ユーザにログイン許可が出来るので安全だし、全員がLinuxに詳しいわけでもないから説明が楽だよね~壊されても復旧が楽だし。(^^♪

次のプロジェクトから採用してみようかな。

ウイルスソフトの検出チェック

ネットをチェックしていたら下記のサイトを発見!

φ(..)メモメモ

Bagle.Mytob大量亜種の検出結果

2007年08月21日

モバイルGoogleマップ

Googleマップが携帯でも使用できるようになったみたいです。

対応している携帯はFOMA 903i以降と言うことなので、私の携帯は無事対応しているようですね~

ただ、私はパケ・ホーダイに加入していないので、怖くて試せませんが……(T_T)


詳しくは下記を参照してください。

モバイルで Google マップ

2007年08月29日

Busybox+uClibc

BusyboxとuClibcでちょっと遊んでみようかと思いいじってみたが……な結果になってしまった。

ターゲットはPowerPCとして、クロスコンパイラはDebianのものを使用する。


まずは、uClibc-0.9.29をコンパイルする。

# make defconfig # make 省略 #uclibc CC libc/sysdeps/linux/common/sbrk.os CC libc/sysdeps/linux/common/sched_get_priority_max.os CC libc/sysdeps/linux/common/sched_get_priority_min.os CC libc/sysdeps/linux/common/sched_getaffinity.os libc/sysdeps/linux/common/sched_getaffinity.c: In function `__syscall_sched_getaffinity': libc/sysdeps/linux/common/sched_getaffinity.c:35: error: `' undeclared (first use in this function) libc/sysdeps/linux/common/sched_getaffinity.c:35: error: (Each undeclared identifier is reported only once libc/sysdeps/linux/common/sched_getaffinity.c:35: error: for each function it appears in.) make[1]: *** [libc/sysdeps/linux/common/sched_getaffinity.os] Error 1 make: *** [lib/libc.so.0] Error 2

まぁ、すんなりいくとは思っていないのでググって見る。

パッチを発見した!

ここからuClibc-0.9.29-conditional-sched_affinity.patchをダウンロードしてパッチを当てる。

それ!!

AS lib/crti.o AS lib/crtn.o STRIP -x -R .note -R .comment lib/libc.a AR cr lib/libc.a STRIP -x -R .note -R .comment lib/uclibc_nonshared.a AR cr lib/uclibc_nonshared.a AR cr libc/libc_so.a LD libuClibc-0.9.29.so libc/libc_so.a(pread_write.os): In function `pwrite64': pread_write.c:(.text+0x58): undefined reference to `__illegally_sized_syscall_arg4' make[1]: *** [lib/libc.so] Error 1 make: *** [lib/libc.so.0] Error 2

ふ~ん……

色々調べたら、下記をDisableにすればよさそう!

General Library Settings ---> Large File Support

えいや!!

\(^o^)/ コンパイルが通ったぞ!!


次にbusybox-1.7.0をダウンロードしてコンパイル。

# export CFLAGS='-I /usr/powerpc-linux-uclibc/usr/include -nostdlib -L /usr/powerpc-linux-uclibc/lib -L /usr/powerpc-linux-uclibc/usr/lib' # make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- menuconfig # make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- 省略 from runit/runsv.c:32: runit/runsv.c: In function `gettimeofday_ns': runit/runsv.c:134: error: `__NR_clock_gettime' undeclared (first use in this function) runit/runsv.c:134: error: (Each undeclared identifier is reported only once runit/runsv.c:134: error: for each function it appears in.) make[1]: *** [runit/runsv.o] Error 1 make: *** [runit] Error 2

runsvか~
使いそうに無いからBusyboxの下記項目をDisableにしたれ!!

Runit Utilities ---> runsv

再度コンパイル

Trying libraries: crypt m Failed: powerpc-linux-gnu-gcc -o busybox_unstripped -Wl,-Map -Wl,busybox_unstripped.map -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections -Wl,--start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o -Wl,--end-group -Wl,--start-group -lcrypt -lm -Wl,--end-group archival/lib.a(tar.o): In function `writeTarFile': tar.c:(.text.writeTarFile+0x11c): undefined reference to `fcntl64' coreutils/lib.a(cal.o): In function `cal_main': cal.c:(.text.cal_main+0x33a): undefined reference to `__stdout' cal.c:(.text.cal_main+0x33e): undefined reference to `__stdout' cal.c:(.text.cal_main+0x374): undefined reference to `__fputc_unlocked' coreutils/lib.a(catv.o): In function `catv_main': 省略 libbb/lib.a(login.o): In function `print_login_issue': login.c:(.text.print_login_issue+0xcc): undefined reference to `__fgetc_unlocked' login.c:(.text.print_login_issue+0x1f4): undefined reference to `__fgetc_unlocked' libbb/lib.a(str_tolower.o): In function `str_tolower': str_tolower.c:(.text.str_tolower+0x16): undefined reference to `__ctype_tolower' str_tolower.c:(.text.str_tolower+0x1a): undefined reference to `__ctype_tolower' libbb/lib.a(update_passwd.o): In function `update_passwd': update_passwd.c:(.text.update_passwd+0x1cc): undefined reference to `fcntl64' update_passwd.c:(.text.update_passwd+0x270): undefined reference to `fcntl64' collect2: ld returned 1 exit status make: *** [busybox_unstripped] Error 1

uClibcの下記項目をDisableにすると解決!
(これでいいのか?)

String and Stdio Support ---> Provide a macro version of getc() String and Stdio Support ---> Provide a macro version of putc()

LINK busybox_unstripped Trying libraries: crypt m Failed: powerpc-linux-gnu-gcc -o busybox_unstripped -Wl,-Map -Wl,busybox_unstripped.map -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections -Wl,--start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o -Wl,--end-group -Wl,--start-group -lcrypt -lm -Wl,--end-group coreutils/lib.a(sort.o): In function `get_key': sort.c:(.text.get_key+0x2be): undefined reference to `__ctype_toupper' sort.c:(.text.get_key+0x2c2): undefined reference to `__ctype_toupper' editors/lib.a(awk.o): In function `awk_split': awk.c:(.text.awk_split+0x1ca): undefined reference to `__ctype_toupper' awk.c:(.text.awk_split+0x1ce): undefined reference to `__ctype_toupper' awk.c:(.text.awk_split+0x1de): undefined reference to `__ctype_tolower' awk.c:(.text.awk_split+0x1e2): undefined reference to `__ctype_tolower' editors/lib.a(vi.o): In function `get_one_address': vi.c:(.text.get_one_address+0x4e): undefined reference to `__ctype_tolower' vi.c:(.text.get_one_address+0x52): undefined reference to `__ctype_tolower' editors/lib.a(vi.o): In function `do_cmd': vi.c:(.text.do_cmd+0x31a): undefined reference to `__ctype_tolower' editors/lib.a(vi.o):vi.c:(.text.do_cmd+0x31e): more undefined references to `__ctype_tolower' follow editors/lib.a(vi.o): In function `do_cmd': vi.c:(.text.do_cmd+0x150a): undefined reference to `__ctype_toupper' vi.c:(.text.do_cmd+0x1512): undefined reference to `__ctype_toupper' vi.c:(.text.do_cmd+0x152e): undefined reference to `__ctype_tolower' vi.c:(.text.do_cmd+0x1536): undefined reference to `__ctype_tolower' modutils/lib.a(insmod.o): In function `print_load_map': insmod.c:(.text.print_load_map+0x296): undefined reference to `__ctype_tolower' insmod.c:(.text.print_load_map+0x29a): undefined reference to `__ctype_tolower' networking/lib.a(dnsd.o): In function `convname': dnsd.c:(.text.convname+0x22): undefined reference to `__ctype_tolower' networking/lib.a(dnsd.o):dnsd.c:(.text.convname+0x26): more undefined references to `__ctype_tolower' follow networking/lib.a(ifupdown.o): In function `setlocalenv': ifupdown.c:(.text.setlocalenv+0x62): undefined reference to `__ctype_toupper' ifupdown.c:(.text.setlocalenv+0x66): undefined reference to `__ctype_toupper' networking/lib.a(ipcalc.o): In function `ipcalc_main': ipcalc.c:(.text.ipcalc_main+0x276): undefined reference to `__ctype_tolower' ipcalc.c:(.text.ipcalc_main+0x27a): undefined reference to `__ctype_tolower' networking/lib.a(nslookup.o): In function `server_print': nslookup.c:(.text.server_print+0x2): undefined reference to `_res' nslookup.c:(.text.server_print+0xe): undefined reference to `_res' networking/lib.a(nslookup.o): In function `set_default_dns': nslookup.c:(.text.set_default_dns+0x22): undefined reference to `_res' nslookup.c:(.text.set_default_dns+0x26): undefined reference to `_res' networking/lib.a(wget.o): In function `gethdr': wget.c:(.text.gethdr+0x6e): undefined reference to `__ctype_tolower' wget.c:(.text.gethdr+0x72): undefined reference to `__ctype_tolower' libbb/lib.a(str_tolower.o): In function `str_tolower': str_tolower.c:(.text.str_tolower+0x16): undefined reference to `__ctype_tolower' str_tolower.c:(.text.str_tolower+0x1a): undefined reference to `__ctype_tolower' collect2: ld returned 1 exit status make: *** [busybox_unstripped] Error 1

も~
面倒くさいな~(-_-;)

uClibcの下記項目をDisable!

String and Stdio Support ---> Use Table Versions Of 'ctype.h' Functions.

再度、uClibcをコンパイル・インストール!

Busyboxをコンパイルすると

Trying libraries: crypt m Failed: powerpc-linux-gnu-gcc -o busybox_unstripped -Wl,-Map -Wl,busybox_unstripped.map -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections -Wl,--start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o -Wl,--end-group -Wl,--start-group -lcrypt -lm -Wl,--end-group networking/lib.a(nslookup.o): In function `server_print': nslookup.c:(.text.server_print+0x2): undefined reference to `_res' nslookup.c:(.text.server_print+0xe): undefined reference to `_res' networking/lib.a(nslookup.o): In function `set_default_dns': nslookup.c:(.text.set_default_dns+0x22): undefined reference to `_res' nslookup.c:(.text.set_default_dns+0x26): undefined reference to `_res' collect2: ld returned 1 exit status make: *** [busybox_unstripped] Error 1

nslookupか……

とりあえずBusyboxの下記項目をDisable

Networking Utilities ---> nslookup をdisable

やった~!
コンパイルが通った!

あれ(?_?)

リンクライブラリがglibcだぞ!

# export LDFLAGS='-nostdlib -L /usr/powerpc-linux-uclibc/lib'

どれどれ、どうですか?

attempt to open /usr/powerpc-linux-uclibc/lib/libm.so failed attempt to open /usr/powerpc-linux-uclibc/lib/libm.a failed attempt to open /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/libm.so failed attempt to open /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/libm.a failed attempt to open /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/lib/libm.so succeeded -lm (/usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/lib/libm.so) ld.so.1 needed by /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/lib/libm.so found ld.so.1 at /usr/powerpc-linux-gnu/lib/ld.so.1 libc.so.6 needed by /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/lib/libm.so found libc.so.6 at /usr/powerpc-linux-gnu/lib/libc.so.6

failedですか……

ln -s libcrypt-0.9.29.so /usr/powerpc-linux-uclibc/lib/libcrypt.so ln -s libm-0.9.29.so /usr/powerpc-linux-uclibc/lib/libm.so ln -s libuClibc-0.9.29.so /usr/powerpc-linux-uclibc/lib/libc.so

とりあえずリンクを追加して、実行!

Trying libraries: crypt m Failed: powerpc-linux-gnu-gcc -nostdlib -L/usr/powerpc-linux-uclibc/lib -o busybox_unstripped -Wl,-Map -Wl,busybox_unstripped.map -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections -Wl,--start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o -Wl,--end-group -Wl,--start-group -lcrypt -lm -Wl,--end-group /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/bin/ld: warning: libc.so.0, needed by /usr/powerpc-linux-uclibc/lib/libcrypt.so, not found (try using -rpath or -rpath-link) /usr/lib/gcc-lib/powerpc-linux-gnu/3.3.6/../../../../powerpc-linux-gnu/bin/ld: warning: cannot find entry symbol _start; defaulting to 00000000100003b1 /usr/powerpc-linux-uclibc/lib/libm.so: undefined reference to `strtof' collect2: ld returned 1 exit status make: *** [busybox_unstripped] Error 1

う~……(?_?)

# powerpc-linux-gnu-readelf -a /usr/powerpc-linux-uclibc/lib/libm-0.9.29.so | grep strtof 00023140 00006415 R_PPC_JMP_SLOT 00000000 strtof + 0 100: 00000000 80 FUNC GLOBAL DEFAULT UND strtof

何で、ライブラリがUNDなのでしょうか?


残念ながら、上記の問題は解決できませんでした……

誰か、教えてプリーズ!!

About 2007年08月

2007年08月にブログ「ゆうちくりんの忘却禄」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2007年07月です。

次のアーカイブは2007年09月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35