v0.6.0

1,091 views
Skip to first unread message

Ian Seyler

unread,
Apr 30, 2013, 12:59:33 PM4/30/13
to bareme...@googlegroups.com
After much work (and a very long hiatus) BareMetal OS has finally been updated!

The biggest changes:
- Re-org of code and API
- Native SATA support
- Updated C library
- BMFS (BareMetal File System)

VirtualBox is the only virtualization software that can correctly run BareMetal OS. Other software (VMware, QEMU, Bochs, etc) do not support SATA for guest operating systems.

There is one issue in 0.6.0 that I didn't fix in time for the release. NewLib is somewhat buggy as I think the sbrk() implementation is not correct. More details are here: http://forum.osdev.org/viewtopic.php?f=1&t=26585

Moving forward to 0.7.0:
- add file write support to kernel
- port uIP or lwIP
- add support for multiple disks
- native TCP/IP

Dan Humphrey

unread,
May 2, 2013, 11:57:36 AM5/2/13
to bareme...@googlegroups.com
Hi Ian. Very excited about the new (and subsequent) version. I've got version 0.6 up and running in virtualbox and I'm ready to explore. The cli has loads more features and I wanted to explore the arguments to some of the commands, so I took a look at cli.asm (I just downloaded BareMetal-OS-0.6.0.zip from the website) . Is it possible the code in cli.asm is from the previous version?

Regards,
Dan

Dan Humphrey

unread,
May 2, 2013, 8:40:29 PM5/2/13
to bareme...@googlegroups.com
Hi again. This may be obvious, but how do I launch an app. In 0.5.3, I simply typed the name of the app, like 'helloc', but helloc forces an unrecognized program error, and helloc.app doesn't print anything to the console. Is my output being redirected somewhere?
Thanks,
Dan

On Tuesday, 30 April 2013 12:59:33 UTC-4, Ian Seyler wrote:

Ian Seyler

unread,
May 3, 2013, 10:20:33 AM5/3/13
to bareme...@googlegroups.com
The CLI is in need of updates. Currently it does not pass arguments to a program.

I'm also toying with the idea of re-writing the CLI in C instead of Assembly. The reasoning is that it would be easier to update and it would also separate it from the kernel itself.

Expect more updates soon!

-Ian

Ian Seyler

unread,
May 3, 2013, 10:22:12 AM5/3/13
to bareme...@googlegroups.com
It's expecting a full name at the moment (whatever.app vs whatever).

Odd, helloc.app runs correctly for me. I'll do some more testing.

-Ian

Dan Humphrey

unread,
May 4, 2013, 8:13:08 AM5/4/13
to bareme...@googlegroups.com
My apologies. It is not a problem with running apps from the command line. Seems like I just don't know how to use VirtualBox! I'll figure it out before hitting you with more questions.

Thanks,
Dan

On Tuesday, 30 April 2013 12:59:33 UTC-4, Ian Seyler wrote:

Dan Humphrey

unread,
May 4, 2013, 11:24:16 AM5/4/13
to bareme...@googlegroups.com
Newbie to linux and make.. Trying to build newlib. Completed all the steps in "Building Newlib.md" up to the point of calling "make". Make complains:

make[5]: Entering directory `/usr/src/newlib/build/x86_64-pc-baremetal/newlib/libc/argz'
B/usr/src/newlib/build/x86_64-pc-baremetal/newlib/ -isystem /usr/src/newlib/build/x86_64-pc-baremetal/newlib/targ-include -isystem /usr/src/newlib/newlib-2.0.0/newlib/libc/include -B/usr/src/newlib/build/x86_64-pc-baremetal/libgloss/x86_64 -L/usr/src/newlib/build/x86_64-pc-baremetal/libgloss/libnosys -L/usr/src/newlib/newlib-2.0.0/libgloss/x86_64    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"2.0.0\" -DPACKAGE_STRING=\"newlib\ 2.0.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../newlib-2.0.0/newlib/libc/argz -DMISSING_SYSCALL_NAMES -fno-builtin      -g -O2 -fno-stack-protector -c -o lib_a-dummy.o `test -f 'dummy.c' || echo '../../../../../newlib-2.0.0/newlib/libc/argz/'`dummy.c
/bin/bash: B/usr/src/newlib/build/x86_64-pc-baremetal/newlib/: No such file or directory
make[5]: [lib_a-dummy.o] Error 127 (ignored)

I'm not sure how to interpret the error - did I mention I'm new to make? Anyway, the directory /usr/src/newlib/build/x86_64-pc-baremetal/newlib exists and is populated. The only thing I noticed is the "B" at the beginning of the path in the error. I'm assuming that's because of the -B flag in the gcc call in my Makefile? I've attached the Makefile if that helps.

Any suggestions?

Thanks again.

On Tuesday, 30 April 2013 12:59:33 UTC-4, Ian Seyler wrote:
Makefile.safe

Simon Heath

unread,
May 4, 2013, 1:27:21 PM5/4/13
to baremetal-os

> `/usr/src/newlib/build/x86_64-pc-baremetal/newlib/libc/argz'
> B/usr/src/newlib/build/x86_64-pc-baremetal/newlib/ -isystem <<<<<<<here
> /usr/src/newlib/build/x86_64-pc-baremetal/newlib/targ-include -isystem

The indicated line in the Makefile looks like there's a typo in the path.
Unfortunately I can't dig through it right now to see exactly what's
happening, but you might try just searching for the path in the Makefile
with the stray B in front of it and removing the B.

Simon

Excerpts from Dan Humphrey's message of 2013-05-04 08:24:16 -0700:

Dan Humphrey

unread,
May 4, 2013, 5:15:10 PM5/4/13
to bareme...@googlegroups.com
Hi. Yet another false alarm. I misread the newlib instructions and was able to compile libc.a correctly once I found my mistake. Thanks for your help.
D


On Tuesday, 30 April 2013 12:59:33 UTC-4, Ian Seyler wrote:
Reply all
Reply to author
Forward
0 new messages