Bona Fide OS Developer
View unanswered posts | View active topics It is currently Thu Mar 28, 2024 7:20 am



Post new topic Reply to topic  [ 31 posts ]  Go to page 1, 2, 3, 4  Next
 Wanting to use the "hello world" bootloader code 
Author Message
Post Wanting to use the "hello world" bootloader code
Hi all -

I'm a first-timer here - looks like a very useful site!

I'm wanting to use the "hello world" bootloader code as the basis for the bootloader of the small public-domain OS that I'm starting on. I was wanting to contact Daniel Faulkner (who seems to be the author of it) for permission to use it, but the email to him bounced.

So, just wondering if someone else may be able to let me know if it's ok to use that code in my OS?
( I'm happy to give acknowledgment too, btw - no problem there... :) )

On a related note - is the code posted in tutorials here basically "public domain"? In other words, do what you like with it (as long as you give acknowledgment )?

Bye for now....
- mooseman


Mon Mar 29, 2010 12:58 am

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
My code is public domain.

I once had a job making replacement chips for refilling printer toner cartridges and learned something. Refillers would buy chips just so the machine didn't say "Non Hp Tonor cartridge".

I hear many companies completely ban GPL code from their machine. No GPL code in LoseThos.


I'm business friendly and my code can be used with no strings. You don't even need to give notice. It has a certain amount of lock-in, without really trying.

I want to get high distribution and become famous before worrying about how to make money. I should be so lucky for some company deciding to use my code without mentioning it! It creates buzz any way it's done.

http://www.losethos.com

I tried, once, selling software and got a grand total of $20 bucks with SimStucture. All it accomplished was making my taxes harder. If I tried to sell LoseThos, I might be lucky to get 5 sales a year. There's simply no market so long as other operating systems are free, especially since LoseThos is weird in it's target users. It's not exactly an embedded or specialized operating system for which an obvious niche who would pay exists.


Mon Mar 29, 2010 1:28 am
Profile

Joined: Mon Mar 29, 2010 12:47 am
Posts: 4
Post Re: Wanting to use the "hello world" bootloader code
Terry A. Davis wrote:
My code is public domain.

I once had a job making replacement chips for refilling printer toner cartridges and learned something. Refillers would buy chips just so the machine didn't say "Non Hp Tonor cartridge".

I hear many companies completely ban GPL code from their machine.


I'm business friendly and my code can be used with no strings. It has a certain amount of lock-in, without really trying.

I want to get high distribution and become famous before worrying about how to make money. I should be so luckey for some company deciding to use my code without mentioning it! It creates buzz any way it's done.

http://www.losethos.com

I tried, once, selling software and got a grand total of $20 bucks with SimStucture. All it accomplished was making my taxes harder. If I tried to sell LoseThos, I might be lucky to get 5 sales a year. There's simply no market so long as other operating systems are free, especially since LoseThos is weird in it's target users. It's not exactly an embedded or specialized operating system for which an obvious niche who would pay exists.


Hi Terry - thanks for your reply!

Great to see another P.D. supporter out there! Good on you for doing LoseThos (and for making it P.D. too! )

Yeah... if there is one thing that the world does not need, it is another GPL'ed software app (or even BSD or MIT-licensed for that matter).

The **main** reason for those licenses seems to be that people want to have credit given for their software. Ok, I can understand that, but I believe the vast majority will give credit anyway (without being told to). There is **also** a certain amount of "self-policing" that goes on anyway! If you DON'T give credit, you will often get people saying "hmm... that code looks an awful lot like the code from Project Foo...".

I just love the idea of being able to release software with no restrictions at all on my code. I don't have an ego, so I don't need credit to be given.... :)

When the FSF talks about "free software", their version of "free" software is ONLY free as in free of cost. "Freedom with restrictions" (which is what licensed software has) isn't freedom at all, as far as I'm concerned.

Anyway.... I'm just getting into OS development. I'm calling my OS "Plan 42". The reason for the name is that I wanted to pay homage to Plan 9 - a very elegant OS - and the "42" comes from "The Hitchhiker's Guide to the Galaxy" (of course) - one of my favourite books.

Hmm, I wonder..... given that I can't find Daniel Faulkner (who seems to be the author of the "hello world" bootloader), I might even look at your bootloader instead!

Given that most (all?) bootloaders start in 16-bit mode anyway, I imagine that it may be able to be adapted for my OS. It may not even need much adaptation at all.... :)
Bye for now -
- Andy


Mon Mar 29, 2010 1:43 am
Profile

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
I wrote all my own tools--everything -- no dependencies in any way on other things, except a couple BIOS calls during start-up.

The boot loader code is for the assembler I wrote and has it's own syntax, but shouldn't be too hard to adapt. You could boot LoseThos and use it to develop yours.

LoseThos is simpler than gcc for development of operating systems, especially 64-bit. You do have to learn some things, but don't need to bother with MakeFiles and linking issues.

You ever wonder why all the guys on osdev are doing 32-bit? they are probably fighting with their tools.


Mon Mar 29, 2010 1:55 am
Profile

Joined: Mon Mar 29, 2010 12:47 am
Posts: 4
Post Re: Wanting to use the "hello world" bootloader code
Terry A. Davis wrote:
I wrote all my own tools--everything -- no dependencies in any way on other things, except a couple BIOS calls during start-up.

The boot loader code is for the assembler I wrote and has it's own syntax, but shouldn't be too hard to adapt. You could boot LoseThos and use it to develop yours.


Hi again -

Sounds great! Many thanks for that! I'll have a look at it - I've seen a reasonable amount of bootloader code in the last few days, so adapting it shouldn't be much of a problem.

Anyway, while I'm here, I might as well show you my repository. Nothing remotely as good as LoseThos, but I like to tinker around with a few bits and pieces, and hopefully some stuff will be useful for someone.... :)
http://github.com/mooseman

- mooseman


Mon Mar 29, 2010 2:04 am
Profile

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
Excuse me, I hate those OSDev f**kers. This is a posting I hope they read, not a contuation of our discussion. They banned me for heresy, so I talk at them here, indirectly.

They are trying to claim ownership of everything, thinking they're God's gift. The latest thing is they're saying I started in 2005 because that's when I stumbled on their site. Oh, the irony. LoseThos code dates back to 1993, believe it or not, though I set it aside for some years. I started full time on it in 2003. I found osdev in 2005 and got banned.

Look dufases at osdev, I actually have been employed professionally working in ASM on a professional operating system. I worked from 1990-1996 at Ticketmaster's VAX operating system. I can actually say in truth that I am a professional operating system developer and you are amateurs.

One boss wrote our compiler. I wrote my compiler. You dumbasses couldn't dream of writing a compiler. You're still fartin around in 32-bit mode. LoseThos has been 64-bit since 2007.


My bootloaders do not assume they are loaded at 0x7c00. They copy themselves to just under 0x80000 and load-in my kernel at 0x10000. It was easier to relocate them to a known spot than go searching to learn if 0x7c00 is a standard on all BIOS's.

Incidentally, the biggest challenge in PC operating system development is compatibility. I've taken the humble approach and not used stuff which might cause incompatibility. I've avoided custom support for graphics cards and I've avoided PCI devices. No sh*t sherlock, it's not hard to do PCI support for your own computer, but lets see you do it for all computers.


Last edited by Terry A. Davis on Mon Mar 29, 2010 2:36 am, edited 2 times in total.



Mon Mar 29, 2010 2:19 am
Profile

Joined: Mon Mar 29, 2010 12:47 am
Posts: 4
Post Re: Wanting to use the "hello world" bootloader code
Umm.... ouch..... ( I know it wasn't aimed at me, but I felt the heat as it passed by.... ;) )

Anyway - I feel an urge to do a bit more coding, so I'll sign-off for now.
Bye for now ( and good luck with LoseThos! )
- mooseman


Mon Mar 29, 2010 2:34 am
Profile

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
Yeah, good luck to you, too, mooseman.

Now, you osdev guys...

There is no linker in LoseThos. Normally, code is compiled JIT when you run an application. If you insist on AOT compiling, linking is done at load time.

There are no make files. You just have a list #include's in one file and invoke the compiler once.

It's trivial.

My compiler is blazing fast. 20,000 LOC per second. In LoseThos you almost never #include header files. During the boot process, headers are compiled once with symbols ready in tables. When you JIT an application, it searches the symbol tables. Occassionally, when you do have headers, they are done once per module -- never done for every file in the module.

This isn't the 1970's -- there's plenty of memory -- no need to break things up.


Mon Mar 29, 2010 2:56 am
Profile

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
Oh, you trader mooseman! You just posted on OSDev. :D

They'll teach you 32-bit. I can teach you 64-bit.

Karate Kid :D


As for privilege levels, you'd be shocked to know more computers run without them than with them. Embedded systems typically have no privilege levels. Those guys are really stupid. They seem to think you can't do without them. Privilege levels only do something when a program has bugs or is untrusted.

They also have never heard of cooperative multitasking.

If you show some humility, you can make much more progress and satisfaction unless you have your heart set on making an immitation of Linux. I don't care, if you think that's fun.

Get them to explain cooperative multitasking. How much you wanna bet they haven't a clue. They're all brainwashed monkeys reinventing Linux. I guarantee you won't find an original idea in the lot of them.


In music, an original artist comes along. Then, a bunch of apes make knock-offs and the apes haven't a clue they're not in the same league as the original artists. They're like, "I'm just as good, see?" No, you're not. You're an immitating monkey.

Video games are them same. Bunch of immitations and very few originals.

I have preemptive multitasking, but make use of the cooperative multitasking technique of tasks yielding.

Ticketmaster's VAX operating system had one level of directories. That was humility. (I have multilevel.) You can often boost performance by not getting fancy. Having no privilege levels boost performance.


Mon Mar 29, 2010 3:09 am
Profile

Joined: Tue Jan 19, 2010 11:51 pm
Posts: 66
Post Re: Wanting to use the "hello world" bootloader code
The OSDev guys are a little confused. They think 640x480x16 color mode is real mode. LoseThos is 64-bit. Are you so incompetant you can't verify that? The code is posted for changing modes. http://www.losethos.com/code/OSStartUp.html

OSDev is full of sour grapes people, perhaps, even shills. They downplay 64-bit mode. They don't seam to mention the advantages of 64-bit mode, like having 8 new registers and all registers being 64-bit.

They are pushing grub like drug dealers. Aparently, Grub will change modes for you and find files on a file system. There's no reason to do that in a boot loader. Change modes in your own module. Before you change modes, you can make BIOS calls for config information. If you begin in a different mode from Grub, you can't call BIOS routines. It's not that hard switching modes yourself.

I put my boot loader on the partition boot block, duh! It's patched by my code with the block address of my kernel so it can load it. My bootloader has no clue what file system it is. Why should it?

You can use my boot loaders, if you figure-out how to patch them with block addresses and sizes of your first module.

http://www.losethos.com/code/BootCD.html
http://www.losethos.com/code/BootHDExt.html

Apparently, Grub puts the kernel at 0x100000, according to them. My boot loader places it at 0x10000. The first module obviously must fit in 640K. It can switch modes and load-in other stuff once it's in 64-bit mode.
---------------------
Now, they're confusing 640x480x16 color mode with DOS.
Watch the video, and you'll see that it is not some 1970's operating system like Unix. Source code files include graphics and links. There is a menu thing which can have icons, for those of you who thin a WIMP desktop is the only way to go. Watch the damn video!

http://www.losethos.com


Mon Mar 29, 2010 10:17 pm
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 31 posts ]  Go to page 1, 2, 3, 4  Next


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin and tweaked by the BF Team.