Ko te tuatahi, ko te korero ko taku tuhinga tuatahi tenei me te tumanako ka pai katoa ki a koutou.
I tenei rarangi ka tirohia e tatou Rinuha Torvalds, ka hangaia e maatau taatau punaha whakahaere mai i te 0. I tenei waahanga tuatahi ka kite matou i te puutu ka hoatu he panui ki runga i te mata mai i a maatau kernel.
Ki ahau nei ka kiia te punaha whakahaere PanukuTira. Ko te whakataunga tuatahi me whakatau wawe ka whakaarohia e maatau te punaha whakahaere he aha te take o te bootloader?
Anei he maha nga rereketanga, a ka taea ano e taatau te hanga tetahi; heoi i tenei akoranga ka whakamahia e ahau GRUB, na te mea ko te nuinga e mohio ana he iti ake ranei tetahi mea e pa ana ki a ia. Ka hangaia e maatau he kopaki ka waiho hei pakiaka mo ta maatau punaha whakahaere, a, i reira ka hangaia te kopae / whakaara / grub
mkdir nextroot && cd nextroot
mkdir -p boot/grub
I reira ka hangaia e matou te konae grub.cfg penei:
menuentry "NextDivel" {
echo "Booting NextDivel"
multiboot /next/START.ELF
boot
}
I roto i tenei konae kua kite matou pehea GRUB ka utaina a tatou pata, i tenei keehi, i te / panui /START.ELF. Na me hanga e tatou taatau pata.
Mo tenei ka hiahiatia e maatau te GCC y GAS (te kaiwhakaemi o te kaupapa GNU, ka tae mai me te gcc). No reira ka hangaia e tatou te pata.
Tuatahi ka hanga e matou he konae e kiia nei ko te kernel.asm. Kei roto i tenei konae te timatanga o a tatou pata, me te tautuhi hoki i te multiboot (he ahuatanga na etahi bootloaders penei GRUB). Ko nga korero o te kernel.asm ka:
.text
.globl start
start:
jmp multiboot_entry
.align 4
multiboot_header:
.long 0x1BADB002
.long 0x00000003
.long -(0x1BADB002+0x00000003)
multiboot_entry:
movl $(stack + 0x4000), %esp
call NextKernel_Main
loop: hlt
jmp loop
.section ".bss"
.comm stack,0x4000
Ko nga mea katoa e pa ana ki te multiboot he whai noa i te whakatakotoranga kaore he mea ke. Ka tiimata nga mea katoa i te tiimatanga, ka karangahia te multiboot_entry, kua tautuhia e matou te pane multiboot i te 4k tuatahi ka waiho e matou (me te movl).
I muri mai ka karangahia a NextKernel_Main ko ta maatau kernel C mahi. I te koropiko ka tu maatau ki te aukati i te rorohiko. Ka whakahiato tenei ki:
as -o kernel.o -c kernel.asm
Inaianei ka uru taatau ki te hotaka whakaari i roto i te C. Ka whakaaro koe inaianei he keke keke nga mea katoa, ka makaia e maatau Tuhinga en matua ana koira, kua oti i a matou.
Ana kaore, mai i tenei wa Tuhinga y matua he mahinga era e tautuhia ana e te punaha whakahaere, engari kei te hangaia e maatau! Ka taea noa e taatau te whakamahi i nga mahi e tautuhia ana e taatau.
I nga upoko o muri ka korero ahau me pehea te tuu i ta tatou ake whare pukapuka C (glibc, bionic, newlibc) engari he wa ano ia wa. Kua korero maatau e hiahia ana matou ki te tuku tuhinga ki runga i te mata, kaati ka kite taatau pehea.
E rua nga waahanga, ko tetahi ki te karanga i te BIOS me tetahi atu ko te whakahaere tika i te maaramatanga mata. Ka mahi maatau i nga mea o muri na te mea he maamaa ake i te C ana ka tukuna ano ma tatou ka uru atu ki te momo ahuru.
Ka hangaia e matou he konae e huaina ana ko NextKernel_Main.c me nga korero e whai ake nei:
int NextKernel_Main()
{
char *str = "NextDivel says Hello World", *ch;
unsigned short *vidmem = (unsigned short*) 0xb8000;
unsigned i;
for (ch = str, i = 0; *ch; ch++, i++)
vidmem[i] = (unsigned char) *ch | 0x0700;
return 0;
}
Ma tenei ka tika te whakamahi i o maatau VGA me nga ahuatanga ma te taangata e tuhi ana matou. Ka whakahiatohia e matou ma te whakakore i te stdlib:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding
Mena kua tae noa mai koe ki tenei wa, ka hiahia koe ki te whakamatautau i to punaha whakahaere hou-inaianei, engari kaore ano kia oti. Kei te hiahia maatau tetahi konae iti e kii ana ki te kaitautoko kei hea te konae waiho ai ia waahanga. Ka mahia tenei ma te tuhinga hono. Hangaia e matou te hono.ld:
ENTRY(start)
SECTIONS
{
. = 0x00100000;
.multiboot_header :
{
*(.multiboot_header)
}
.text :
{
code = .; _code = .; __code = .;
*(.text)
. = ALIGN(4096);
}
.data :
{
data = .; _data = .; __data = .;
*(.data)
*(.rodata)
. = ALIGN(4096);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .; _end = .; __end = .;
}
Ma tenei ka tautuhia te waahi mo ia waahanga me te waahi tomokanga, tiimata, kua tautuhia e maatau ki te kernel.asm. I tenei ka taea e taatau te whakakotahi i tenei kaupapa katoa:
gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
Na ka kape taatau i te timatanga. KATOA ki / muri i roto i ta maatau kopaki e whakatauira ana i te pakiaka o ta maatau punaha whakahaere Ka haere matou ki te kopae pakiaka o ta maatau punaha whakahaere hou me te papatohu me te tohu kei te rua nga konae: kotahi /boot/grub/grub.cfg me tetahi /e taera /START.ELF.
Ka haere matou ki te raarangi o runga ka karanga ki tetahi taputapu hanga ISO me GRUB i kiia grub-mkrescue
grub-mkrescue -o nextdivel.iso nextroot
Ka oti ana tenei ka whai maatau ISO. Ka taea te whakatuwhera i tenei ISO i runga i nga rorohiko x86 (64 nga paraire ano) me nga miihini mariko. Hei whakamatautau, ka whakamahia e au Tuhinga. Ka karanga matou Tuhinga mai i te raina whakahau:
qemu-system-i386 nextdivel.iso
Ka tiimata MoanaBIOS a muri ake ka riro i a maatau GRUB. A muri ake mena ka tika nga mea katoa ka kite taatau rerenga korero.
Ka whakaaro koe he uaua tenei, ka whakautu ahau, ae ra.
He uaua te hanga punaha whakahaere na te mea kaore e whai hua tetahi i konei. I nga upoko o muri ake nei ka kite taatau me pehea te whakahaere tae i runga i te mata, kia rahuitia te mahara me mena ka taea e au, me pehea te tango raraunga mai i te papapihi.
Mena kaore tetahi e hiahia ki te kape i nga mea katoa o konei, he whare putunga taku kei GitHub (he taipitopito atu) me te punaha whakahaere PanukuTira. Mena kei te hiahia koe ki te whakahiato PanukuTira me whai git me cmake koe:
git clone https://github.com/AdrianArroyoCalle/next-divel
cd next-divel
mkdir build && cd build
cmake ..
make
make DESTDIR=next install
chmod +x iso.sh
./iso.sh
qemu-system-i386 nextdivel.iso
Ka akiaki ahau ki a koe kia mahi tahi i runga i a NextDivel mena he waa taau me to hiahia ki te hanga punaha whakahaere. Akene he pai ake i te Linux ... ka kii te wa.
85 korero, waiho maau
:O
I mauria e Torvalds te punaha whakahaere Minix (i ahu mai i te UNIX) ki a Andrew S. Tanenbaum me te whakapai ake.
Kua whawhai a Tanenbaum me Linus, i kohukohukia e raatau tetahi ki tetahi. E kii ana a Tanenbaum ko te Microkernel te heke mai (HURD, Minix new cone Microkernel).
http://www.taringa.net/posts/linux/17215999/Linux-vs-Hurd-Kernel-Monolitico-vs-Microkernel.html
Koinei te pou pai i kitea e au i tenei blog. Kei te hiahia au ki te mohio he aha atu hei mahi.
Kia miharo
He tino whakamiharo !!
FUUUUUUA!
Koinei te pou geekiest kua kite ahau hehe. Kia ora Adrián, he tuhinga mo te wahine kairau! hyper ngā !!! 🙂
Whakaae ahau. Whakaaro ahau ki tenei ahuatanga:
Kaiwhakamahi Mana GNU / Linux (he mata harikoa):
"Kua mohio au ki te whakakao i taku Gentoo"
Nerd (me te ahua whakahawea): «pff, Kua hanga e ahau taku ake distro ...»
Ae, ka taea e au te hanga i taku ake distro linux. Ina hoki kei roto i ahau e whanakehia ana e au he initramfs me tetahi pata mo te linux whakauru. Kaore i te rite ki te hanga i tetahi punaha whakahaere i te distro linux. Ko te tuatahi he uaua ake, he kore e taea, ko te tuarua, i ki na koe, ahakoa he aha, tae atu ki a Ubuntu me te tohu kua hurihia te xD. Na ka waiho e au penei:
Kaiwhakamahi Mana GNU / Linux (he mata harikoa)
- Kua mohio au ki te whakahiato i taku Gentoo
Waarua
- Pff, Kua aru ahau i tetahi linux mai i te wahanga a kua hangaia e au taku ake distro
Nerd (me te waiaro whakahawea)
- pff, na te mea kua whakamaherehia e au he pata ki te kohikohi me te C
Tenaha!
He mea pai ki ahau tenei, me te tatari i nga upoko e whai ake nei.
I kite ahau i tenei akoranga i mua ake nei, ma C ++
https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System
Mauruuru mo te hono, Ka titiro au.
Kei te hiahia au i tetahi punaha Whakahaere 100% hototahi ki nga whakairoiro AMD: /
Windows
hahaha i te Windows Catalyst kaore he tautoko a OpenGL, ahakoa i roto i te Linux kaore e taea e au te whakamahi i te mana whakairoiro katoa ka tatari tonu au kia kite he aha te mea ka tupu!
tatari noa kia puta te takirere i te maakete
He mahi matakite, tino pai, tino pai, te ahua nei he raupapa pou nui 🙂
Buah Kei te pirangi au ki te mohio me pehea te hotaka hei awhina i a koe, hei huarahi whakamahi me te matauranga e ako ana koe me te awhina i tetahi. Mo tenei wa ka waiho e ahau te pepeha kia kukume mai o whakaaro ki te kaupapa ka oti ana i a koe "Whakamahia a NextDivel, he rite tonu te ahua o te porn (he pai ake ranei).", Ka horoia e koe te xD.
Mooooooolaaa !!!!
He tuhinga tino pai, engari he pākiki noa koe he aha iare ai koe i whai i te kaupapa Linux Mai i te Scratch?
Mauruuru!
Ana, he pai mai i Linux mai i te Scratch, a ka taea e koe te kii naau tena, engari he tino miihini:
-Mahia te momotuhi
-Putohia
-Whakatauhia
-Mahia
-Whaahi
Anei, ahakoa he kino ake te hua i te mutunga, ka taea e koe te ki kua arotakehia e koe nga konae katoa.
E marama ana i aku korero o mua, na te mea kaore i te rite te taumata o te uaua. Ano hoki, ko te linux mai i te raarangi kaore i te tino rereke, he rereke ki tona ingoa, te hanga i tetahi punaha mai i te wahanga. Ko te hanga i tetahi punaha mai i te maaramatanga ko te tuhi i a koe ano, te tuhi i to ake pata, kaore i te pata linux, mena ka taea ano ko to ake utauta hei utu mo te grub, lilo, syslinux, etc. Ahakoa he iti te mahi a te LFS, he uaua hoki, kaore i te tata ki te whakamahere i to ake pata ...
Hei taapiri, kei te whakaae ahau ki a AdrianArroyo Calle he miihini rawa, kua panuitia e au i etahi waa ka mutu taau tuku i te ono o nga whaarangi, ka kii atu ano raatau ki a koe kia whakamahia he aha nga waahanga o nga kohinga na te mea kaore e pai nga tohutohu (e whakaatu ana i te kore ngoikore , Ki taku whakaaro). Ki taku whakaaro he pai ake te kii atu i taau ake whakaaro, whakahiatohia nga kohinga e hiahia ana koe, tae atu ki te papatono i etahi, whakahiato pata linux me te rangimarie.
Tenaha!
uuuoooohh !! Kaore ano kia riro i ahau tetahi pou penei i tenei.
Tena haere tonu 😀
Kaore au e mohio he aha te he:
hapa: kaore i kitea he pane multiboot.
hapa me uta e koe te pata i te tuatahi
Mena he whakamarie, he he ano taaku. Ngana ki te whakamahi i nga punawai kei roto i a GitHub, kei kona kua oti te whakatau. Heoi ki taku whakaaro mena ka huri koe i te raina grub.cfg mai i te "multiboot /next/START.ELF" ki te "kernel /next/START.ELF" ka pai pea. Kaore au i te tino mohio.
Ko te mea tuatahi, he urunga tino ataahua 🙂
Kei te raru ano ahau ki te utaina i te pata mai i te grub. Ahakoa te whakamahi i nga rauemi GitHub, te huri ranei i te multiboot mo te pata ...
hapa: kaore i kitea he pane multiboot.
hapa: kaore he pata utaina
Kei te whakamahi koe i te clang hei kaiwhakato? Hurihia mo te gcc
Kua maumahara koe ki te whakamahi i te tuhinga hono? He mea tika kia mohio ai te hononga (ld ki a maatau) kei hea i roto i te konae te whakatakoto o ia mea. I tenei wa ko te pane multiboot i te timatanga.
Kei te whakamahi koe i te punaha CMake? Mena ka whakamahia e koe ki taku whakaaro kaore e kore.
Mena kaore e mahi maau, ka ngana ahau ki te kimi i tetahi atu rongoa.
[+100]
Pai noa !!!
He tino pai 🙂
Ka tangohia e au taku potae. He pou whakamiharo. Kia ora.
Wha!
He rawe mena ka taea e koe te whakatuwhera i nga tono i HTML5 me Javascript me te kore e whakamahi i te tirotiro, ka taea ranei?
Kei te korero ahau kia rite ratau ki nga tono maori.
No reira he maama noa te whakatakoto kaupapa mo tenei punaha whakahaere 😀
I tenei wa kaore au e mahi na te mea he nui ake nga mahi kei muri engari tera ano tetahi punaha whakahaere e kiia ana ko "kei" e mahi ana i nga korero a koe. Ina hoki ko te raina whakahau he JavaScript ka tuhia nga matapihi ma te whakamahi i nga mahi JavaScript Canvas. Na nga miihini Nintendo i mahi a inaianei kua tuwhera noa mai.
http://code.google.com/p/es-operating-system/
Valla, whakawhetai mo nga korero 😀
Ka titiro ahau
Ko te tangata ka taea te hanga i tana ake OS ka mate marire, mai i te taumata mohio hei whakatutuki ma ia; Ka waiho e koe te rangi me te reinga.
Tuhinga o mua.
tae noa ki tenei wa kaore tetahi e mohio ana i mahi noa i tetahi mea e kiia ana he punaha whakahaere tika i hangaia mai i te maaramatanga, kaore ano i te Linux Torvalds e kii ana i a koe i te tiimatanga, mai i te tiimata mai i nga punawai Unix me nga mea katoa ka tuhia ki te nuinga atu nui atu i te tangata kotahi, he tino poto te ora ana ka tiimata mai kaore i te whakaarohia e te tangata, ahakoa he hiahia ke, ka kitea i roto i nga he maha i mahia mo te kape me te whakapiri na Linux Torvalds
Kua katia nga rauemi unix, te whakamahinga o te minix ... he mea ke ano tera.
me te hunga i hanga QDOS he aha?
i runga i tetahi mea?
Mai i taku e kite nei, ko wai kaore o raatau punaha whakahaere na te mea kaore ratou e hiahia, hahahaha.
Na tino, tino ngā! He nui ake i tua atu o taku iti o te matauranga hotaka, engari ka panuihia e au etahi atu waahanga o tenei waahanga.
Mauruuru mo te pou!
I waiho e koe i ahau he kanohi O_O ... me te kore e whakaaro ki te whakahawea i nga takoha a te tangata, koinei te "pro" tino nui kua kitea e au i enei ra. Nga Manaakitanga.
He tuhinga tino pai, Adrián. Tena koa…
Kei te whakahi koe i te ra o te Kuare o Paenga-whawha?, Kaua e whakahua i te "Whakahoahoa i nga Toroa Linus: Hangaia to punaha whakahaere mai i te waatea." Ki taku whakaaro ehara i te uaua mo te hunga e whai ana i tetahi umanga i etahi umanga hangarau, i te whare wananga ranei; engari ki ahau he kaikopere tauhou ahau (kei kona etahi e kii ana "Noob" engari ki taku whakaaro he ahua mangere ahau no Newbie) te ahua nei kaore au e takahi i te whenua. Heoi, KO TE HUAKAPU NEI E HUAKI ANA I TE KAUPAPA ME TE KAUPAPA KAUPAPA ME TE KAUPAPA KI TANA ETITA, HUITANGA; Ko te mea tuatahi ka mahia e au ko te ngana ki te maarama kia iti ake nei tetahi waahanga iti rawa o tenei rauemi.
NGA MAHI KATOA Adrian Arroyo Calle, he tino mahi me te kawe rangatira i te matauranga.
LEL He pou pai, kia mau.
He pou pai tenei, koinei taku i ngaro atu i a Linux. He whakamiharo.
He pou pai, he mihi nui ki a koe.
Kare au i marama he aha ta te konae hono.ld, ka taea e tetahi te whakaatu mai ki ahau?
Ko te konae hono.ld e kii ana ki te hononga (i roto i tenei keehi ld) ko tehea tūranga kei roto i te konae ka puta ko ia waahanga o te waehere. Ka tautuhia hoki e maatau te waahanga tomokanga mai i te mea kaore o maatau punaha whakahaere kaore e taea te whakamahi i te kaupapa matua hei kaupapa noa, i tenei waa ka tohua e maatau te mahi tiimata.
Pai katoa to pou! Kei te tatari mo te 7! Ka aha mena ka ruarua au, hei tauira, mena ka hiahia au ki te whakahaere algorithm, kaore he OS, me pehea taku mohio ki nga mea ka taea e au te whakamahi me nga mea kaore C?
Mena ka penei te whakamahi, kaore koe e kaha ki te whakamahi i tetahi mea mai i te stdlib, ko te tikanga e whakamahia ana e te katoa (kaore he tohu, he koreutu, he kape, he karapu, strcmp, aha atu). Ko nga mea katoa me whakamahi tika mai i te maharahara, te ASM ranei. Akene kei roto i tetahi upoko teitei ka whakaatu atu ahau ki a koe me pehea te whakauru i tetahi whare pukapuka C mo te punaha whakahaere. Mena ka whakamahi koe i te C ++ kaore e taea te whakamahi i nga waahanga me nga mea hou ka whakakore i nga kaiwhakahaere (me te mea nui ake).
Whakaaro ahau tenei ka pai ake te mohio ki a koe me pehea te mahi.
Kia ora, tata tonu ki te 5 tau ki muri i whai ahau i tetahi whakaputanga rite ana ka whakawhanake i te miihini iti e tiimata ana he rite tonu, kei kona etahi ahuatanga hei whakapai ake, engari kia pai ki a koe, ka rere i roto i te momo ahuru, ka mahi i nga mahi maha me te mahi maumahara. i enei ra i mahi ahau i te taraiwa kopae me te kopae kopae kia pai ai te taunga me te kore e rere noa i te cd ora ... Tena koutou.
Aroha, he he taku ki te whakahaere i te whakahau:
gcc -o Timata.ELF kernel.o PanuiKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
link.ld: 5 hapa wetereo
kohikohi2: hapa: I hoki mai a ld 1 te mana putanga
hono.ld
. = 0x00100000;
.multiboot_header: {
* (. multiboot_header)
}
I te rarangi 5 Kaore au e kite i te he, he pena ano tetahi?
Kei te mahi ahau me tetahi whee wheua mariko i roto i te pouaka mariko
taapirihia te ";" i te mutunga o * (. multiboot_header)
He kaupapa tino pai, ka whai tonu ahau i nga upoko o tenei pou, ka hiahia au ki te ako nui mai. Nga mihi nui ki a koutou mo te whakawhiwhi i te wa ki te ako i a matou. Ko tetahi korero mo tenei mea, me kii ko Linus Torvalds ehara i te kaihanga o tetahi punaha whakahaere, naana i hanga te Kernel o te punaha GNU / Linux (ko te mea kua whakamahia i etahi atu OS), he mea nui tonu, engari he mea nui Me mihi ki a Richard Stallman mo te hanga i te nuinga o te OS.
Nga mihi nui ki a koutou mo nga whakauru mai me te tumanako ka whai whakaaro koe ki taku kitenga.
Kua raru ahau mo tenei take, anaanatae au i taku panui i te upoko korero. engari kei te mau tonu te korero
hapa: kaore i kitea he pane multiboot.
hapa me uta e koe te pata i te tuatahi
Kua tukuna e ahau nga mea ka tangohia e au ki te repo i runga i te github https://github.com/rkmax/GenyOS
He pena ano te mea ki ahau. Kua kitea e koe te rongoa?
he patai i tiimata e au ki te whakauru i te wetereo me te raarangi raarangi whakamaarama e kii mai ana ki ahau kaore i kitea ko wai e kii he aha te take
koinei taku mahi
BLACK @ BLACK-pc: ~ / blackroot $ tahua «PanuiDivel» {
rārangi: kaore i kitea te whakahau
Ko nga korero o tenei ihirangi kaua e whakauruhia ki te raina whakahau, engari ki te konae e hanga ana e koe ko grub.cfg
Tuhinga pai, whakawhetai!
Matapihi ... !! he rite tonu ki te hononga ngaro.
He arohanui ahau ki a koutou Whakaako LInus Torvalds akoranga, engari kotahi ano te taahiraa kaore au e mohio, enei e whai ake nei:
Na ka kape taatau i te timatanga. KATOA ki / muri i roto i ta maatau kopaki e whakatauira ana i te pakiaka o ta maatau punaha whakahaere Ka haere matou ki te kopae pakiaka o ta maatau punaha whakahaere hou me te papatohu me te tohu kei te rua nga konae: kotahi /boot/grub/grub.cfg me tetahi /e taera /START.ELF.
Ka haere matou ki te raarangi o runga ka karanga i tetahi taputapu hei hanga ISO me GRUB e kiia nei ko grub-mkrescue
Ka taea e tetahi te whakamarama mai ki ahau: p
Hei whakaputa noa i te ISO iti rawa ka taea e GRUB te utaina ka kape i te pata ki (te / o te ISO, tetahi kōpaki) /muri /START. KATOA me te konae GRUB whirihora ki (te / o te ISO, tetahi kōpaki) / whakaara / grub / grub.cfg. Ka oti ana, kaore ano kia whakauruhia e maatau GRUB ki runga i te ISO ana he taputapu hei whakaputa i te ISO mai i tetahi kopae ka whakauru i te GRUB e kiia nei ko grub-mkrescue. Na ka mutu ka mutu taatau ki te ISO bootable kua whakauruhia te GRUB, ka taea te korero i te whirihoranga kia pai te whakahaere i te timatanga. Kaore au i te mohio mena kua whakamarama au i a au ano, engari ko ta maatau e mahi nei he momo punaha konae teka e hangaia ana e matou he ISO
Nui
Titiro he punaha hou ehara i te mea nui engari mena ka whakapai ake i te linux hei tauira hei hanga i te linux exonucleus me te waahanga o te kaitoha e mahi ana hei microkernel mena e hiahiatia ana, ara ko te hanganga exo me te whanonga micronucleus ka nui rawa atu me te linux.
Ko tetahi atu kaore au i te matatau ki te kaupapa hotaka, he iti noa te tiihi c ++ me etahi java, he pai ki ahau ki te hoatu i te hotaka putunga linux he kaupapa, ka whiu, ka whakarereke, aha.
Ma te kore e ruarua me mahi au i te hararei.
He mea pai tenei, kei roto i tehea kaupapa e hoahoatia ana e ia ka tohu?
tena koa pa mai ki ahau tena whakautu
Ka whakahiato ana au mai i to git ka whiwhi au:
[jmponce @ jar hanga] $ cmake ..
- Te hanga i te whaiaronga WhaiaroRoot
- Te whakaputa tuhinga ISO
hanga DESTDIR = whakauru ka whai ake
./iso.sh
- Doxygen kitea: / usr / bin / doxygen (putanga kitea "1.8.9")
- Kua oti te whakarite
- Kua oti te mahi
- Kua tuhia nga konae ki: / kaainga / jmponce / panuku-muri / hanga
[jmponce @ jar hanga] $ hanga
Matawai i nga whakawhirinaki o te whaainga KATOA.ELF
[7%] Hanga ASM-ATT ahanoa src / CMakeFiles / Start.ELF.dir / start / boot.asm.o
[14%] Hangaia te ahanoa CXX src / CMakeFiles / Timata.ELF.dir / tiimata / NextShellLite.cpp.o
[21%] Hangaia te ahanoa CXX src / CMakeFiles / Start.ELF.dir / start / ND_Screen.cpp.o
[28%] Te hanga i te ahanoa CXX src / CMakeFiles / Timata.ELF.dir / tiimata / NextKernel_Main.cpp.o
[35%] Hangaia te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_Panic.cpp.o
[42%] Hangaia te ahanoa CXX src / CMakeFiles / Timata.ELF.dir / tiimata / ND_Timer.cpp.o
[50%] Hanga Whare CXX ahanoa src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_Memory.cpp.o
[57%] Hangaia te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_Ports.cpp.o
[64%] Hangaia te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_GDT.cpp.o
[71%] Te hanga i te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_ISR.cpp.o
[78%] Hangaia te ahanoa CXX src / CMakeFiles / Timata.ELF.dir / tiimata / ND_String.cpp.o
[85%] Te hanga i te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_IRQ.cpp.o
[92%] Hangaia te ahanoa CXX src / CMakeFiles / Timata.ELF.dir / tiimata / ND_IDT.cpp.o
[100%] Te hanga i te ahanoa CXX src / CMakeFiles / Tīmata.ELF.dir / tiimata / ND_Keyboard.cpp.o
Te hono i te CXX ka tiimata te tiimata.ELF
/ usr / bin / ld: He hototahi /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a ka pekehia i te wa e rapu ana -lgcc
/ usr / bin / ld: kaore e kitea -lgcc
kohikohi2: hapa: ld i hoki mai te mana putanga 1
src / CMakeFiles / Tīmata.ELF.dir / build.make: 402: I rahua nga tohutohu mo te whaainga 'src / Tīmata.ELF'
hanga [2]: *** [src / Tīmata.ELF] Hapa 1
CMakeFiles / Makefile2: 106: nga tohutohu mo te whaainga 'src / CMakeFiles / Tīmata .ELF.dir / katoa' i rahua
hanga [1]: *** [src / CMakeFiles / Timata.ELF.dir / katoa] Hapa 2
Whakahoahoa: 117: Kaore i tutuki nga tohutohu mo te whaainga 'katoa'
hanga: *** [katoa] Hapa 2
Ko te he kaore pea e kitea te llibgcc mai i a koe te putanga moka-64 a i tenei wa ka akina te punaha whakahiato ki te whakamahi i te 32-bit. Me whakauru e koe he kohinga hototahi ki runga i to distro pai atu ranei, whakamahia te punaha moka-32.
E 32 aku paraire, a he rite ano te hapa, ko te tikanga mo te punaha whakahaere, mo te hoahoanga ranei? Ko taku 64 Bit, engari kei te whakamahi ahau i te 32 bit Ubuntu, kaua e patai, he raru tahua, me te kii katoa.
Kaupapa pai, e tatari ana kia nui ake te whanui. Kia ora
Nui e tumanako ana ahau mo etahi atu
Kia ora, he rangatahi ahau hei hiahia ki te hanga i tetahi punaha whakahaere e tautoko ana i nga hotaka me nga papa kia kore ai nga kaiwhakawhanake e whai miihini kaha, tono ranei, kaupapa ranei i runga i te rorohiko
Koinei te take e hiahia ana ahau ki tenei whakairinga engari ka tango au i to taimana ka ngana ranei ki te hanga, ka pai nga mea katoa kia mahia ra ano e ahau te whakahau ./iso.sh or grub-mkrescue -o nextdivel.iso nextroot ka hapa koe i tenei
"Grub-mkrescue: whakatupato: Kaore to xorriso e tautoko" –grub2-boot-info ". Kua monokia etahi ahuatanga. Whakamahia te xorriso 1.2.9 a muri ake ranei ..
grub-mkrescue: whakatupato: Kaore to xorriso e tautoko i te "–grub2-boot-info". He nui rawa to ahua kernel. Kua monokia te kopae kōpae. Whakamahia te xorriso 1.2.9 a muri ake ranei .. »
Kaore au i te mohio mai i te wa e mohio ana ahau mo nga tono me nga paetukutuku engari kaore au e mohio ki tetahi mea
Akene me whakahou te kaupapa xorriso i runga i to distro. He aha te distro me te putanga e whakamahia ana e koe?
Ka whakamahia e au te xubuntu 14.04lts ka ngana ki te whakahaere xorriso engari ka kii mai te anga ki au kaore e kitea ana ka uru au ki te whakauru xorriso ahakoa i tino tumanako au mo tetahi whakautu na te mea he wheako kino taku ki te whakauru i nga mea kaore au e mohio ki te linux hehe . Ka whakahoutia e au i tenei wa ka korero ki a koe te mea i tupu
Ka whakauruhia te xorriso mai i te pokapū raupaparorohiko mai i te taunga ranei "mahi" me uru ki te whakauru xorriso "
Kua oti i ahau nga mea katoa i kiia mai e koe me nga taera e rua me taku ka whiwhi ahau i tenei xorriso 1.3.2: RockRidge filesystem manipulator, kaupapa libburnia.
Peia o nāianei: -outdev 'stdio: nextdivel.iso'
Te ao papahoho: stdio file, ka taea te tuhirua
Tūnga pāpāho: he pātea
Whakarāpopototanga pāpāho: 0 wātū, 0 paraka raraunga, 0 raraunga, 1901m koreutu
Kua taapirihia ki te ahua ISO: whaiaronga '/'='/tmp/grub.OEqSzV'
xorriso: UPDATE: 546 konae i honoa mo te 1 hēkona
xorriso: HINGA: Kaore e taea te whakatau i nga huanga o te konae konae '/ media / gaia / Jupiter1 / ShellSystem / nextroot / nextroot': Kaore he konae, he raarangi ranei.
xorriso: UPDATE: 546 konae i honoa mo te 1 hēkona
xorriso: materoto: -abort_on 'FAILURE' i tutuki ki te 'FAILURE'
me te corduroy Kaore au i te mohio ko taku anga he /nextroot/boot/grub/grub.cfg me te nextroot / muri / Timata.
Mauruuru, kua rite ahau ki te anga whakamua, na tetahi hoa i awhina i ahau, i kii mai he aha taku i he ai ko te whakaritenga o te whaiaronga, no reira ka ea e au koira tonu.
Tena ra, ka taea e koe te korero mai he aha te tikanga i mahia e koe mai i taku raru ki te whawhai: kaore he konae, he whaiaronga ranei
kaore he taputapu whakaoho.
Kia ora! Ka patapatai atu ahau ki a koe mena ka taea e koe te tuku imeera me taau e whakamarama mai nei, kua tino rangirua au, me whakataurite e au nga mea kei roto i a koe ki te whakamaarama, ko te mea kaore pea i marama ki ahau mena te hanga o te grub. cfg ka mahia i te tauranga gcc kei hea ranei te waahi? kia ora e te hoa!
Hangaia e koe te konae grub.cfg me tetahi etita kuputuhi a me tiaki e koe ki PROJECT_FOLDER / boot / grub / grub.cfg
Kia ora Adrian, tuatahi te mihi ki a koe me te mihi ki a koe mo to koha.
Kei te mohio koe kei te mahia e au tenei mo tetahi mahi a ka tiimata taku whakakotahi i muri i o tohutohu, engari i muri i taku tiimata ka kitea te he tuatahi.
$ as -o kernel.o -c kernel.asm
bash: as: kaore i kitea te whakahau ...
Ko nga whakahau penei:
'sa'
'ac'
Kei te mahi ahau i runga i te Fedora 20, ana kaore au e kitea he rongoa mo tenei, he pai ki au mo o arahi mena ka huri au i tetahi mea mo te gcc, te penehi ranei.
i mua i te whakawhetai ki a koe
Me whakauru e koe te GAS kia kite ahau i te waehere hapa. Kaore au i te tata ki a Fedora engari ki te ariā mena ka whakauru koe i te gcc-c ++ ka whakauruhia e koe te roopu GCC katoa me te GNU Ka rite ki te tikanga.
Kei a koe ahau, e mohio ana ahau ki tetahi mea mo C ++, C # (ahakoa kaore e tino whaihua tenei mea whakamutunga) ko te mea kino kei te hapa tonu ahau i te mohio, kaore au e aro ki te reo C, he pai to whakaputanga, Kaore aku korero nui, mena he waa taku ka kite ahau. Mauruuru.
Nga mihi nui ki a koe mo te awhina nui….
He arohanui ahau ki a linux koinei te rohe pai rawa atu he pono mo aku matapihi he paru ki te mohio ahau ko te kaihanga o linux te kaihanga o nga matapihi
Kia ora, ka hapa au i roto i te grub
hapa: file /next/START.ELF Kare i kitea
hapa: me uta e koe te pata i te tuatahi
Ka taea e koe te awhina i ahau me te tuhi haere engari kaore e kitea
Tena koa, me pehea e taea ai e au te whakaatu i te kupu HELLO WORLD, he tiimata au, kaore ano kia paku te mohio
Ka pa ki ahau nga mea e whai ake nei:
gcc -o Timata.ELF kernel.o PanuiKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
/ usr / bin / ld: kernel.o: huringa R_X86_64_32 ki te tohu `stack 'kaore e taea te whakamahi i te wa e hanga ana i tetahi mea PIE; whakakao ano ki -fPIE
/ usr / bin / ld: kua kore te hononga mutunga: waahanga kore whakaatu mo te putanga
kohikohi2: hapa: I hoki mai a ld 1 te mana putanga