• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    C
  • Created over 12 years ago
  • Updated over 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Orange'S

The current version of Orange'S.

If you are reading my books, click here.

Develop Orange'S in Mac OS X

Install the Mac version "gcc":

  1. install Xcode
  2. in Xcode: Preferences > Downloads > Components > Command Line Tools > install

Build cross-compilers:

$ tar vxjf binutils-2.22.tar.bz2
$ cd binutils-2.22
$ ./configure --target=i686-elf --disable-nls
$ make all
$ make install

$ tar vxjf gcc-4.6.3.tar.bz2
$ cd gcc-4.6.3
$ ./configure --target=i686-elf --disable-nls --enable-languages=c,c++ --without-headers
$ make all-gcc
$ make install-gcc

Tip: how to know what have been installed:

$ make DESTDIR=/tmp/binutils install
$ make DESTDIR=/tmp/gcc install-gcc

Change Makefile:

-DASM           = objdump
-CC             = gcc
-LD             = ld
+DASM           = i686-elf-objdump
+CC             = i686-elf-gcc
+LD             = i686-elf-ld
+AR             = i686-elf-ar

-LDFLAGS                = -Ttext $(ENTRYPOINT) -Map krnl.map
+LDFLAGS                = -Ttext $(ENTRYPOINT) -Map krnl.map -m elf_i386

-       sudo mount -o loop a.img /mnt/floppy/
+       hdiutil mount -mountpoint /mnt/floppy a.img

Install Bochs:

$ tar vxzf bochs-2.5.1.tar.gz
$ cd bochs-2.5.1
$ ./configure --with-x11
$ make

we don't have to really "make install" it. creating a symbol link will suffice:

$ cd ..
$ mv bochs-2.5.1 /opt/
$ ln -s /opt/bochs-2.5.1/bochs /opt/bin/

Change bochsrc:

-romimage: file=/usr/share/bochs/BIOS-bochs-latest
-vgaromimage: file=/usr/share/vgabios/vgabios.bin
+romimage: file=/opt/bochs-2.5.1/bios/BIOS-bochs-latest
+vgaromimage: file=/opt/bochs-2.5.1/bios/VGABIOS-elpin-2.40

-keyboard_mapping: enabled=1, map=/usr/share/bochs/keymaps/x11-pc-us.map
+keyboard_mapping: enabled=1, map=/opt/bochs-2.5.1/gui/keymaps/x11-pc-us.map

Make sure /opt/bin is in $PATH. If not, append a line in ~/.bashrc:

export PATH=/opt/bin:$PATH

Run Orange'S:

$ cd /path/to/Orange'S/
$ make image
$ bochs