Mercurial > hg > Members > taiki > original_os
view README.txt @ 20:4205fb316c14 default tip
add memo files
author | Taiki TAIRA <e095767@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Oct 2012 07:33:04 +0900 |
parents | b045d733207e |
children |
line wrap: on
line source
TODO 64bit だと、 grub2 から OS を起動するための multiboot header magic が認識されていないので、認識されて起動できるようにする。 32bit では動く。 【環境】 //binutils configure --target=x86_64-elf --enable-64-bit-bfd //newlib コンパイルして cbc-gcc のディレクトリにシンボリックリンクを貼る //cbc-gcc configure --target=x86_64-elf --disabble-bootstrap --enable-languages=c \ --enable-checking=tree,rtl,assert,types --disable-nls --with-newlib --without-headers --disable-libssp --disable-libquadmath 【コンパイル】 //64bit gcc -m64 \ --ffreestanding -fno-common \ -fomit-frame-pointer \ -g \ -Wall \ -O2 \ //32bit gcc -m32 あとは 64bit と同じ ld -m elf_x86_64 \ -nostdlib \ -Ttext 0x100000 \ --oformat elf64-x86-64 or --oformat elf32-i386 【実行】 fd.img をgrub2 の乗っている VM に接続 grub2 の OS 選択画面で C を押す bash like. tab 補完きく コマンド実行画面で >ls 接続されている記憶媒体の表示 >set root=(記憶媒体,ファイルシステム) ex: set root=(fd0,msdos1) >multiboot2 /cbc_os.elf boot 前の下準備。OS のロード。 >boot boot する。