|
このページは「24環境」の情報です 第3回 sh-lilo †海老原祐太郎
2002/8/17
2002年8月時点での最新sh-liloを導入してみます。 ダウンロード †cvsを使ってダウンロードします $ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/superh login Logging in to :pserver:anonymous@cvs.m17n.org:2401/cvs/superh CVS password: <リターン> $ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/superh co lilo cvs server: Updating lilo cvs server: Updating lilo/precompiled カレントディレクトリに lilo/ というディレクトリができると思います コンパイル †特に変更することはありません。そのまま make するだけです。 ~/lilo$ make clean rm -f *.o *.exe *.bin tmp_make rm -f lilo boot.b ~/lilo$ make sh3-linux-gcc -c -O2 -I. -pipe -fPIC -DIGNORECASE -DVARSETUP -DREWRITE_TABLE -DLARGE_EBDA-DONE_SHOT \ -DPATH_MAX=255 lilo.c In file included from lilo.c:27: 略 sh3-linux-ld -T second.lds -EL second.o string.o -o second.exe -Ttext 0x8c201000 sh3-linux-objcopy -R .comment -S second.exe -O binary second.bin cat first.bin second.bin >boot.b ~/lilo$ lilo と boot.b という2個のファイルができあがります。 liloバージョン †sh-lilo を使うときにはバージョンに注意しなければなりません。 fisrt.S 変更前 #if 1 /* EDIT HERE ! */ ! Depends LILO's version .word 20 #else /* v--- Major Version */ .word 4*256 + 21 ! /* ^--- Minor Version*/ #endif first.S 変更後 /* v--- Major Version */ .word 7*256 + 21 ! /* ^--- Minor Version*/ 上位バイトがマイナーバージョン、下位バイトがメジャーバージョンになります。 このようにversion21.7として変更した boot.b は、判別しやすい様に sh-linux機の/boot/boot.b.2107 といった 開発機でクロスでliloを打ち込む †クロス sh-linux機の /etc/lilo.conf-cross ファイルを用意します。 linear boot=/dev/hde (開発機から見たコンパクトフラッシュ) disk=/dev/hde (開発機から見たコンパクトフラッシュ) bios=0x80 install=/boot/boot.b.2107 (ブートローダ version 21.7用) image=/boot/vmlinuz label=linux root=/dev/hda1 (CAT68701から見たroot / パーテーション) read-only append="console=ttySC0,115200 mem=32M" 開発機からliloを打ち込みます # lilo -r /mnt -C /etc/lilo.conf-cross Added linux * lilo -r /mnt にて rootを /mnt に変更しています。このため -C /etc/lilo.conf-cross ファイルの指定や、 sh-linux でセルフでliloを打ち込む †先ほどmakeして作った lilo を sh-linux機の /sin/lilo にコピーしておきます。 セルフ用 /etc/lilo.conf linear boot=/dev/hda (CAT68701から見たコンパクトフラッシュ) disk=/dev/hda (CAT68701から見たコンパクトフラッシュ) bios=0x80 install=/boot/boot.b.2000 (ブートローダ version 20.0用) image=/boot/vmlinuz label=linux root=/dev/hda1 (CAT68701から見たroot / パーテーション) read-only append="console=ttySC0,115200 mem=32M" クロス用とほとんど変わりませんが、boot= , disk= それから install= が少し違っています。 liloの打ち込みは簡単です。 # lilo Added linux * |