サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
夏の料理
www.nk.rim.or.jp/~jun
NANDフラッシュ(/dev/mtdblock2)のtarを入れ替え tar-1.20のコンパイル テスト /dev/mtdblock2 にコピー システムバックアップ NANDフラッシュから起動 バックアップ リストア NANDフラッシュから起動 パーティションの作成 フォーマット バックアップファイルの転送 カーネルイメージの /dev/sda1 へのコピー バックアップファイルのリストア 動作確認 玄箱PROのシステムバックアップはハートディスクを取り出して、別のLinux BoxにUSBなどで接続すれば可能ですが、けっこう面倒なものです。そこで、ハードディスクを取り出さないでDebian環境のシステムバックアップとリストアを行う手順を自分自身の備忘録としてまとめました。リストアが必要となる状況では正常な精神状態ではないはずなので手順を確認しておくことは必要ですよね。 シリアルコン
カーネルコンパイルの準備 カーネルソースの入手と展開 電源OFF用のパッチの適用 カーネルオプションの設定 コンパイラのバージョンの指定(lennyの場合) カーネルのコンパイル カーネルモジュールのコンパイル カーネルモジュールのインストール zImage から実行用の uImage バイナリを作成 実行例 シリアルコンソールの出力 Keventd の変更 NTFSフォーマットの読み書き /etc/fstab /etc/rc.local 動作確認(成功) 失敗の記録 追記: linux-2.6.26.2でも成功 玄箱PRO でも Windowsマシンで使っている NTFS フォーマットのUSB外付けハードディスクを使ってみたくなりました。最近では Linux でも ntfs-3g を使うとNTFSの読み書きが問題なくできるようになっています。玄箱PRO で ntfs-3g を使うためには
Windows Vista の使用領域の縮小 ページファイルを使用しない 復元ポイントを消去 SystemRescueCDで起動 Partition Image でバックアップ バックアップファイルのチェック バックアップイメージからのリストア DVDへの書き込み SystemRescueCD-x86-0.4.1.isoの書き込み バックアップファイルの追加書き込み オマケ : sambaの起動 WindowsXPでは大物ソフトをインストールしていない場合、DriveImageなどでシステムバックアップすると2〜3枚の CD が必要でした。Windows Vista ではシステムが最低でも 10GB ほど占有するため、システムバックアップはCD-R では非常に面倒です。またバックアップイメージを DVD や USB の外付けHDD にお
玄箱PROを起動するとTeraTermのウィンドウに以下のようなメッセージが現れ、無事起動が確認できました。 Orion1 CPU = Low === KURO U-Boot. === ** LOADER ** ** KUROBOX BOARD: KURO_BOX LE (CFG_ENV_ADDR=fffff000) U-Boot 1.1.1 (Feb 13 2007 - 15:59:43) 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 (20
デバイスファイル micon はデバイスファイルとして /dev/ttyS1 が必要です。 まず、/dev/ttyS1 が存在するか確認します。 $ ls -lt /dev/ttyS1 crw-rw-rw- 1 root root 4, 65 Jul 10 00:29 /dev/ttyS1 もし無い場合は /dev ディレクトリで次のように作成してください。 # mknod ttyS1 c 4 65 /dev/ttyS1 のパーミッションを一般ユーザに与えるとリモートから電源OFFが 可能になるなどの危険性があります。玄箱PROを使用する環境によっては注意が 必要です。 コンパイルとインストール まず適当なディレクトリで解凍(展開)します。 kuro@KUROBOX-PRO:~$ tar zxf micon20080830.tar.gz micon20070710 ディレクトリへ移動します
概要 ソースの入手 ソースをWindows側から転送 HDDブート環境から起動 ソースを玄箱PROに転送 インストール用のハードディスクの用意 ハードディスクをクリア パーティションを作成 パーティションの確認 ファイルシステムのフォーマット フラッシュROM(/dev/mtdblock2)をマウント chroot してUSBで接続したHDDをフォーマット カーネルイメージのコピー カーネルイメージの確認 ソースのビルドとインストール patch-2.5.4のインストール makedev_2.3.1-83 のインストール wget-1.10.2のインストール /etc/groupの用意 debootstrap のインストール make インストール USB接続したドライブにDebian環境を構築 インストール先のパーティションをマウント debootstrap の実行 カーネルモジュールの
ただし,sys_execve() などのように struct pt_regs regs の形式で引数を渡す システムコールでは,すべてのレジスタが渡ります. struct pt_regs { long ebx; long ecx; long edx; long esi; long edi; long ebp; long eax; int xds; int xes; long orig_eax; long eip; int xcs; long eflags; long esp; int xss; }; これらのレジスタに必要な値を設定して int 0x80 を実行する ことで Linux のすべての機能にアクセスすることができます.単純ですね. なぜ C で記述されたシステムコールの引数をレジスタで渡すことができるの でしょう? もう少しあとで解説する予定です. カーネルソースのヘッダファ
J3Wの概要 J3Wは3次元アニメーション専用のプログラミング環境です.したがって,何らかの プログラミン言語の知識 (例えば,アセンブラ,C,C++,JAVA, VB 等) がある方は,簡単に 3次元アニメーションのプログラムが作成できると思います. J3Wはフリーウェア (Linux版はGPL) です.J3Wを使用したり, J3Wで作成したアプリケーションの配布は自由です. J3Wを使用して3次元アニメーションのプログラムを作成する場合,3Dライブラリ(例えば, DirectX, OpenGL等) を使用する上で必要となる三角関数や行列は全く意識する必要はありません. 「1秒間で90度右を向く」,「瞬間的に30度上を向く」,「30秒間で100m前進する」といった 物体の動きと速さをJAVA風の文法で記述するか,専用アセンブラで記述する事で3次元アニメーション を作成することが出来ます.
Linux でアセンブリプログラミング copyright (C) 2000 Jun Mizutani (mizutani.jun@nifty.ne.jp) 2. nasm のインストールと特徴 NASM のインストール 入手先は http://www.web-sites.co.uk/nasm/ です. ここでは現在 (4/11/2000) 最新のnasm-0.98 をインストールします. Redhat (Vine, LASER5, Mandrake) な人や,Debian (Storm, Corel) な人も安心 して下さい./usr/local/ 以下は依存性(rpm, dselect)の管理外です. 他のモジュール(パッケージ)に影響しないはずです. Slackware な人には余計なお世話ですね. nasm のソース nasm-0.98.tar.gz のコンパイル
付録 B. システムコールの仕組み すでに説明した(4. Linux カーネルとシステムコール) ように Linux の システムコールはレジスタに引数を設定して int 0x80 によるソフトウェア 割り込みで呼び出します. ここでは linux-2.2.16 のソースから実際にシステムコール呼び出しの 仕組みを次の3つの部分にわけて解説します. 割込みによるシステムコールをカーネルが初期化する部分 システムコールが呼び出された場合に実行される部分 システムコールの実装 【注】 ソースリスト中で行頭の数字は行番号を示しています. カーネルのバージョンによって差がありますが目安にはなるでしょう. 1. 割込みによるシステムコールをカーネルが初期化する部分 最初にカーネルの起動部分で割り込みテーブルの設定をしています. /usr/src/linux/init/main.c: 1350 as
フレームバッファを使う Linux 2.6 のカーネルの設定はLinux 2.2や2.4の設定といろいろ異なっています。 フレームバッファの設定とブート用のフロッピーディスクの設定に関して解説してみます。 フレームバッファ機能を使用するとブート時にコンソール画面右上に ペンギンのロゴ が表示され、かつてのDOS/Vで流行したコンソールの表示文字数を多くしたり、コンソール上で グラフィックを表示するプログラムが容易に作成できます。 より詳細な情報はカーネルのソースツリー中のDocumentation/fb/ 以下の文書や Documentation/svga.txt 等を参照して下さい。 私の今の環境は # cat /proc/pci でビデオカードの部分は、 Bus 0, device 2, function 0: VGA compatible controller: Intel Corp
[HOME][Linux Kernel 2.6 のフレームバッファ] Linux Kernel 2.2と2.4 のフレームバッファ Linux Kernel 2.2 から追加されたフレームバッファの機能を試してみましょう. フレームバッファ機能を使用するとブート時にコンソール画面右上に ペンギンのロゴが表示され,かつてのDOS/Vで流行したコンソールの表示文字数を多 くしたり,コンソール上でグラフィックを表示するプログラムが容易に作成できたりと チョットわくわくできます. でも kon が使用できなくなります. 注意:カーネルのコンパイルやliloの設定に自信がない方は試さないほうがいいでしょう. またパッケージ 管理が厳密なディストリビューションでは,以下のような勝手な設定はできないと思います. SlackwareやPlamoLinuxな人は問題ないでしょう. フレームバッファを使
Linux Zaurusでアセンブリプログラミング copyright (C) 2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) 7. アセンブラ GNU as の基礎知識 Linux Zaurus 上でアセンブラ (GNU as または gas と呼ぶ) でプログラミング する場合の基本的な事柄を解説します。 アセンブリソースの例 アセンブルとリンクと実行 コメント セクション ラベルとシンボル データ形式 式 擬似命令 マクロ 簡単なソースのアセンブル、リンク、実行から始めて、GNUアセンブラの文法の 重要な部分を見ていきます。 Windowsマシンで使用しているインテルのi386系のCPUでは、GNU as と MASM, TASM, NASM等のアセンブラと文法が異なるため、GNU asを使った プログラミングでは特にレジス
Quaternionは数学的には複素数の拡張で qa = a0 + a1i + a2j + a3k として表現されます.q = [ q0, ( q1, q2, q3 ) ] と書くこともできます. Quaternion q の共役(conjugation)をqと記述すると q = [ q0, -( q1, q2, q3 ) ] と定義されます. Quaternion q の絶対値は |q| = sqrt( q02 + q12 + q22 + q32 ) となり,絶対値が1のQuaternionを単位Quaternionと呼びます. 単位Quaternionの場合,q = 1/q の関係が成立します. 虚数部(ベクトル部)の i, j, k の積は以下の関係にあります. ij = k = -jk , i2 = -1 jk = i = -kj , j2
[j3w] [jdu] [rvtl] [jsh] [linux asm] [Linux Zaurus] [Linux PPC] [frame buffer] [掲示板] [Mesa] [pov-ray] [kuro] What's new. 玄箱PROのmiconapl互換コマンドの作成 (08/30/2008) オリジナルの miconapl とほぼ互換で使用できるマイコン制御プログラムの修正版です.排他ロックを組み込んでみました. 玄箱PROのシステムバックアップ (08/16/2008) 玄箱PROのシステムバックアップとリストアの手順です.備忘録としてまとめました. J3W ver.5.51 (Windows XP SP2/Vista DirectX9版)をバージョンアップ(07/27/2008) Direct3D版としては約11年ぶりのバージョンアップです.やっとver
現在ではインターネット上で検索しても資料が見つかりませんが、私の知って いる範囲でVTL系言語の仕様をまとめてみました。表の最初にある拙作の rvtl 以外は不正確な部分もあるかもしれません。 基本的には BASIC ですが、コマンドが記号に代入する形式となっています。 オリジナルは VTL (Very Tiny Language) という768バイトで書かれた ALTAIR 680b 用の Tiny BASIC です。日本では, 1980年前後に GAME III (General Algorithmic Micro Expressions) というVTL系言語が流行しました。 メモリが 4 キロバイト程度しかない環境でも BASIC という高級言語を使って みたいという切実な思いが背景にあったと思います。どれもエディタ機能まで も持っていました。 おそらく VTL は、1976年9月頃
[HOME] 玄箱インストールmemo はじめに 玄人志向の玄箱 は、PowerPC 200MHz, RAM:64MB, 100BASE-TX/10BASE-T, USB2.0 で15000円程度、 玄箱/HG は、PowerPC 266MHz, RAM:128MB, 1000BASE-T/100BASE-TX/10BASE-T, USB2.0 x 2 の Linux環境が 2万円弱で入手できます。最近のWindowsマシンと比較すると非力なマシンですが、Webサーバ、DNSサーバ、 メールサーバとしては十分な性能があり、安価にLinuxを試す環境が手に入ります。 最近の x86 のマシンをサーバとして常時稼動するとCPUの種類によりますが、 200W近い電力を消費してしまい「地球に優しくない」ため、20W以下の消費電力の玄箱は、 安心して自宅でも常時稼動できます。
この章の目次 はじめに 玄箱の開発環境 バイナリファイルのコピー 展開 アセンブリ言語とは 解説の範囲 PowerPCの特徴 エンディアン 参考資料 目次 はじめに 玄箱に使用されている CPU は Motorola (freescale) の MPC8241 で PowerPC603eをベースとした組み込み用の CPU です。玄箱は PowerPC のアセンブリプログラミングを試すには、OS として Linux を使っているため、コンパイラやアセンブラといった開発環境が付属した非常に安価に入手できるコンピュータです。 かつてはIBMの RS6000 や PowerMac を購入するしか PowerPC を使えませんでしたが、最近では任天堂のゲームキューブ(IBM Power PC “Gekko”485MHz) に使われており、
Linux でアセンブリプログラミング copyright (C) 2000,2001 Jun Mizutani (mizutani.jun@nifty.ne.jp)
GAME80コンパイラの作者の中島聡さんにGAME80 コンパイラのソースを掲載する許可を頂きました。 プログラム言語の仕組みに興味がある方にとって非常に参考になると思います。 GAME80コンパイラは、約5.5キロバイト強と非常にコンパクトなソースで記述されています。 コンパイラがこのようなサイズで作成できる理由は、GAME IIIという言語が単純な文法でありながら密度の高い記述ができることにあります。コンパイラがターゲットとする言語自身で書かれていることもGAME80コンパイラの特徴です。自分で自分自身をコンパイルできることは、言語の改善や拡張が容易であり、GAME80コンパイラ以後に多くのマシン用のGAMEコンパイラが開発された理由にもなっています。GAME IIIの文法は GAME86 または VTL系言語の歴史 を参考にして下さい。 このコンパイラはGAME言語のプログラムソース
Linux Zaurusでアセンブリプログラミング copyright (C) 2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) はじめに PC Linux (i386 CPU) の Linuxでアセンブリプログラミングと同じように、 シャープのSLシリーズを使ったアセンブリプログラミングを解説していく予定です。 アセンブラは GNU binutils に入っている GNU as を使います。 binutilsのipkパッケージを用意しました。 Sharp Linux Zaurus には、ARM系のCPUであるインテル製の Intel(R) XScale(TM) を使用しています。 インテルのサイト に XScale に関するいろいろな文書が公開されていますが、ARMコアのアーキテクチャや命令セットに関する資料は 置いてないようです。アセンブリ言語
Linux Zaurusでアセンブリプログラミング copyright (C) 2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) 目次 はじめに (10/07/2003 更新) 1. アセンブラのインストールと実行 (2/11/2003) 2. ARMのレジスタ (2/18/2003) 3. 演算命令と分岐命令 (2/22/2003) 4. ロード/ストア命令 (3/3/2003) 5. ロード/ストア命令(複数レジスタ) (3/11/2003) 6. システムコールとその他の命令 (3/29/2003) 7. アセンブラGNU asの基礎知識 (9/15/2003) 8. 標準入出力用のサブルーチンの作成 (9/23/2003) 9. フレームバッファでグラフィックス - その1 (10/07/2003) 続く... 付録A.
Linux でアセンブリプログラミング copyright (C) 2000-2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) はじめに. アセンブラを使って Linux のプログラミングで遊んでみます.アセンブラには NASM を使用して,カーネルを直接利用することにします. いまさらアセンブラでプログラムを作成することは,時代錯誤と感じる人も 多いかもしれません.「アセンブラでプログラミングなんて職人芸でしょう」 と思うかもしれません. 20年前では趣味のプログラミングは BASIC か アセンブラしか選択肢がありません でしたが,今ではPerl, Ruby からアセンブラまでの間に非常に多くの言語があって, アセンブラは普通では不要な最下層の知識となっていると思います. 10BaseT のツイストペアケーブルのインピーダンス
このページを最初にブックマークしてみませんか?
『Jun's Homepage』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く