|
CoLinux TIPS †CoLinuxのミニ情報 ウィンドウが2つ開いてうっとおしいんだけど †起動時オプションに -t nt キーボードがUSタイプになっているので日本語キーボードにしたい †$ su - Password: # dpkg-reconfigure console-data Select keymap from arch list ↓ qwerty ↓ Japanese ↓ Standard タイムゾーンを日本にしたい †$ su - Password: # tzconfig ↓ Nuber: 5 ↓ Name: [] Tokyo coLinux上からCFカードを認識させたい †お使いのコンピュータでCFカードがどのように WINDOWSに認識されているかを調べます。 コントロールパネル →管理ツール →コンピュータの管理 この例では CFカード (Gドライブ)が disk1 として Windowsに認識されています。 ここではディスク番号を調べただけで、何も変更を加えません。 Windowsでは
となるようです。またWindowsではCFのようなリムーバブルディスクにはパーテーションは1つしか作れないようです。 coLinux 起動パラメータ (config.txt) の後ろに sda=\Device\Harddisk1\Partition0 sda1=\Device\Harddisk1\Partition1 と追加してcoLinuxを起動します。 パーテーションを切ります。前述したようにパーテーションは1つだけとしてください。 # cfdisk /dev/sda (/dev/sdaはCFカード全体を示す) ここでいったんcolinuxを終了し、CFカードを抜き取ります。WindowsOSが認識しているパーテーションサイズと、CFカードに書き込まれたパーテーションサイズが異なるとエラーの原因となるためです。 必ずcoLinuxを再起動と、CFカードを抜く、刺しなおすをしてください。 coLinuxの電源OFF # poweroff WindowsPCからCFカードを抜いて、しばらく置いてから挿しなおし WindowOSに新しいパーテーションサイズを認識させます。 再度coLinuxを起動して、フォーマットします。ext2形式でフォーマットする場合は以下のようにします。 # mkfs.ext2 /dev/sda1 (/dev/sda1はCFカード第1パーテーションを示す) この後 /dev/sda1 デバイスをマウントして自由に使えますが、ライトキャッシュが無効化されているようなので、かなり遅いです… マウントの例 # mount /dev/sda1 /mnt -t ext2 CoLinuxのカーネルを再コンパイルしたい †CoLinux-0.7.8編 CoLinux上で自作ドライバモジュールの実験をしたいときなど、カーネルソースは日常的に必要?ですよね。以下に手順を載せます。 追加のライブラリやgccをインストールする $ su - password: # apt-get install gcc libncurses5-dev $ uname -r 2.6.33.5-co-0.7.8 とすると素のカーネルは 2.6.33.5 ということなので、ftp.kernel.orgから素のカーネルをダウンロードする $ mkdir ~/colinux-kernel $ cd ~/colinux-kernel $ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.5.tar.bz2 http://www.colinux.org/ から coLinux-0.7.8-src.tar.gz を探し出してきてダウンロードする つまり必用なものは次の2つです linux-2.6.33.5.tar.bz2 coLinux-0.7.8-src.tar.gz 展開します $ cd ~/colinux-kernel $ tar xjf linux-2.6.33.5.tar.bz2 $ tar xzf coLinux-0.7.8-src.tar.gz この時点で次の2つのディレクトリができています /home/kaihatsu/colinux-kernel/coLinux-0.7.8 /home/kaihatsu/colinux-kernel/linux-2.6.33.5 CoLinuxのパッチを作る $ cd coLinux-0.7.8/patch/ $ cat `cat series-2.6.33.5 ` > /tmp/sumary.patch $ cd ../../ カーネルソースにパッチします $ cd linux-2.6.33.5 $ patch -p1 < /tmp/sumary.patch コンフィグレーションを得る $ cp ../coLinux-0.7.8/conf/linux-2.6.33.5-config .config ビルドします $ make menuconfig $ make 出来上がった vmlinux を Windows上でCoLinuxをインストールしたフォルダに置きます。たとえば C:\colinux\vmlinux といった風に置きます。注意点としては
CoLinuxからWindowsのシリアルポートを使いたい †それはできません 残念ながら、今のところ(0.6.3では)サポートされていません。colinux的な考え方をするなら、16550Aのエミュではなくて、/dev/ttyCOS0 等の新しいTTYドライバを作ることになるのでしょう。作ろうと思えば作れると思いますが。。 SWAP領域を作りたい †Windowsのコマンドプロンプト(スタート→ファイル名を指定して実行→cmd)で以下のコマンドを実行します。 C:\> fsutil file createnew swapfile.bin 134217728 上記は128Mbyte(134217728バイト)の例です。これは一瞬で終わります。このswapfile.bin(中身は空)をルートイメージファイルが置いてあるのと同一のディレクトリに置いてください。 coLinuxの起動パラメータに hda2=c:\colinux\swapfile.bin などと書き加え、イメージファイルを hda2 パーテーションに割り当てます。 colinuxを起動して root ユーザにて colinux:~# mkswap /dev/hda2 Setting up swapspace version 1, size = 134213 kB no label, UUID=7b0a7904-4138-4ff8-93d2-4fc6f7691f5b として swap領域としてフォーマットします。 swapon すると swapの使用を開始します。 colinux:~# swapon /dev/hda2 次回起動時以降、自動的にswapを有効にするには /etc/fstab に /dev/hda2 の行を追加します。 # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/hda1 / ext3 errors=remount-ro 0 1 /dev/hda2 none swap sw 0 0 ←この行を追加した proc /proc proc defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 colinuxのディスクがいっぱいになってしまった。拡張したい。 †SWAP領域を作りたいと同じ要領です。新しいパーティション・イメージ・ファイルを作ってファイルを全部引っ越します。 Windowsのコマンドプロンプト(スタート→ファイル名を指定して実行→cmd)で以下のコマンドを実行します。 C:\>cd c:\colinux C:\colinux>fsutil file createnew new_rootfs.bin 2146435072 ここで 2146435072 = 2047*1024*1024 = 2G弱です。 なぜ 2048*1024*1024 ではないかというと、2G=0x80000000 (singed int でマイナス値) で一部の圧縮ソフトが誤動作するため coLinuxの起動パラメータに hda3=c:\colinux\new_rootfs.bin と書き加え、再起動します。 rootユーザでログインし、/dev/hda3 をフォーマットします # mkfs.ext3 /dev/hda3 マウントし、全ディレクトリをコピーします。 # mount /dev/hda3 /mnt # cp -a /bin /boot /dev /etc /home /initrd /lib /opt /root /sbin /usr /var /mnt/ # cd /mnt # mkdir cdrom # mkdir floppy # mkdir mnt # mkdir proc # mkdir sys # mkdir tmp # mkdir windows # cd ../ # umount /mnt coLinuxの起動パラメータを hda1=c:\colinux\new_rootfs.bin にして (hda3は削除して) 引っ越し完了 関連 †
自動
コメント欄 † |