玄箱PROとかLinuxとか内検索 / 「(標準Linux)終了メッセージ」で検索した結果
-
(標準Linux)終了メッセージ
終了メッセージ ----- rcDown ----- ===== Starting shutdown_start.sh ===== [Success] ===== Starting shutdown_proc.sh ===== ===== Starting clientUtil_servd.sh ===== Stop clientUtil_server [Success] ===== Starting smb.sh ===== $Shutting down SMB services $Shutting down NMB services [Success] ===== Starting networking.sh ===== Deconfiguration network interface lo eth0 killall dhcpcd no process ki... -
玄箱PROのwiki
...varディレクトリ (標準Linux)終了メッセージ 標準Linuxを使って各種プログラムを作動 開発用Linux 新しいプラグラムを導入するなら添付CD-ROMに収められている開発用Linuxを使えばいい。 必ずしも「標準Linux<開発用Linux」ではないところがおそらく楽しくさせるポイントだろう。 (開発用Linux)開発用Linuxとは 開発用Linuxの構造 (開発用Linux)起動メッセージ (開発用Linux)ルート直下のディレクトリツリー一覧 開発用Linuxを使って各種プログラムを作動 開発用Linuxへ各種ソースをビルド (開発用Linux)lighttpdの導入 外部との接続設定 外部と接続する仕組み 外部と接続する Linuxのこと 玄箱PRO上でのLinux全般に関するページは以下。 Linuxとは 書籍やネットでたびたび耳にする「Linu... -
(標準Linux)標準Linuxとは
玄箱PRO関連で「標準Linux」と言った場合、特に指定がないかぎりは工場出荷状態のままの状態を指す。 MontaVista Linuxという組み込みに特化したディストリビューションを採用している。 標準Linuxの特長 玄箱PROの標準Linuxに見られるいくつかの特長とは NANDフラッシュ領域で作動し、HDD未装着でも問題はない。 samba?、swat?、httpd?、telnetdなどがインストールされている。 gccなどの開発環境は整っていない。 miconapl、nvramなどのBuffalo独自ソフトがインストールされている。 BusyBoxのinitのためランレベルの概念はない。 などがある。 ハックを目的とせずNASとして使用する限り、この標準Linuxのままで支障はないが、何らかのビルドを必要とした場合、附属CD-ROMに収められた開発用LinuxをH... -
(標準Linux)etcディレクトリ
/etcとは 別ページ「etcディレクトリとは」参照。 標準Linuxでも基本的に/etcディレクトリの役割は一般的なLinuxと変わりがない。 /etcの構成 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 BootFlag default/ 起動時に読み込まれる設定ファイル dhcpc/ DHCPクライアントの設定ファイルなどを保存するディレクトリ fan.prof Fandの設定ファイル(冷却ファンの回転数と温度の対応) first_boot fstab Linuxの起動の過程で自動的にマウントするデバイスの定義 group gshadow host.info 玄箱PROのネットワークで使う名前 hosts IPアドレスと名前の対応(一部はLinuxの起動の過程で書き込まれる) inetd.conf inetd... -
(標準Linux)varディレクトリ
/varとは /varの構成 標準Linuxのvarディレクトリは/mnt/ram/varのシンボリックリンクとなっている。 つまりRAM上に作られているため、玄箱PROの電源を切るたびに内容は消えてしまうということだ。 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 empty lib lock log run spool tmp -
(標準Linux)ルート直下のディレクトリツリー一覧
/以下にあるディレクトリやファイル群を列記する。 ls -al lsコマンド?での出力は以下。 / # ls -al drwxr-xr-x 18 root root 0 Dec 24 14 28 . drwxr-xr-x 18 root root 0 Dec 24 14 28 .. drwxr-xr-x 2 root root 0 Apr 10 2007 bin drwxr-xr-x 2 root root 0 Jan 17 2007 boot drwxr-xr-x 3 root root 0 Jun 17 2004 dev drwxr-xr-x 8 root root 0 Dec 24 14 28 etc drwxrwxrwx 2 root root 0 Oct 24 1983 home drwxr-xr-x 2 root root 0 Oct 24 1983 initrd d... -
(標準Linux)usrディレクトリ
/usrとは /usrの構成 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 bin include lib local sbin share -
メニュー2
タグ一覧 標準Linux 概略 Linux全般 シェルスクリプト 一覧 玄箱PRO固有 ディレクトリ エラー /etc コマンド RESETボタン ディストリビューション 起動メッセージ 外部接続 tftp 開発用Linux フラッシュメモリ オプション 終了メッセージ U-boot /dev /var /usr miconapl /bin /sbin /proc スペック プログラム 「玄箱PRO」関連ブログ #technorati -
(標準Linux)起動メッセージ
起動メッセージ メッセージを読む電源ON 周辺装置の初期化 メインメモリ上にカーネルを読み込む カーネルの起動SATAデバイスドライバの読み込み NORフラッシュ NANDフラッシュ USB ネットワーク rootfsのマウント ルートファイルシステムによる初期化MountSystemFolders関数 checkroot.sh Kevent.sh mount_share.sh sethostname.sh networking.sh httpd.sh telnet.sh inetd.sh smb.sh clientUtil_servd.sh bootcomplete.sh FanController.sh boss.sh 起動メッセージ Orion1 CPU = Low === KURO U-Boot. === ** LOADER ** ** KUROBOX BOARD... -
(標準Linux)procディレクトリ
/procとは /procの構成 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 buddyinfo buffalo/ bus/ cmdline cpu/ cpuinfo devices diskstats driver/ execdomains filesystems fs/ interrupts iomem ioports kallsyms kmsg loadavg locks mdstat meminfo misc modules mounts self/mountsのシンボリックリンク mtd mv_xor net/ partitions resource_dump scsi/ self 1405のシンボリックリンク slabinfo stat swaps sy... -
(標準Linux)binディレクトリ
/binとは /binの構成 実際に標準Linuxの/binがどのようになっているのかを見てみる。 コマンド 備考 説明 addgroup BusyBoxのシンボリックリンク adduser BusyBoxのシンボリックリンク ash BusyBoxのシンボリックリンク bash bash2 BusyBoxのシンボリックリンク bbconfig BusyBoxのシンボリックリンク busybox cat BusyBoxのシンボリックリンク chattr BusyBoxのシンボリックリンク chgrp BusyBoxのシンボリックリンク chmod BusyBoxのシンボリックリンク chown BusyBoxのシンボリックリンク cp BusyBoxのシンボリックリンク cpio BusyBoxのシンボリックリンク date BusyBoxのシンボリ... -
(標準Linux)sbinディレクトリ
/sbinとは /sbinの構成 実際に標準Linuxの/sbinがどのようになっているのかを見てみる。 コマンド 備考 説明 adjtimex BusyBoxのシンボリックリンク depmod dhcpcd e2fsck fsck.ext2のシンボリックリンク fdisk BusyBoxのシンボリックリンク freeramdisk BusyBoxのシンボリックリンク fsck BusyBoxのシンボリックリンク fsck.ext2 fsck.ext3 fsck.ext2のシンボリックリンク fsck.minix BusyBoxのシンボリックリンク getty BusyBoxのシンボリックリンク halt BusyBoxのシンボリックリンク hdparm BusyBoxのシンボリックリンク hwclock BusyBoxのシンボリックリンク ifc... -
(標準Linux)devディレクトリ
/devとは /devの構成 実際に標準Linuxではどのような構成となっているか。 モード 所有者 グループ メジャー番号 マイナー番号 サイズ ファイル名 リンク先 crw-r--r-- root root 5 1 console crw-r--r-- root root 205 16 cuaam0 crw-r--r-- root root 205 17 cuaam1 lrwxrwxrwx root root 3 disk1 sda lrwxrwxrwx root root 4 disk1_1 sda1 lrwxrwxrwx root root 4 disk1_2 sda2 lrwxrwxrwx root root 4 disk1_3 sda3 lrwxrwxrwx root root 4 disk1_4 sda4 lrwxrwxrwx root... -
etcディレクトリとは
日経Linux2007年5月号(56ページ)より以下抜粋。 Linuxを形作るファイルは、役割ごとに/binや/homeなどあらかじめ定められたディレクトリに並んでいます。設定に関するファイルは/etc(スラエトセと読む)にあります。Linux自体の起動設定、ネットワーク設定、表示設定、個別のアプリケーション設定など、多岐にわたりますが、すべてがテキスト・ファイル形式で収められています。 テキストファイルで各種の設定 /etcには「設定」と名がつく作業に必要なファイルが集められている。 Linuxのありとあらゆるシステム設定に欠かせないファイルがあるため、新しいプログラムをインストールしても「/etcに設定ファイルがあるだろう」と容易に想像がつく。 FHSとの比較 標準Linux・開発用Linuxの/etc(スラエトセ)ディレクトリをFHSが定めた内容と比較してみる。... -
(エラー)disk is already formatted!
~ # disk is already formatted! 既にLinux形式でフォーマット(初期化)されたHDDに対してRESETボタンを長押しした場合、このようなエラーメッセージがコンソールに表示される。 原因 このメッセージを生成しているのは、標準Linuxの/usr/local/bin/InitDisk1.shだ。 InitDisk1.shは以下の条件の1つでも該当すればこのエラーを発生させる。 /dev/sdaの先頭3バイトがXFS /dev/sda1の先頭3バイトがXFS /dev/sda4の先頭3バイトがXFS HDDもしくはパーティションの先頭領域をXFSというデータにするためには、当然xfs形式でそれぞれをフォーマットすることで実現する。 また、一度xfs形式でフォーマットしたデバイスをext3形式で上書きフォーマットしても先頭の「XFS」は消えない... -
(開発用Linux)起動メッセージ
起動メッセージ シリアルコンソール使用 LAN接続済み HDD装着 Orion1 CPU = Low === KURO U-Boot. === ** LOADER ** ** KUROBOX BOARD KURO_BOX LE (CFG_ENV_ADDR=fffff000) U-Boot 1.1.1 (Apr 10 2007 - 18 10 08) Marvell version 1.12.1 - TINY DRAM CS[0] base 0x00000000 size 128MB DRAM Total size 128MB [256kB@fffc0000] Flash 256 kB Addresses 20M - 0M are saved for the U-Boot usage. Mem malloc Initialization (20M - 16... -
(標準Linux)各種情報
/proc /proc/mounts rootfs / rootfs rw 0 0 /dev/root / jffs2 rw,noatime 0 0 proc /proc proc rw,nodiratime 0 0 sysfs /sys sysfs rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 devpts /dev/pts devpts rw 0 0 /dev/ram1 /mnt/ram tmpfs rw 0 0 /dev/sda1 /mnt/disk1 xfs rw 0 0 /dev/mtd3 /mnt/mtd jffs2 rw,noatime 0 0 /proc/cpuinfo Processor ARM926EJ-Sid(wb) rev 0 (v5l) BogoMIPS 266.24 Features ... -
fstab
標準Linux 標準Linuxの/etc/fstabは以下のようになっている。 デバイスまたはラベル マウントポイント ファイルシステム オプション バックアップ指定 fsckの順位 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode=620 0 0 -
hexdumpコマンド
hexdumpコマンドは、あるファイルを指定するフォーマットで出力するフィルターユーティリティだ。 標準Linuxでのhexdumpコマンド 概要 helpを表示してみる。 ~ # hexdump --help BusyBox v1.1.1 (2007.04.06-12 02+0000) multi-call binary Usage hexdump [-[bcCdefnosvx]] [OPTION] FILE The hexdump utility is a filter which displays the specified files, or the standard input, if no files are specified, in a user specified format -b One-byte octal ... -
BootFlag
標準Linuxの/etcディレクトリにあるファイル。 fileコマンド?で調べてみる。 ~ # file /etc/BootFlag file Using regular magic file `/usr/share/magic file couldn t find any magic files! /etc/BootFlag ASCII text テキストファイルであることがわかるので開いてみる。 ~ # cat /etc/BootFlag tftpboot=no tftpboot=noという一文が記述されただけのテキストファイルだ。 -
shutdown.sh
標準Linuxの/usr/local/bin/内にある。 スクリプト #!/bin/sh # if [ "$1" = "error" ] ; then echo "shutting down with error" fi /sbin/shutdown -h now exit 0 -
Keventd
標準Linuxの/usr/local/sbin/内にある。 スクリプト #!/bin/sh . /usr/local/bin/kuro_lib if [ ! -e ${KERNEL_EVENT_TAIL} ] ; then exit 0 fi while do while do LINE=`cat ${KERNEL_EVENT_TAIL}` /usr/local/bin/KeventHandller.sh ${LINE} done done -
mountコマンド
mountコマンドは、デバイスをLinuxの任意の地点に配置するというもの。 HDDをパーティション単位で好きな箇所にマウントする、USBメモリやCD/DVDドライブをマウントする、など、デバイスをファイルシステムとして取り扱う。 標準Linuxでのmountコマンド 概要 helpを表示してみる。 ~ # mount --help BusyBox v1.1.1 (2007.04.06-12 02+0000) multi-call binary Usage mount [flags] DEVICE NODE [-o options,more-options] Mount a filesystem. Filesystem autodetection requires /proc be mounted. Flags -a Mou... -
RESETボタン
玄箱PROの本体背面にある赤いボタンがRESETボタンだ。 動作内容 HDDの初期化シリアルコンソールでのログ telnetでのログ パーティションの状態 動作を追跡する エラー 動作内容 標準Linuxでのこのボタンの動作順序は以下となる。 システム起動時に/etc/init.d/rcSが/etc/init.d/Kevent.shを実行する /etc/init.d/Kevent.shが/usr/local/sbin/Keventdを起動する /usr/local/sbin/Keventdはデーモンとして常駐しカーネルイベントを参照、変化があっても無くても常にその結果を/usr/local/bin/KeventHandller.shに渡す その都度呼び出された/usr/local/bin/KeventHandller.shはLANの状態と、miconaplコマンドで電源ボタ... -
外部と接続する
玄箱PROの初期状態 玄箱PROの通信設定に関する初期設定を記す。 外部と接続する仕組みで挙げたファイルに加え以下のファイルが基本的な通信の設定の役割を持っている。 /etc/hosts /etc/resolv.conf /etc/nsswitch.conf /etc/netinfo それぞれが、玄箱PROの標準Linuxでどのような初期設定になっているのかを記録する。 /etc/hosts ~ # cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.9 KUROBOX-PRO /etc/resolv.conf ~ # cat /etc/resolv.conf nameserver 192.168.1.1 /etc/nsswitch.conf ~ # cat /etc/nsswitch.c... -
ddコマンド
ddコマンドとは、「ファイルを形式制御しながらコピーする※1」コマンドである。 cpコマンド?もコピーのためのコマンドだが、ddコマンドはcpコマンド?と違い「デバイス対デバイス」でもコピーが可能となっている。 この「直接デバイスへのコピー機能」を利用し、rmコマンド?では不十分な「HDDなどのデバイスの内容を消去(0をコピー)する」という使い方もある。 標準Linuxでのddコマンド 概要 helpを表示してみる。 ~ # dd --help BusyBox v1.1.1 (2007.04.06-12 02+0000) multi-call binary Usage dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|noerror|sync] Copy a... -
ファイルシステム
ファイルシステムとは、HDDやフラッシュメモリなどの物理デバイス?を論理的に利用するための仕組みだ。 適用はデバイスのパーティション?ごとに可能となり、1台のHDD内部に複数のファイルシステムを運用することができる。 通常は物理デバイスにデータを書き込み・読み出しをする際、デバイスのどこにどんな大きさでどのような名前で記録をしたのか詳細に指定する必要がある。 しかし現実的に、ファイル一つ一つを扱うたびにこのような指示をすることは不可能に近いし、出来たとしても便利とはほど遠い。 そこでUNIX?で考えられた方法がファイルシステムだ。 通常ファイルと同様の扱いでデバイスを扱えるので、自動でマウントされているフラッシュメモリなどはファイルシステムの恩恵に気がつかないほど便利で身近となる。 実際は様々なファイルシステムの上位にVFS?、そのVFS?を同じシステムコール?で各種プロ... -
KeventHandller.sh
標準Linuxの/usr/local/bin/内にある。 スクリプト ~ # cat /usr/local/bin/KeventHandller.sh #!/bin/sh # $1 Kernel event name . /usr/local/bin/kuro_lib case $1 in lanact) if [ "$3" = "full" ] ; then FULL_HALF="f" else FULL_HALF="h" fi case $2 in 0) LINKSPEED="nolink" ... -
Kevent.sh
標準Linuxの/etc/init.d/内にある。 カーネルイベントを監視するKeventdを起動・終了・再起動させるためのスクリプト。 動作内容 引数に応じてKeventdを操作する。 startの場合 Keventdをバックグラウンドで起動する。 stopの場合 Keventdを終了する。 restartの場合 Keventdを再起動する。 スクリプト #!/bin/sh start(){ if [ -x /usr/local/sbin/Keventd ] ; then Keventd fi } stop(){ killall Keventd } case $1 in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage Kevent.sh {start|stop|r... -
Fand
標準Linuxの/usr/local/sbin/内にある。 スクリプト ~ # cat /usr/local/sbin/Fand #!/bin/sh CONF_FILE=/etc/fan.prof miconapl -a fan_set_speed full while do while do sleep 60 TEMP=`miconapl -a temp_get|grep temp=| sed -e "s/.*=//"` SPD=`miconapl -a fan_get_speed|grep fan_rpm=|sed -e "s/.*=//"` SSPD=`miconapl ... -
rcS
標準Linuxの/etc/init.dにある。 スクリプト #!/bin/sh PATH=/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin export PATH DispSF(){ if [ $1 -eq 0 ] ; then echo [Success] else echo [Failed ] fi } MountSystemFolders(){ ##### mount system file systems.##### ##### we can t mount usbfs cause kernel don t have a usb driver statically. #### echo "===== Starting MountSystemFolders ====="... -
(エラー)RESETボタンでの初期化中、INFO LEDが点滅して作業が中断する
RESETボタンを押しHDDに開発用Linux(あるいは何らかのディストリビューション導入キット)を導入しようとした際、コンソール上では何も進まなくなりINFO LEDもオレンジの点滅が止まる気配がない、といったエラーが起こることがある。 この時mountコマンドで確認してもHDDはマウントされておらず、ただfdiskコマンド?で確認すると4つのパーティション?に切られていることがわかっている。 そして開発用Linuxのhddrootfs.tar.gzも展開されていないはずだ。 原因HDDの取り付け後 パーティションを切る 各パーティションをフォーマットし、開発用Linux導入完了 fdiskコマンドでパーティション解放 InitDisk1.shのチェックを抜ける パーティションを切る 各パーティションをフォーマットする /etc/melco/infoを用意する 対処 原因 ... -
PlayBeep.sh
標準Linuxの/usr/local/bin/内にある。 スクリプト #!/bin/sh if [ -f "$1" ] ; then TEMPO=`grep "TEMPO=" $1|sed -e "s/TEMPO=//"` MELODY=`grep -v "TEMPO=" $1` PLAYDATA="${TEMPO} ${MELODY}" else MELODY=`echo $*| sed -e "s/$0//"` PLAYDATA=${MELODY} fi miconapl -a bz_melody ${PLAYDATA} スクリプト詳細 一文づつ見てみる。 #!/bin/s... -
InitDisk1.sh
標準Linuxの/usr/local/bin/内にある。 HDDの初期化の役割を担う。 ユーザーの意思次第で、開発用LinuxをHDDに設置したりHDDブートするように設定する。 動作内容 スクリプト スクリプト詳細ExitWithError関数 スクリプト本文 デバイスの初期化 動作内容 HDDがマウントされていないことを確認。されていればエラー終了。 HDDがxfs形式でフォーマットされていないことを確認。されていればエラー終了。 /mnt/mtdにChangeMeDevHDDがあるかどうかを確認して以下を実行。 ある場合 HDDを/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4の4つのパーティションに切り、それぞれをフォーマットする(マウントはしない)。 デバイス フォーマット形式 /dev/sda1 ext3 /dev/sda2... -
ディストリビューションとは
主にLinuxで扱われる言葉だが、Linuxカーネル?とアプリケーションなどをパッケージして配布されるものを指す。 より詳細には、GNU/Linuxオペレーティングシステムを容易に導入できるようにした配布物をLinuxディストリビューションと呼ぶ。 本来はLinuxカーネル?を「Linux」と呼ぶため、これらディストリビューションを「ディストリ」「OS」などと呼ぶ。 つまり、自分の環境を説明するのに「Linuxを使っていてこういう不具合がある、どうすればいいだろうか」といった質問はあまりに抽象的であり誰にも答えることができないだろう。 玄箱PROでのディストリビューション 書籍やネットで玄箱PROへの導入可能なディストリビューションについて、今では様々な報告がある。 結局はARM?というCPUアーキテクチャーに対応していることが重要なのだが、ディストリビューション側の努力もあ... -
SetupDevEnv.sh
標準Linuxの/usr/local/sbin/内にある。 開発用Linuxに必要な材料をHDDに展開する役割を担う。 また、ユーザーの意思次第でHDDブートの設定も行う。 動作内容 スクリプト スクリプト詳細HDDブートの準備 U-Boot環境変数の設定 動作内容 /mnt/mtdにhddrootfs.tar.gz、uImage.buffaloがあるかどうかを確認して以下を実行。 ある場合 /mnt/bootディレクトリを作成し、/dev/sda1をext3形式でマウントして、そこにuImage.buffaloをコピーする。 /mnt/rootfsディレクトリを作成し、/dev/sda2をxfs形式でマウントして、そこにhddrootfs.tar.gzを展開する。 デバイス マウントポイント マウント形式 /dev/sda1 /mnt/boot ext3 /dev... -
Debianとは
Debian Projectという団体が作成するLinuxディストリビューション。 同団体が作成するOSは他にもDebian GNU/Hurd、Debian GNU/NetBSD、Debian GNU/kFreeBSDなどがあるため、単にDebianとしただけでは本来正しくはないが、一般的にはDebian=Linuxディストリビューションと言えるだろう。 「保守的」「厳格」といったイメージが持たれることもしばしばだが、フリーソフトウェアの健全な発展を目指すことを理念として掲げる団体としても有名だ。 Debian GNU/Linuxの特長 aptコマンドでの強力なパッケージ管理は初心者にでもすんなり受け入れられるだろう。 書籍やネット上での扱いはRedhat系よりは少ないため、情報量としてはFedoraシリーズには劣るかもしれない。 提供しているパッケージの数はLinuxディス... -
Gentooとは
Gentoo Foundationが開発するディストリビューション。 一般的に「難易度が高い」とされており、初心者が取り組むLinuxとしては不向きかもしれない。 対応しているアーキテクチャーが多く、柔軟なシステムで拡張性も高く、カスタマイズ性の良さが好まれている。 Gentoo Linuxの特長 Portageというパッケージ管理ツールを備えているが、他のディストリビューションと違い、Portageはバイナリを導入するのではなくソースから構築することで高いパフォーマンスを生み出している。 情報量も少なく、Gentoo Linuxを導入することそのものが楽しい、と言った声もある。 初心者には難易度は高い。 -
Fedoraとは
有料ディストリビューションであるRed Hat Linuxの開発元「Red Hat」が支援するFedora Projectによって開発されている。 半年に一度という驚異的なスピードでバージョンが上がっていく革新的なディストリビューション。 常に最新技術を盛り込むことを開発目的に据え、Linuxで新しいことをするには一番向いているディストリビューションかもしれない。 反面、13ヶ月しかないメンテナンス期間に不満の声もある。 リリースが短期で行われるため「バグが多い」とも言われるが、「Fedoraを使う以上それは承知のうえ」とする声もある。またはそれが楽しい一面なのかもしれない。 Fedora系の特長 Fedoraにもyumコマンドというパッケージ管理ツールが組み込まれている。 書籍などの説明ではこのyumコマンドが多いため、初めてLinuxに触れるのであれば情報量も多く、勉強... -
玄箱PROとは
「玄箱PRO」とは「くろばこプロ」と読み、玄人志向というメーカーから販売されている「組込LinuxBOX」というジャンルの製品。 玄箱PROは通称で、玄人志向の正式な商品名は KURO-BOX/PRO。 2007年2月から発売されている。2013年現在は流通在庫のみとなっている。 製品紹介サイトはこちら。 Linuxベースで起動するNASだが、最初からtelnet?接続が可能となっており、ユーザーが個々にハックすることが前提となっているような商品でもある。 また、CPU?にARM?を採用しており、Linuxを熟知している人たちからすれば適度な難易度がありハック意欲をそそる。 様々な用途 玄箱PROは、特別な設定も特に必要なく、購入してすぐにNASとして使用できる(ただし、HDDは別売りなので、未装着の場合の記録先は内蔵フラッシュメモリ)。 また、書籍やネット上で... -
コマンドとは
コマンドとはLinuxカーネル?の機能を利用するソフトウェアの総称。 シェル?で入力するコマンド群はソフトウェアだ、ということが初心者には理解しづらいが、必要なコマンドがあれば逐一導入(時にはソースからビルド)しなければ使えない。 「LinuxというOS(この表現が勘違いの元になっている)に最初から含まれている機能」ではない。 もちろん、Debianなどのディストリビューション(これが本当の意味でのOS)を導入すれば最初から使えるコマンドも豊富であることは確かだ。 しかしそれはDebianが独自の利便性判断に基づいてあらかじめセットにして提供しているだけであり、「Debianのmountコマンド」「Fedoraのdfコマンド?」などという表現は根本的にはおかしい。 コマンドの出自を伝えるのであれば「GNU?のbinutilコマンド?」や「BusyBoxのtarコマンド?」としなけ... -
kuro_lib
標準Linuxの/usr/local/bin/内にある。 スクリプト #!/bin/sh # KURO-BOX/PRO shell script common routines. # Ver 1.002007/01/17 new by Y.H. # DEFAULT_IP=192.168.11.150 ENETNAME=eth0 #setup global environment values. MTD_SHARE=`grep extra /proc/mtd| sed -e "s/ .*//"` MTD_UIMAGE=`grep uImage /proc/mtd|sed -e "s/ .*//"` MTD_ROOTFS=`grep rootfs /proc/mtd|sed -e "s/ .*//"` MTD_UBOOT... -
BusyBox
BusyBoxとは BusyBoxは多くの標準的なLinuxユーティリティ(コマンド群)を1つの実行可能プログラムとして実装したもの。 それぞれのコマンドが共有する多くの共通要素をまとめることで、数多くのコマンドを備えながら小さな容量におさえることのできた非常に優れたPOSIX準拠プログラム。 なお、BusyBoxにはランレベルの概念はない。 BusyBoxの仕組み BusyBoxが動作する仕組みは比較的簡単で、自分を呼び出した時のプログラム名が動作すべきコマンドだと判断する。 例として「kurobox」という名前でBusyBoxにシンボリックリンクを貼り、PATHの通った場所に置き実行すると、BusyBoxは「kuroboxというコマンドを実行しろ」と命令されたものだと認識する。 main関数のargv[0]が「呼び出したコマンド名」だ。 豊富なコマンド群もほとんどがシ... -
マウントオプション
ファイルシステムをマウントする際、マウントポイント・ファイルシステムタイプと共に指定できる。 主なマウントオプション オプション 動作 async ファイルシステムへの書き込みを非同期で行うオプション。このオプションを設定すると、ファイルシステムに対する書き込み要求が発生した時に、その書き込みデータがいったんメモリに保存され、あとで(処理の空いたタイミングで)書き込みが実行される。これにより、実行中のプログラムはデータの書き込み処理を待つ必要がなくなり、処理速度の向上が見込めるようになる sync ファイルシステムへの書き込みを同期で行うオプション。このオプションを設定すると、ファイルシステムに対する書き込み要求が発生した時点で、その書き込みデータがファイルシステムに書き込まれる。そのため、実行中のプログラムは、ファイルシステムにデータが書き込まれるまで処理を停止して待つ必要がある ... -
(エラー)disk is already mounted!
既にマウントされたHDDに対してRESETボタンを長押しした場合、このようなエラーメッセージがコンソールに表示される。 詳しい挙動はInitDisk1.shにて説明するが、/dev/sda、/dev/sda1、/dev/sda4のいずれかがマウントされている場合に出現するエラーのようだ。 対処 umountコマンドでマウントを外す。 ~ # umount /mnt/disk1 しかし外しただけではおそらく次のフォーマットに関するエラーが発生する。 -
networking.sh
標準Linuxの/etc/init.d/内にある。 スクリプト スクリプト詳細configure関数 set_defaultGw関数 set_defaultIp関数 set_defaultIf関数 set_dns関数 start関数 stop関数 スクリプト本体 スクリプト #!/bin/sh # # start/stop network deamons # # DHCPCD=/sbin/dhcpcd BASE=`basename $DHCPCD` LOCK=/var/lock/networking . /usr/local/bin/kuro_lib if [ -f /etc/netinfo ]; then . /etc/netinfo fi # for dhcpcd.exe export INTERFACE=$ENETNAME configure() { echo ... -
外部と接続する仕組み
LinuxにおいてIPネットワーク上での通信には明快なルールが存在する。 IPアドレス←→ホスト名を解決(名前解決)するDNS?が存在するのか DNS?を使わずに名前解決するのなら/etc/hosts?ファイルを使う DNS?を使うのなら各コンピューターに「どのDNS?サーバーを使うのか」を設定するため、/etc/resolv.conf?にDNS?サーバのIPアドレスを記述する 2と3のどちらを優先するかを/etc/nsswitch.conf?に記述する という段階で設定する必要がある。 1.DNSが存在するか インターネットに接続する場合であればDNS?は不可欠だが、LAN内での通信ならば必ずしも必要ではない。 LAN内通信の場合、通信相手のIPアドレスさえわかれば解決すべき名前を使わずに済むので苦労しない。 2./etc/hosts LAN内通信でホスト名(たとえば... -
玄箱PROのスペック
玄箱PROのスペックを、ハード・ソフト両面で検証する。 ハードウェアコントロール部 ネットワークインターフェイス部 SATAインターフェイス部 HDD USBインターフェイス部 LED部 その他I/F ソフトウェア ハードウェア 「KUROBOX/PRO製品仕様書」から抜粋。 コントロール部 項目 内容 CPU Marvell 88F5182 (400MHz) メモリ 128MB (32Mbits × 16bits × 2) データストレージ NOR Flash 256KiB - Buswidth 8bit(u-boot 格納用) NAND Flash 256MiB - Buswidth 8bit(rootfs用) インターフェイス - ネットワークインターフェイス部 項目 内容 インターフェイス (10BASE-T) IEEE802.3 (100BASE-TX)... -
miconaplコマンド
コマンドの使い方を探る/以下の全ファイルから「miconapl」文字列を探す $PLAYDATAを調べる $SSPD_NEWを調べる まとめファンの制御 ブザーの制御 LEDの制御 温度の管理 コマンドの使い方を探る 玄箱PROに組み込まれた各種装置を論理的に操作するのはCPUである88F5182だが、実際に直接制御しているのはμPD78F0500だ。 そして88F5182がμPD78F0500を制御するために使用しているのがこのmiconaplコマンドなのだが、このコマンドはプログラムでありソースは公開されていない。 詳しい使い方を知るためにはmiconaplコマンドを使用しているスクリプトを調べればいい。 /以下の全ファイルから「miconapl」文字列を探す findコマンドでファイル形式のものを検索し、その中身にmiconaplという記述があればそれを出力する。 ... -
メニュー
ブログ内検索 and or メニュー トップページ 掲示板 更新履歴 取得中です。 未作成ページ telnet arm httpd fileコマンド カーネル sethostname.sh ... - @wiki全体から「(標準Linux)終了メッセージ」で調べる