Skip to content

higepon/mona

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

What is Mona?

MonaOS is a free operating system. See detailed information on http://www.monaos.org.

screenshot

Building and Running Mona

Requirements

  • git
  • Mingw (See building Mingw below)
  • nasm
  • mkisofs
  • QEMU
  • mosh

Building

% cd mona
% ./configure --mingw-prefix=/usr/bin/i586-mingw32msvc- 
% make
% cd ..
% cd contrib
% make
% cd ../mona/tool/qemu
% ./start.sh

Building the cutting-edge Mona

% git clone git://github.com/higepon/mona.git
% cd mona
% git submodule init
% git submodule update
% cd mona
% ./configure --mingw-prefix=/usr/bin/i586-mingw32msvc- 
% make
% cd ..
% cd contrib
% make
% cd ../mona/tool/qemu
% ./start.sh

Building Mingw

If you use Ubuntu, you can get mingw as "apt-get install mingw32". If you use other OS or need the latest gcc, build as follows. You need

  • gcc-4.6.1.tar.bz2
  • binutils-2.21.1.tar.gz
  • w32api-3.17-2-mingw32-dev.tar.lzma
  • mingwrt-3.18-mingw32-dev.tar.gz

Build

% export CC=clang    # For OSX only
% export CXX=clang++ # For OSX only
% export PATH=~/mona-mingw/bin/:$PATH
% mkdir ~/mingw
% cd ~/mingw
% tar vxf ~/src/w32api-3.17-2-mingw32-dev.tar.lzma
% tar vxf ~/src/mingwrt-3.18-mingw32-dev.tar.gz
% mkdir -p ~/tmp/build-gcc
% mkdir -p ~/tmp/build-binutils
% cd ~/tmp
% tar vxf ~/src/gcc-4.6.1.tar.bz2
% tar vxf ~/src/binutils-2.21.1.tar.gz
% cd ~/tmp/build-binutils
% ../binutils-2.21.1/configure --prefix=~/mona-mingw --target=i586-mingw32msvc
% make && make install
% cd ~/tmp/build-gcc
% ../gcc-4.6.1/configure --prefix=~/mona-mingw --target=i586-mingw32msvc --disable-nls \
  --disable-shared --disable-multilib --disable-decimal-float --disable-threads \
  --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath \
  --disable-target-libiberty --disable-target-zlib --enable-languages=c,c++ \ 
  --without-ppl --without-cloog  --with-headers=~/mingw/include --with-libs=~/mingw/lib \
  --with-as=~/mona-mingw/bin/i586-mingw32msvc-as --with-ld=~/mona-mingw/bin/i586-mingw32msvc-ld \
  --enable-sjlj-exceptions --enable-version-specific-runtime-libs

And then configure Mona with "export PATH=/mona-mingw/bin/:$PATH; ./configure --mingw-prefix=/mona-mingw/bin/i586-mingw32msvc- && make"

About

MonaOS is a free operating system. It's new, small, simple, open source and well structured.

Resources

Stars

Watchers

Forks

Packages

No packages published