flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Help in developing a kernel


Do you think this will work? / Você acha que isso dará certo?
Yes / Sim
66%
 66%  [ 2 ]
No / Não
0%
 0%  [ 0 ]
Will be a success! / Será um sucesso!
33%
 33%  [ 1 ]
Will be a failure! / Será um fracasso!
0%
 0%  [ 0 ]
Total Votes : 3

Author
Thread Post new topic Reply to topic
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
Hello to all.

Firstly I would like to make it clear that any error in English that I make, please correct me.
I'll write in the language of my country and its translation into English.

(PT-BR) Continuando, eu gostaria da sua ajuda para criar um bootloader e um kernel. Eles não precisam ser complicados, mas nem simples. Já comecei a escrever um kernel mas desisti no começo do modo protegido da CPU. O código será completamente livre, sem qualquer licença. Qualquer usuário deste website pode copiar o código. Não me interessa se alguém mal-intencionado roubar o código. Vamos começar com ideias para o sistema de arquivos e outras coisas mais.

(EN) Anyway, I'd like your help to create a bootloader and kernel. They need not be complicated, but not simpler. I've started writing a kernel but gave up at the beginning of the protected mode of the CPU. The code will be completely free, without any license. Any user of this website can copy the code. Does not matter if someone copies. Let's start with ideas for filesystem and whatnot.
Post 23 Apr 2013, 14:35
View user's profile Send private message Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1180
Location: Unknown
HaHaAnonymous
[ Post removed by author. ]


Last edited by HaHaAnonymous on 28 Feb 2015, 20:57; edited 3 times in total
Post 23 Apr 2013, 15:51
View user's profile Send private message Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 619
cod3b453
A good start is to list your "must-haves" and "would-be-nice-to-haves". This will allow you to (hopefully) follow a more structured approach and you can even make a road map of things to tick off as you go.

It's also a good idea to have a rough plan of the kernel structure and the API that will wrap it as this may also affect how you boot your kernel in the first place.

Example questions to ask yourself:

What boot devices? (Will I make my own or use a premade one?)
32 or 64 bit?
Uniprocessor/SMP/NUMA?
Micro-/hybrid-/monolithic- kernel?
Command line or GUI?
Which devices to support?
Which languages? (ASM/C)
...
Post 23 Apr 2013, 16:53
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
cod3b453 wrote:
A good start is to list your "must-haves" and "would-be-nice-to-haves". This will allow you to (hopefully) follow a more structured approach and you can even make a road map of things to tick off as you go.

It's also a good idea to have a rough plan of the kernel structure and the API that will wrap it as this may also affect how you boot your kernel in the first place.

Example questions to ask yourself:

What boot devices? (Will I make my own or use a premade one?)
32 or 64 bit?
Uniprocessor/SMP/NUMA?
Micro-/hybrid-/monolithic- kernel?
Command line or GUI?
Which devices to support?
Which languages? (ASM/C)
...


[PT-BR] Foco no Kernel, em primeiro lugar. Um possível sistema operacional virá depois.
1. Boot devices? Alguém pode me explicar o que seria isso?
2. Inicialmente, 32 bit
3. Isso significa se vai suportar mais de um processador? No início, não.
4. Esse é o tipo do Kernel, não? Ajudem-me a escolher.
5. Agora refere-se ao SO
6. Processador x86 (32 bits) e placa de vídeo e de rede no mínimo...
7. Assembly. Tenho horror a SO's em C.

[EN] Focus on Kernel first. An operating system can come later.
1. Boot devices? Can anyone explain me what is that?
2. Initially, bit 32
3. This means it will support more than one processor? At the beginning, no.
4. This is the type of kernel, is not it? Help me to choose.
5. Now refers to OS
6. X86 (32 bit) and video card and network at least ...
7. Assembly. I abhor OSes in C.
Post 23 Apr 2013, 17:18
View user's profile Send private message Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 619
cod3b453
By boot devices I mean where do you want to boot from? Floopy disk/hard disk/usb memory/cd and so on. If it doesn't matter you can select one but if you want multiple I'd suggest using a staged boot loader so it can be shared.

For simplicity (and based your other answers), monolithic is probably the best choice.

So far it sounds like you're aiming at a netbook style OS? Any other requirements?
Post 24 Apr 2013, 16:37
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
cod3b453 wrote:
By boot devices I mean where do you want to boot from? Floopy disk/hard disk/usb memory/cd and so on. If it doesn't matter you can select one but if you want multiple I'd suggest using a staged boot loader so it can be shared.

For simplicity (and based your other answers), monolithic is probably the best choice.

So far it sounds like you're aiming at a netbook style OS? Any other requirements?


[PT-BR] Tudo bem... Eu gostaria que este kernel faça boot a partir de um CD. Eu procurei no Google o que significa monolítico. É um kernel com todos seus drivers e afins rodando no espaço do Kernel. Está certo? Estou um pouco confuso ainda com essa palavra.

O que eu gostaria no Kernel:
32 bit
Boot pelo CD (ou DVD, quem sabe).
Multitarefas.
Drivers: vídeo, áudio, rede, mouse, teclado e talvez pendrives USB.


[EN] Okay... I wish that this kernel does boot from a CD. I searched on Google which means monolithic. It is a kernel with all your drivers and the related running in Kernel space. Is that right? I'm still a little confused with this word.

What I would like in the kernel:
32 bit
Boot from CD (or DVD, maybe).
Multitasking.
Drivers: video, audio, network, mouse, keyboard and USB sticks maybe.
Post 25 Apr 2013, 13:55
View user's profile Send private message Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 619
cod3b453
Yes - monolithic basically means it's one big program containing all the drivers, system and kernel code.

OK so CDs use CDFS/ISO9660 and USB sticks are normally FAT16/32, so these are the two file systems you'd be interested in. Driver wise, you can use the legacy VBE3 LFB for simple video and (to begin with at least) ATA(PI) for CD and PS2 keyboard/mouse. Everything else sits on the PCI bus - video/audio/ethernet/USB memory - but you can also get to the keyboard, mouse and CD via bridging controllers as well.
Post 25 Apr 2013, 17:06
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
[PT-BR] Bom, então podemos começar a escrevermos o bootloader? É só me dar um tempo para pesquisar sobre os sistema de arquivos utilizado em CD's e estarei pronto.

[EN] Well, so can we start to write the bootloader? Just give me some time to search about the file system used on CD's and I'll be ready.
Post 25 Apr 2013, 17:36
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP
Here you will find most if not all information you are looking for this stage: http://wiki.osdev.org/Main_Page
Post 26 Apr 2013, 07:59
View user's profile Send private message Reply with quote
A$M



Joined: 29 Feb 2012
Posts: 94
A$M
ACP wrote:
Here you will find most if not all information you are looking for this stage: http://wiki.osdev.org/Main_Page


Thanks, but OSDev is already one of my favorite website about Assembly programming.
Post 26 Apr 2013, 17:48
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP
A$M wrote:
Thanks, but OSDev is already one of my favorite website about Assembly programming.


Good. I did not know that since your questions suggested you haven't read osdev wiki. IMHO it is a great resources.
Post 26 Apr 2013, 18:43
View user's profile Send private message Reply with quote
Bob++



Joined: 12 Feb 2013
Posts: 92
Bob++
My suggestion: do you like UNIX model? if so,get inspiration from it and try yourself write an UNIX kernel.
Post 26 Apr 2013, 20:57
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
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 vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.