[Prev][Next][Index][Thread]

Re: Sphere



> BERNARDINI TURRENS, RICARDO wrote:
> I've built many basic kernels reading about 15% of the documentation
> and the examples. I'm not a genius either.

You are, in my book...

I tried to build the thing under BeOS (A 30 minute download on dialup)
and this is the error I got running "make":

gcc -c -o cpuid.o -MD -DHAVE_CONFIG_H  -DOSKIT_X86 -DOSKIT_X86_PC -I.
-I../kern/x86 -I../kern/x86/pc -I../kern/x86/dos -I../kern  -I-
-I../oskit/c -I.. -I.. -nostdinc -Wall -fno-strict-aliasing -O2 -g 
../kern/x86/cpuid.c
In file included from
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c:25:
/boot/home/Sourcecode/oskit-20010214/oskit/c/string.h:48: warning:
conflicting types for built-in function `memset'
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c: In function
`get_cache_config':
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c:44: Invalid `asm'
statement:
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c:44: fixed or
forbidden register 3 (bx) was spilled for class BREG.
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c: In function
`cpuid':
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c:96: Invalid `asm'
statement:
/boot/home/Sourcecode/oskit-20010214/kern/x86/cpuid.c:96: fixed or
forbidden register 3 (bx) was spilled for class BREG.
make[1]: *** [cpuid.o] Error 1
rm pc_asm.symc.o pc_asm.symc
make[1]: Leaving directory `/boot/home/Sourcecode/oskit-20010214/kern'
make: *** [kern/all.MAKE] Error 2 

om

I don't know how to do inline assembly, much less 32 bit inline assembly
with this screwed up (GNU) compiler... =\ 

I tried to compile the compiler several months ago but ran into
unresolvable problems with the makefile. 

> I've modified sample kernels and booted them without any problem. 

Do you understand it enough to design a non-trivial kernel to use it? ;)

> And looking at the list's archive I've suceeded at building the BSD 
> boot adapter which configure fails to configure on its own.

I barely even know what you are talking about... I can't even get ISP
dialup working under BSD. 

> So I don't understand what is your problem using OSKit, its 
> documentation and the mailing list.

See above.

> BTW once again in this discussion it must be said that OSKit is a set
> of tools for developing an operating system, not an OS itself so there
> is no abstract stuff in its documentation.

Gronk?
Oskit is bursting at the seams with abstractions!
A whole boatload of them are listed in the table of contents alone; let
me point them out to you. 

- The Component Object Model is not just a library, its an abstract
system for configuration managment and dynamic linking. (Chapter 4)

- A windows style system registry. (chapter 5)

- Semaphores, and locks. Common abstractions for synchronization.
(chapter 6)

- Block IO, Network Packet IO, Stream IO, (Chapter 7)

- Device Drivers (A uniform abstraction for software relating to
hardware components). (Chapter 8)

- Filesystems (An abstraction referring to a set of composite programs
which include the functions of disk allocation, and object managment). 

- Networking (An abstraction of a system which allows for the creation
of virtual communication channels).

- The OS kernel, an abstraction describing a program that is given
special privlages as a workaround to allow for programmers who insist on
working with assembly... =(  ( www.tunes.org )

- The environment. An abstraction for the relevant parts of the visable
state of the machine. 

- As a console can be a virtual entity, it too becomes an abstraction.

- The library is an abstraction used to manage large numbers of common C
functions. 

- Virtual memory. (A lame abstraction that was stamped into the 286+

- Threads: Today's preferred way of thinking about execution.

- Debugging An abstraction of the process of adjusting the structure of
a program until its behavior meets your expectations.

- WIMP: An abstraction that classifies a very popular meathod of user
interraction. 

- booting: An abstraction for a process through which concrete programs
establish frameworks by which the abstract systems of modern software
can operate. 

- A tool is an abstraction for a class of implements that may be useful
for a specific task if properly understood and applied.

Really, you should be very thankful for many of these. Without them you
would be left with a nothing but a memory dump and machine language. ;)

	Heck without abstractions you would be left speechless trying to
demonstrate how useful your pointed rock can be when used in conjunction
with a split stick and leather lashings... You could hardly even begin
to think about building a house or a city as that would require a
manipulation of sense impressions that can only be accomplished in the
abstract. The point that Oskit is "just a toolkit" should be a point of
*SHAME* not pride!
	Let me tell you a little sekrit: If you want OSkit to catch on and be
used as widely as GRUB you must invent a more useful abstraction than
the "kit", You will find the areas of functionality such as the stuff
you use to manage executable files, (Chapts 21, 30), Instead of calling
it "runtime linker and loader", call it "Flexi-load(tm)", and then
package and sell these tools individualy. (allowing the devel to make
his own toolkit and focus on the stuff he wants and leave the rest)
	The strange thing is that once you give these things names in your mind
those names become *forms* in the platonic sense, As you begin to
explore and understand what the names MEAN, and start working to make
more perfect examples of the form you begin to think of changes and
enhancements in design and organization that would never have occoured
to you when they languished as relatively nameless components of the
vague, amorphous OSKit.

////////////////////////////////////////////////
>>>Getting code to the point of having a bootable entry point is a monumental task. <<<

Amen. 

>>OSKit has already done this for you.<<<

How; show it to me... 

>>> You do not need to spend months researching the Intel X86 processor to do this.
<<<

Five years too late... 

>>> This, in itself, is worth it's bits in gold. Cheers to the OSKit developers!<<<

How do I collect?


>>>Everybody in the course was at least able to get the examples to boot. 

They must have had excelent instruction. 

>>> A tip for you. Get the Mandrake 8.0 release and install it and the GRUB bootloader (if you are doing stand-alone development).<<<<

My drive isn't anywhere near that large... I only have about a gigabyte
for weird OSes, Mandrake requires all 3gb; currently BeOS is installed
and functioning OK. I've been moving my platters from machine to machine
for the last five years. That way I don't have to re-build my DOS system
each time I upgrade.. ;) It used to be teamed with an older 850 but I
retired that one... (that thing is tough to get spun up these days). I
have a 60 giger which I am saving for an OS that deserves it. I thought
BeOS was the one but it crashed when I gave it a workout... Right now
the 60 gb drive is mounted in a relic of a case (a classic full-Tower)
that I am building up as a compile farm. If that machine ever goes
on-line again, it will run BSD... 

The sillyiest bug in mandrake is their boot logo which is reliably
choped in half by the processor detection string. ;)

Last time I had Mandrake 6.2 running, and recompiled the kernel the
flaming INITd keept giving me this error message because I had chosen
not to install VFAT (not desired for a classic FAT16 partition). It
really irked me that I had no idea how to go about fixing it. I felt
there was no reason to get higher-level stuff working when there was no
way to fix even minor crap like this... 

If I try linux again it'll be either Slackerware or Debian. 

>>> This will allow you to compile the OSKit in native mode, then load the kernels directly as multiboot images. <<<

I never worried about boot loaders after I got lilo to work almost
right... (the booter for MINIX is vastly supperior). I hardly know a
thing about this "multiboot" and am not sure I really want to... =\ 

-- 
NUKE NIGERIA!!!!  (419)
http://users.erols.com/alangrimes/  <my website.
Any usage of this e-mail account is subject to the terms and conditions
specified on my website.

References: