ページへ戻る
印刷
OSASK_bin_on_Linux(old)
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:OSASK_bin_on_Linux(old) をテンプレートにして作成
開始行:
*このページの内容は整理前の「Linux上でOSASK用バイナリを生...
-すべてはこのページでのwqさんのがんばりから始まったのです...
*概要
ここではC言語で書かれたプログラムをLinux上でクロスコンパ...
OSASK用の実行ファイルを生成する為の環境を構築する手順を説...
Solarisや*BSD等、他のUNIX系OSでも同様の手順で上手く行くと...
確かめてはいません。(おそらくgcc,make,patchあたりが使えれ...
クロスコンパイルに必要なものは make, cc1, gas2nask, nask,...
の6個のプログラムです。このうちmakeはLinuxに最初からイン...
ものを使えば良いのですが、他のものは以下の手順に従って揃...
なお私の使った主なプログラムのバージョンは次の通りです。
-lha 1.14g
-gcc 2.95.3
-make 3.79.1
-patch 2.5.4
*前準備
以下の4個のファイルをダウンロードし、一つのディレクトリ...
さらにlinux-patches0001.tar.gzを展開します。
#ref(linux-patches0001.tar.gz)
gcc-3.2-20020817-1.src.tar.gz~
http://sourceforge.net/projects/mingw/
go_0011s.lzh~
http://www.imasy.org/~kawai/osask/developers.html
-もしcc1のソースが不要なら、go_0011p.lzhを使うほうがダウ...
obj2bi3a.lzh~
http://www.afis.to/~mone/osask/osask_ml/200102/msg00006.h...
から、ベータ版ページに行って、そこからDL
-この代わりに http://www.imasy.org/~kawai/osask/developer...
*いよいよコンパイル
linux-patches0001.tar.gz~
このページの下の方の「添付」のところにあります。
introa11.lzhを例にとって説明します。
*cc1を作る
(introa11.lzh はhttp://www.imasy.org/~kawai/osask/develop...
最初から入っていたネイティブのcc1ではgas2naskと上手く連係...
ですので、ソースから作ります。
$ tar xvzf gcc-3.2-20020817-1.src.tar.gz
$ cd gcc-3.2-20020817-1
$ patch -p1 < ../gcc.patch
$ touch gcc/config/i386/cygwin2.c
$ cd ..
$ mkdir gcc-build
$ cd gcc-build
$ ../gcc-3.2-20020817-1/configure --target=i386-pc-cygwin
$ patch gcc/auto-host.h < ../auto-host.patch
$ cd libiberty
$ make libiberty.a
$ cd ../gcc
$ make cc1
これでcc1が出来ました。cc1のみ ~/osask/binなどに
コピーすれば残りは消してしまってOKです。
*gas2naskを作る
$ lha -e go_0011s.lzh gas2nask/gas2nask.c
$ cd gas2nask
$ patch < ../gas2nask.patch
$ gcc -O2 -o gas2nask gas2nask.c
gas2naskのみ ~/osask/binなどにコピーすれば残りは消してし...
*naskを作る
$ lha -e go_0011s.lzh nask/{nask.c,ll.c,ll_lib.c,drv_w32...
$ cd nask
$ patch -p1 < ../nask.patch
$ gcc -O2 -o nask drv_w32/boot.c nask.c ll.c ll_lib.c
naskのみ ~/osask/binなどにコピーすれば残りは消してしまっ...
introa11.lzhを展開します。
*obj2bim3,bim2bin3 を作る
$ lha -e obj2bi3a.lzh callmain.c obj2bim3.c bim2bin3.c
$ gcc -O2 -o obj2bim3 callmain.c obj2bim3.c
$ gcc -O2 -o bim2bin3 callmain.c bim2bin3.c
少しwarningが出るのは気にしない。
obj2bim3, bim2bin3を ~/osask/binなどにコピーすれば残りは...
makefile 内の SJISCONVのところを
*最後に
~/osask/binにPATHが通るようにして下さい。
以上でOSASKアプリの開発環境が整いました。
SJISCONV = ln
と置き換えます。(笑~
makefile を Makefile にリネームします。
(何故その必要があるのかは、makefileの中を見れば分かります...
$ make
でhelloc4.binが生成されます。
*VMWareでOSASKを動かす
**大まかな手順
小柳さんのページ(http://homepage1.nifty.com/dreaming/osas...
「OSASK/AT ver.3.6 簡単おすすめパックの VMware 用 イメー...
をとってきて展開すると osask36.flpが出来ます。
VMWareの設定のfloppy deviceの所で~
Type: File~
Path: <osask36.flpのパス>~
*勝手にRPM!
COLOR(#ff0000){''注:''ここはhideyosiが書き加えたものです...
上記のwqさんの功績をチョッパリ!!COLOR(GRAY){←差別表現} (...
ここまでのセットアップを完了済みのRPMを公開します。動作は...
とします。
[[完成品:http://hideyosi.zive.net/age/goset/goset-0.0.1-0...
[[ソース:http://hideyosi.zive.net/age/goset/goset-0.0.1-0...
[[specファイル:http://hideyosi.zive.net/age/goset/goset.s...
**VMWareで動かしているOSASKにLinuxからファイルを送る手順
バイナリは全て /usr/bin/ 以下に展開されます。さらに、intr...
導入した後は、例えば
~/$ cp -R /usr/share/osask-examp hello4
~/$ cd hello4
~/hello4/$ make
とかで、OSASKで稼動する hello4c.bin をコンパイルすること...
specファイルは物凄くテキトーです。「あらら?」と思った方...
wqさんへ
こういったものを公開してみましたが、どうでしょう?。ライ...
まずosask36.flpを適当なディレクトリにマウントしておきます...
# mkdir /mnt/osask
# mount -o loop -o uid=wq osask36.flp /mnt/osask
- -o loop: ループバックデバイスをマウントする。
- -o uid=wq: 中のファイルの所有者をwqにする。(wqの部分は...
マウントできたら次のようにします。
(helloc4.binを送りたいときの例)
$ cp helloc4.bin /mnt/osask
$ sync
OSASKのPOKONで[Shift]-[Insert]
syncはlinuxが遅延書き込みしていた分を実際に書き込ませます。
POKONで[Shift]-[Insert]とするとOSASKはフロッピィを再度読...
**TIPS
OSASKを動かしている間 osask36.flpをマウントしっぱなしにす...
つまりMakefileの後ろに
cp $*.bin /mnt/osask
sync
等と書いておくととても便利です。
*うまくいかないときはこちらへどうぞ
-試してはいないけどコメント。すごーい!linksetはそのうち...
-ここに感想を書いちゃまずいかもしれない気がしてきたので、...
-あ、うまくいかないときに限らず感想とか提案なども書いて下...
-やっぱりDL出来ないです、xreaとこのwikiの相性が良くないの...
-くーみんさんの発言は省略があってわかりにくそうなので、フ...
-ダウンロードできるようにしました。こちらの設定不備による...
-すばらしい! (ASKAもあればOSASKが作れる^^;) コンパイルに...
-ダウンロードの件、ありがとうございました。>nisiさん -- ...
-バージョンは上の方に書いておきました。>I.Tak.さん -- [[...
-前準備の項目のところを勝手にいじりました。ごめんなさい。...
-askaのビルドできたひといますかね? -- SIZE(10){2003-07-2...
-結論:LinuxでOSASK本体はビルドできないのでしょうか? -- ...
-ASKAをコンパイルしようとしたらio.hが無いと叱られました。...
-ASKAはよく分かりませんが、naskがコンパイルできないのはつ...
-あれ?こっちでは(Red Hat9)~/osask/bin/naskがありますけど...
-RPMの話ではなく, コンパイルするときの話なんです>parse er...
-ん? ~/osask/bin/naskということはやっぱりコンパイルの話...
-え? nask コンパイル通りませんか? へんだなぁ。I.Takさん...
-Debian GNU/Linux 3.0r0 が入っております。カーネルがコン...
***I.Takさんへ
-うちでデビを導入して実験してみました。うちでも ''parse e...
-''wqさん''のlinux-patches0001.tar.gzなんですが、こいつの...
-wqさんの解説書(上のほうの)は、CC1・gas2nask・・・と順...
~/test── nask ─┬─ nask.c
│ │
│ ├─ ll.c
│ │
│ ├─ ll_lib.c
│ │
│ └─ drv_w32 ── boot.c
│
include ─┬─ stdio.h ←─┬─ linux-patches000...
└─ stdlib.h ←─┘
- linux-patches0001.tar.gz 内の include を配置して今一度...
-ついでです。うちのデビのパッケージリストです。ご参考まで...
-おお, 思い当たります。なるほど……成功しました。ありがとう...
終了行:
*このページの内容は整理前の「Linux上でOSASK用バイナリを生...
-すべてはこのページでのwqさんのがんばりから始まったのです...
*概要
ここではC言語で書かれたプログラムをLinux上でクロスコンパ...
OSASK用の実行ファイルを生成する為の環境を構築する手順を説...
Solarisや*BSD等、他のUNIX系OSでも同様の手順で上手く行くと...
確かめてはいません。(おそらくgcc,make,patchあたりが使えれ...
クロスコンパイルに必要なものは make, cc1, gas2nask, nask,...
の6個のプログラムです。このうちmakeはLinuxに最初からイン...
ものを使えば良いのですが、他のものは以下の手順に従って揃...
なお私の使った主なプログラムのバージョンは次の通りです。
-lha 1.14g
-gcc 2.95.3
-make 3.79.1
-patch 2.5.4
*前準備
以下の4個のファイルをダウンロードし、一つのディレクトリ...
さらにlinux-patches0001.tar.gzを展開します。
#ref(linux-patches0001.tar.gz)
gcc-3.2-20020817-1.src.tar.gz~
http://sourceforge.net/projects/mingw/
go_0011s.lzh~
http://www.imasy.org/~kawai/osask/developers.html
-もしcc1のソースが不要なら、go_0011p.lzhを使うほうがダウ...
obj2bi3a.lzh~
http://www.afis.to/~mone/osask/osask_ml/200102/msg00006.h...
から、ベータ版ページに行って、そこからDL
-この代わりに http://www.imasy.org/~kawai/osask/developer...
*いよいよコンパイル
linux-patches0001.tar.gz~
このページの下の方の「添付」のところにあります。
introa11.lzhを例にとって説明します。
*cc1を作る
(introa11.lzh はhttp://www.imasy.org/~kawai/osask/develop...
最初から入っていたネイティブのcc1ではgas2naskと上手く連係...
ですので、ソースから作ります。
$ tar xvzf gcc-3.2-20020817-1.src.tar.gz
$ cd gcc-3.2-20020817-1
$ patch -p1 < ../gcc.patch
$ touch gcc/config/i386/cygwin2.c
$ cd ..
$ mkdir gcc-build
$ cd gcc-build
$ ../gcc-3.2-20020817-1/configure --target=i386-pc-cygwin
$ patch gcc/auto-host.h < ../auto-host.patch
$ cd libiberty
$ make libiberty.a
$ cd ../gcc
$ make cc1
これでcc1が出来ました。cc1のみ ~/osask/binなどに
コピーすれば残りは消してしまってOKです。
*gas2naskを作る
$ lha -e go_0011s.lzh gas2nask/gas2nask.c
$ cd gas2nask
$ patch < ../gas2nask.patch
$ gcc -O2 -o gas2nask gas2nask.c
gas2naskのみ ~/osask/binなどにコピーすれば残りは消してし...
*naskを作る
$ lha -e go_0011s.lzh nask/{nask.c,ll.c,ll_lib.c,drv_w32...
$ cd nask
$ patch -p1 < ../nask.patch
$ gcc -O2 -o nask drv_w32/boot.c nask.c ll.c ll_lib.c
naskのみ ~/osask/binなどにコピーすれば残りは消してしまっ...
introa11.lzhを展開します。
*obj2bim3,bim2bin3 を作る
$ lha -e obj2bi3a.lzh callmain.c obj2bim3.c bim2bin3.c
$ gcc -O2 -o obj2bim3 callmain.c obj2bim3.c
$ gcc -O2 -o bim2bin3 callmain.c bim2bin3.c
少しwarningが出るのは気にしない。
obj2bim3, bim2bin3を ~/osask/binなどにコピーすれば残りは...
makefile 内の SJISCONVのところを
*最後に
~/osask/binにPATHが通るようにして下さい。
以上でOSASKアプリの開発環境が整いました。
SJISCONV = ln
と置き換えます。(笑~
makefile を Makefile にリネームします。
(何故その必要があるのかは、makefileの中を見れば分かります...
$ make
でhelloc4.binが生成されます。
*VMWareでOSASKを動かす
**大まかな手順
小柳さんのページ(http://homepage1.nifty.com/dreaming/osas...
「OSASK/AT ver.3.6 簡単おすすめパックの VMware 用 イメー...
をとってきて展開すると osask36.flpが出来ます。
VMWareの設定のfloppy deviceの所で~
Type: File~
Path: <osask36.flpのパス>~
*勝手にRPM!
COLOR(#ff0000){''注:''ここはhideyosiが書き加えたものです...
上記のwqさんの功績をチョッパリ!!COLOR(GRAY){←差別表現} (...
ここまでのセットアップを完了済みのRPMを公開します。動作は...
とします。
[[完成品:http://hideyosi.zive.net/age/goset/goset-0.0.1-0...
[[ソース:http://hideyosi.zive.net/age/goset/goset-0.0.1-0...
[[specファイル:http://hideyosi.zive.net/age/goset/goset.s...
**VMWareで動かしているOSASKにLinuxからファイルを送る手順
バイナリは全て /usr/bin/ 以下に展開されます。さらに、intr...
導入した後は、例えば
~/$ cp -R /usr/share/osask-examp hello4
~/$ cd hello4
~/hello4/$ make
とかで、OSASKで稼動する hello4c.bin をコンパイルすること...
specファイルは物凄くテキトーです。「あらら?」と思った方...
wqさんへ
こういったものを公開してみましたが、どうでしょう?。ライ...
まずosask36.flpを適当なディレクトリにマウントしておきます...
# mkdir /mnt/osask
# mount -o loop -o uid=wq osask36.flp /mnt/osask
- -o loop: ループバックデバイスをマウントする。
- -o uid=wq: 中のファイルの所有者をwqにする。(wqの部分は...
マウントできたら次のようにします。
(helloc4.binを送りたいときの例)
$ cp helloc4.bin /mnt/osask
$ sync
OSASKのPOKONで[Shift]-[Insert]
syncはlinuxが遅延書き込みしていた分を実際に書き込ませます。
POKONで[Shift]-[Insert]とするとOSASKはフロッピィを再度読...
**TIPS
OSASKを動かしている間 osask36.flpをマウントしっぱなしにす...
つまりMakefileの後ろに
cp $*.bin /mnt/osask
sync
等と書いておくととても便利です。
*うまくいかないときはこちらへどうぞ
-試してはいないけどコメント。すごーい!linksetはそのうち...
-ここに感想を書いちゃまずいかもしれない気がしてきたので、...
-あ、うまくいかないときに限らず感想とか提案なども書いて下...
-やっぱりDL出来ないです、xreaとこのwikiの相性が良くないの...
-くーみんさんの発言は省略があってわかりにくそうなので、フ...
-ダウンロードできるようにしました。こちらの設定不備による...
-すばらしい! (ASKAもあればOSASKが作れる^^;) コンパイルに...
-ダウンロードの件、ありがとうございました。>nisiさん -- ...
-バージョンは上の方に書いておきました。>I.Tak.さん -- [[...
-前準備の項目のところを勝手にいじりました。ごめんなさい。...
-askaのビルドできたひといますかね? -- SIZE(10){2003-07-2...
-結論:LinuxでOSASK本体はビルドできないのでしょうか? -- ...
-ASKAをコンパイルしようとしたらio.hが無いと叱られました。...
-ASKAはよく分かりませんが、naskがコンパイルできないのはつ...
-あれ?こっちでは(Red Hat9)~/osask/bin/naskがありますけど...
-RPMの話ではなく, コンパイルするときの話なんです>parse er...
-ん? ~/osask/bin/naskということはやっぱりコンパイルの話...
-え? nask コンパイル通りませんか? へんだなぁ。I.Takさん...
-Debian GNU/Linux 3.0r0 が入っております。カーネルがコン...
***I.Takさんへ
-うちでデビを導入して実験してみました。うちでも ''parse e...
-''wqさん''のlinux-patches0001.tar.gzなんですが、こいつの...
-wqさんの解説書(上のほうの)は、CC1・gas2nask・・・と順...
~/test── nask ─┬─ nask.c
│ │
│ ├─ ll.c
│ │
│ ├─ ll_lib.c
│ │
│ └─ drv_w32 ── boot.c
│
include ─┬─ stdio.h ←─┬─ linux-patches000...
└─ stdlib.h ←─┘
- linux-patches0001.tar.gz 内の include を配置して今一度...
-ついでです。うちのデビのパッケージリストです。ご参考まで...
-おお, 思い当たります。なるほど……成功しました。ありがとう...
ページ名: