સૌ પ્રથમ, ટિપ્પણી કરો કે આ મારો પ્રથમ લેખ છે અને મને આશા છે કે તમને તે બધા ગમશે.
આ શ્રેણીમાં આપણે અનુકરણ કરવા જઈ રહ્યા છીએ લીનસ ટોરવાલ્ડ્સ, આપણે 0 થી આપણી systemપરેટિંગ સિસ્ટમ બનાવીશું. આ પ્રથમ એપિસોડમાં આપણે બૂટ જોવાના છીએ અને આપણે આપણી કર્નલમાંથી સ્ક્રીન પર એક ટેક્સ્ટ મૂકીશું.
મારા કિસ્સામાં operatingપરેટિંગ સિસ્ટમ કહેવામાં આવે છે NextDivel. Decisionપરેટિંગ સિસ્ટમનો વિચાર કરતાની સાથે જ આપણે પહેલા નિર્ણય લેવો જોઈએ કે બૂટલોડર શું હશે?
અહીં ઘણા બધા પ્રકારો છે, અને આપણે એક જાતે બનાવી શકીએ છીએ; જો કે આ ટ્યુટોરીયલમાં હું ઉપયોગ કરીશ ગ્રુબ, કારણ કે મોટાભાગના તેના વિશે વધુ કે ઓછામાં કંઇક જાણે છે. અમે એક ફોલ્ડર બનાવીએ છીએ જે આપણી operatingપરેટિંગ સિસ્ટમનું મૂળ હશે અને ત્યાં અમે / બૂટ / ગ્રબ ફોલ્ડર બનાવીએ છીએ
mkdir nextroot && cd nextroot
mkdir -p boot/grub
ત્યાં આપણે નીચે પ્રમાણે grub.cfg ફાઇલ બનાવીએ છીએ:
menuentry "NextDivel" {
echo "Booting NextDivel"
multiboot /next/START.ELF
boot
}
આ ફાઇલમાં આપણે જોયું છે કે કેવી રીતે ગ્રુબ અમારી કર્નલ, આ કિસ્સામાં /next/START.ELF માં લોડ કરશે. હવે આપણે આપણી કર્નલ બનાવવી જ જોઇએ.
આ માટે અમને જરૂર પડશે જીસીસી y જીએએસ (પ્રોજેક્ટ એસેમ્બલર જીએનયુ, સામાન્ય રીતે જીસીસી સાથે આવે છે). તેથી આપણે કર્નલ બનાવવા જઈ રહ્યા છીએ.
આપણે પહેલા કર્નલ.એએસએમ નામની ફાઇલ બનાવીએ છીએ. આ ફાઇલમાં અમારી કર્નલનો પ્રારંભિક બિંદુ હશે અને તે મલ્ટિબૂટને પણ વ્યાખ્યાયિત કરશે (કેટલાક બૂટલોડરોની સુવિધા જેમ કે ગ્રુબ). કર્નલ.આસ્મની સામગ્રી આ હશે:
.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
મલ્ટિબૂટથી સંબંધિત દરેક વસ્તુ ફક્ત સ્પષ્ટીકરણને અનુસરવા માટે છે કંઇ વધુ નહીં. બધું શરૂઆતમાં શરૂ થશે, તે મલ્ટિબૂટ_એન્ટ્રીને ક willલ કરશે, આપણે મલ્ટિબૂટ હેડરને પ્રથમ 4 કેમાં વ્યાખ્યાયિત કરીશું અને અમે તેને (મોવલ સાથે) મૂકીશું.
પછીથી આપણે નેક્સ્ટકર્નલ_માઈન કહીએ છીએ જે આપણું કર્નલ સી ફંક્શન છે. લૂપમાં આપણે કમ્પ્યુટરને રોકવા માટે અટકીએ છીએ. આ આ સાથે સંકલન કરે છે:
as -o kernel.o -c kernel.asm
હવે અમે સીમાં પ્રોગ્રામિંગ દાખલ કરવા જઈ રહ્યા છીએ તમને લાગે છે કે હવે બધું કેકનો ટુકડો છે, અમે એક મૂકીએ છીએ printf en મુખ્ય અને તે છે, અમે તે પૂર્ણ કર્યું છે.
વેલ ના, થી printf y મુખ્ય તે કાર્ય કરે છે જે theપરેટિંગ સિસ્ટમ દ્વારા નિર્ધારિત કરવામાં આવે છે, પરંતુ અમે તેને બનાવી રહ્યા છીએ! આપણે ફક્ત એવા કાર્યોનો ઉપયોગ કરી શકીએ છીએ જે આપણે આપણી જાતને વ્યાખ્યાયિત કરીએ છીએ.
પછીના પ્રકરણોમાં હું આપણી પોતાની સી લાઇબ્રેરી (ગ્લિબીસી, બાયોનિક, ન્યુલિબસી) કેવી રીતે મૂકવું તે વિશે વાત કરીશ, પરંતુ સમય સમય પર. અમે વાત કરી છે કે અમે ટેક્સ્ટને સ્ક્રીન પર મૂકવા માંગીએ છીએ, આપણે તે કેવી રીતે કરીએ છીએ તે સારી રીતે જોશું.
ત્યાં બે વિકલ્પો છે, એકને ક callલ કરવો BIOS અને બીજું સીધી સ્ક્રીન મેમરીનું સંચાલન કરવું છે. અમે પછીનું કામ કરીશું કારણ કે તે સીથી સ્પષ્ટ છે અને જ્યારે આપણે સુરક્ષિત મોડમાં પ્રવેશ કરીએ છીએ ત્યારે તે આપણને તે કરવાની પણ મંજૂરી આપશે.
અમે નીચેની સામગ્રી સાથે નેક્સ્ટર્નલ_મેઇન.સી. નામની ફાઇલ બનાવીએ છીએ:
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;
}
આની મદદથી આપણે મેમરીને સીધી હેરફેર કરીએ છીએ VGA અને પાત્ર કેરેક્ટર આપણે તે લખી રહ્યા છીએ. અમે stdlib ને નિષ્ક્રિય કરીને કમ્પાઇલ કરીએ છીએ:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding
જો તમે તેને હજી સુધી બનાવ્યું છે, તો તમે હમણાં તમારી નવી operatingપરેટિંગ સિસ્ટમ અજમાવવા માગો છો, પરંતુ અમે હજી સુધી પૂર્ણ કર્યું નથી. અમને એક નાની ફાઇલની જરૂર છે જે કમ્પાઇલરને કહે છે કે ફાઇલમાં દરેક વિભાગ ક્યાં મૂકવો. આ કડી સ્ક્રિપ્ટ સાથે કરવામાં આવે છે. અમે link.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 = .;
}
આ સાથે આપણે દરેક વિભાગની સ્થિતિ અને પ્રવેશ બિંદુ વ્યાખ્યાયિત કરીએ છીએ, શરૂ કરો, કે જે આપણે કર્નલ.એએસએમમાં વ્યાખ્યાયિત કર્યું છે. હવે આપણે આ બધા ઉશ્કેરાટને એક કરી શકીએ:
gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
હવે આપણે આપણા ફોલ્ડરની અંદર START.ELF ની / આગળની નકલ કરીએ છીએ જે આપણી operatingપરેટિંગ સિસ્ટમના મૂળનું અનુકરણ કરે છે. અમે કન્સોલ સાથે અમારી નવી operatingપરેટિંગ સિસ્ટમના રૂટ ફોલ્ડર પર જઈએ છીએ અને ચકાસીએ છીએ કે ત્યાં બે ફાઇલો છે: એક /boot/grub/grub.cfg અને બીજી /next/START.ELF.
અમે ઉપલા ડિરેક્ટરીમાં જઈએ છીએ અને GRUB તરીકે ઓળખાતી ISO રચના યુટિલિટીને ક callલ કરીએ છીએ ગ્રબ- mkrescue
grub-mkrescue -o nextdivel.iso nextroot
એકવાર આપણે આ કરી લીધા પછી અમારી પાસે એક હશે ISO. આ આઇએસઓ કમ્પ્યુટર પર ખોલી શકાય છે x86 (64 બિટ્સ પણ) અને વર્ચુઅલ મશીનો. તેની ચકાસણી કરવા માટે, હું વાપરવા જઈ રહ્યો છું QEMU. અમે બોલાવીએ છીએ QEMU આદેશ વાક્યમાંથી:
qemu-system-i386 nextdivel.iso
શરૂ કરશે સીબીઆઈઓએસ અને પછીથી આપણી પાસે હશે ગ્રુબ. પછી જો બધું બરાબર હોય તો આપણે આપણું વાક્ય જોશું.
તમે વિચારશો કે આ મુશ્કેલ છે, હું જવાબ આપું છું, હા તે છે.
ખરેખર operatingપરેટિંગ સિસ્ટમ બનાવવી મુશ્કેલ છે અને આ અહીં કંઈપણ ઉપયોગી કરતું નથી. ભવિષ્યના પ્રકરણોમાં આપણે જોઈશું કે સ્ક્રીન પર રંગોને કેવી રીતે હેન્ડલ કરવું, મેમરીને રિઝર્વ કરવું અને જો હું કરી શકું તો, કીબોર્ડમાંથી ડેટા કેવી રીતે મેળવી શકું.
જો કોઈ અહીં બધું ક copyપિ કરવા માંગતા નથી, તો મારી પાસે રિપોઝિટરી છે GitHub moreપરેટિંગ સિસ્ટમ સાથે (વધુ વિસ્તૃત) NextDivel. જો તમારે કમ્પાઇલ કરવું હોય તો NextDivel તમારી પાસે હમણાં જ ગિટ અને કmaમક છે:
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
જો તમને operatingપરેટિંગ સિસ્ટમ બનાવવાની સમય અને ઇચ્છા હોય તો હું તમને નેક્સ્ટડેવલ પર સહયોગ કરવા પ્રોત્સાહિત કરું છું. કદાચ લિનક્સથી પણ શ્રેષ્ઠ ... સમય કહેશે.
:O
ટોરવાલ્ડ્સે મિનિક્સ operatingપરેટિંગ સિસ્ટમ (યુનિક્સમાંથી તારવેલી) ને એન્ડ્ર્યુ એસ. ટેનેનબumમ પાસે લીધી અને તેમાં સુધારો કર્યો.
તનેનબumમની લિનસ સાથે લડાઈ છે, તેઓએ એકબીજાને અપમાનિત કર્યું. ટેનેનબumમ કહે છે કે માઇક્રોકર્નલ એ ભાવિ છે (એચયુઆરડી, મિનિક્સ નવી શંકુ માઇક્રોકરનલ).
http://www.taringa.net/posts/linux/17215999/Linux-vs-Hurd-Kernel-Monolitico-vs-Microkernel.html
આ બ્લોગ પર મેં અત્યાર સુધી જોયેલી આ શ્રેષ્ઠ પોસ્ટ રહી છે. મારે પહેલાથી જાણવું છે કે બીજું શું કરવું જોઈએ.
પ્રભાવિત થાઓ
ખરેખર પ્રભાવશાળી !!
FUUUUUUUAA!
મેં ક્યારેય જોયું તે જિદ્દીની પોસ્ટ છે. અભિનંદન એડ્રિયન, વેશ્યા નો લેખ! હાયપર રસપ્રદ !!! 🙂
હું સહમત છું. હું આ પરિસ્થિતિની કલ્પના કરું છું:
GNU / Linux પાવર વપરાશકર્તા (ખુશ ચહેરો સાથે):
"મારા જેન્ટુને કેવી રીતે કમ્પાઇલ કરવું તે મને પહેલાથી જ ખબર છે"
નર્ડ (તિરસ્કારજનક વલણ સાથે): ff પીએફ, મેં મારી પોતાની ડિસ્ટ્રો બનાવી છે ... »
હા, હું મારી પોતાની લિનક્સ ડિસ્ટ્રો બનાવી શકું છું. હકીકતમાં તેમાં હું એમ્બેડેડ લિનક્સ માટે ઇન્દ્રોમ્સ અને કર્નલ વિકસિત કરું છું. લિનક્સ ડિસ્ટ્રો કરતા operatingપરેટિંગ સિસ્ટમ બનાવવી તે સમાન નથી. પ્રથમ ખૂબ મુશ્કેલ છે, લગભગ અશક્ય, બીજું, જેમ તમે કહ્યું છે, કંઈપણ હોઈ શકે છે, એક્સડી લોગોવાળા ઉબુન્ટુ પણ બદલાયા છે. તેથી હું તેને આની જેમ છોડીશ:
GNU / Linux પાવર વપરાશકર્તા (ખુશ ચહેરો સાથે)
- હું પહેલેથી જ જાણું છું કે મારા ગેન્ટુને કેવી રીતે કમ્પાઇલ કરવું
સેમી-નેર્ડ
- પીએફએફ, મેં શરૂઆતથી એક લિનક્સને અનુસર્યું છે અને મેં મારી પોતાની ડિસ્ટ્રો બનાવી છે
નર્વડ (તિરસ્કારજનક વલણ સાથે)
- પીએફએફ, કારણ કે મેં એસેમ્બલર અને સીમાં કર્નલ પ્રોગ્રામ કર્યો છે
શુભેચ્છાઓ!
આ મારા માટે રસપ્રદ છે, નીચેના પ્રકરણો બાકી છે.
લાંબા સમય પહેલા મેં આ ટ્યુટોરિયલ જોયું, તે સી ++ માટે છે
https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System
કડી બદલ આભાર, હું તેના પર એક નજર નાખીશ.
હું એએમડી ગ્રાફિક્સ સાથે 100% સુસંગત ratingપરેટિંગ સિસ્ટમ માંગું છું: /
વિન્ડોઝ
વિંડોઝ કેટાલિસ્ટમાં હાહાહાને ઓપનજીએલ સપોર્ટ નથી, જોકે લિનક્સમાં હું બધી ગ્રાફિક શક્તિનો ઉપયોગ કરી શકતો નથી, તે જોવા માટે હું રાહ જોતો રહીશ!
બજારને સાફ કરવા માટે વાલ્વની જ રાહ જુઓ
જાદુઈ, સંપૂર્ણ, ઉત્તમ યોગદાન, તે પોસ્ટ્સની એક મહાન શ્રેણી જેવું લાગે છે
બુઆહ, હું જાણું છું કે તમને કેવી રીતે શીખવામાં આવે છે અને કોઈ એક સહાય કરે છે તે જ્ withાન સાથે પ્રેક્ટિસ કરવાની રીત તરીકે, તમને મદદ કરવા માટે સક્ષમ થવા માટેનો પ્રોગ્રામ કેવી રીતે કરવો. એકવાર તમે આને સમાપ્ત કરો પછી "પ્રોજેક્ટ નેક્વિડિવલ વાપરો, પોર્ન સમાન દેખાય છે (અથવા વધુ સારું).", તમે એક્સડી સ્વીપ કરશે.
Mooooooolaaa !!!!
ખૂબ જ સારો લેખ, પરંતુ ફક્ત ઉત્સુક છે કે તમે લીનક્સ ફ્રોથ સ્ક્રેચ પ્રોજેક્ટને શા માટે અનુસર્યું નથી?
સાદર
સારું, સ્ક્રેચથી લિનક્સ સારું છે, અને તમે કહી શકો છો કે તે તમારું છે, પરંતુ તે ખરેખર ખૂબ જ યાંત્રિક છે:
ફોન્ટ્સ ડાઉનલોડ કરો
-પેચ
કમ્પાઇલ
-ઇન્સ્ટોલ કરો
-ફોલિંગ
અહીં, પરિણામ પરિણામમાં વધુ ખરાબ હોવા છતાં, તમે કહી શકો છો કે તમે બધી ફાઇલોની સમીક્ષા કરી છે.
મારી અગાઉની ટિપ્પણીથી સ્પષ્ટ છે, કારણ કે તેમાં સમાન સ્તરની જટિલતા નથી. તદુપરાંત, સ્ક્રેચમાંથી લિનક્સ ખરેખર તેના નામથી વિરુદ્ધ નથી, શરૂઆતથી સિસ્ટમ બનાવવાનું છે. શરૂઆતથી સિસ્ટમ બનાવવાનો અર્થ તે જાતે પ્રોગ્રામિંગ કરવું, તમારી પોતાની કર્નલ લખવું, લિનક્સ કર્નલ નહીં, જો શક્ય હોય તો પણ ગ્રુબને બદલે તમારું પોતાનું બુટલોડર, લિલો, સિસ્લિનક્સ, વગેરે. જોકે એલએફએસ એ નાનો પરાક્રમ નથી અને તે એકદમ જટિલ છે, તે તમારી પોતાની કર્નલ પ્રોગ્રામિંગની નજીક પણ નથી આવતો ...
આ ઉપરાંત, હું એડ્રિયન એરોયો કleલ સાથે સંમત છું કે તે ખૂબ યાંત્રિક છે, મેં તેને કોઈક વાર વાંચ્યું છે અને તમે છઠ્ઠા પાના પર છોડી દેશો, તેઓ તમને પેકેજોના કયા સંસ્કરણોનો ઉપયોગ કરવાનું કહેશે કારણ કે સૂચનાઓ કામ કરતી નથી (કે જે મારા મતે, રાહતનો અભાવ દર્શાવે છે). મને લાગે છે કે તમારા પોતાના વિચારની કોઈ બાબત રાખવી વધુ સારું છે, તમને જોઈતા પેકેજો કમ્પાઇલ કરો, કેટલાક પ્રોગ્રામ પણ કરો, લિનક્સ કર્નલ અને શાંતિથી કમ્પાઇલ કરો.
શુભેચ્છાઓ!
uuuoooohh !! આ જેટલી પોસ્ટ હતી તેટલી પોસ્ટ મેં કદી મેળવી નથી.
કૃપા કરીને ચાલુ રાખો 😀
મને ખબર નથી કે શું ખોટું છે:
ભૂલ: મલ્ટિબૂટ હેડર મળ્યું નથી.
ભૂલ તમારે પહેલા કર્નલ લોડ કરવાની જરૂર છે
જો તે કોઈ આશ્વાસન છે, તો મેં તે જ ભૂલ કરી છે. સ્રોતો કે જે ગિટહબમાં છે તેનો ઉપયોગ કરવાનો પ્રયાસ કરો, ત્યાં ભૂલ પહેલાથી જ હલ થઈ ગઈ છે. કોઈપણ રીતે મને લાગે છે કે જો તમે grub.cfg માં "મલ્ટિબૂટ /next/START.ELF" થી "કર્નલ /next/START.ELF" માં લીટી બદલો તો તે કામ કરશે. મને બરાબર ખબર નથી.
સૌ પ્રથમ, ભવ્ય પ્રવેશ 🙂
ગ્રબથી કર્નલ લોડ કરવામાં મને સમાન સમસ્યા આવી રહી છે. પણ ગિટહબ સ્રોતોનો ઉપયોગ કરીને અથવા કર્નલ માટે મલ્ટિબૂટ બદલી રહ્યા છે ...
ભૂલ: મલ્ટિબૂટ હેડર મળ્યું નથી.
ભૂલ: લોડ થયેલ કર્નલ નથી
શું તમે કમ્પાઇલર તરીકે રણકાર વાપરી રહ્યા છો? તેને જીસીસી માટે બદલો
શું તમને લિંકર સ્ક્રિપ્ટનો ઉપયોગ કરવાનું યાદ છે? તે લિંકર (અમારા કિસ્સામાં એલડી) ને જાણવું જરૂરી છે કે ફાઇલમાં તે દરેક વસ્તુ ક્યાં મૂકી રહ્યું છે. આ કિસ્સામાં મલ્ટિબૂટ હેડર શરૂઆતમાં હોવું આવશ્યક છે.
શું તમે સીએમકે સિસ્ટમનો ઉપયોગ કરી રહ્યાં છો? જો તમે તેનો ઉપયોગ કરો છો તો મને લાગે છે કે તે નિષ્ફળ થતું નથી.
જો તે તમારા માટે કામ કરતું નથી, તો હું બીજો ઉપાય શોધવાનો પ્રયાસ કરીશ.
[+100]
ફક્ત મહાન !!!
તે ખરેખર સરસ છે 🙂
હું મારી ટોપી ઉપાડું છું. પ્રભાવશાળી પોસ્ટ. અભિનંદન.
વહુ!
તે મહાન હશે જો તમે બ્રાઉઝરનો ઉપયોગ કર્યા વિના HTML5 અને જાવાસ્ક્રિપ્ટમાં બનાવેલ એપ્લિકેશનો ખોલી શકો, તો તે શક્ય છે?
હું તેમના વિશે મૂળ એપ્લિકેશન જેવી હોવાની વાત કરું છું.
તેથી આ operatingપરેટિંગ સિસ્ટમ program માટે પ્રોગ્રામ કરવાનું સરળ રહેશે 😀
આ કિસ્સામાં હું તે કરવા જઇ રહ્યો નથી કારણ કે તેની પાછળ વધુ કામ લે છે પરંતુ ત્યાં એક ""પ" નામની operatingપરેટિંગ સિસ્ટમ છે જે તમે કહો છો તે કરે છે. હકીકતમાં આદેશ વાક્ય જાવાસ્ક્રિપ્ટ છે અને જાવાસ્ક્રિપ્ટ કેનવાસ વિધેયોનો ઉપયોગ કરીને વિંડોઝ દોરવામાં આવે છે. નિન્ટેન્ડો ઇજનેરોએ તે કર્યું અને હવે તે ખુલ્લા સ્રોત છે.
http://code.google.com/p/es-operating-system/
વાલા, માહિતી માટે આભાર 😀
હું એક નજર નાખીશ
જે પોતાનું ઓએસ બનાવી શકે છે તે શાંતિથી મરી શકે છે, કારણ કે તેની સાથે બૌદ્ધિક સ્તર પ્રાપ્ત કરવું છે; તે તમને સ્વર્ગ અથવા નરક સાથે વહેંચી દે છે.
પોસ્ટિંગનો ટુકડો.
હજી સુધી કોઈએ માત્ર એવું કંઇક બનાવ્યું નથી જેને શરૂઆતથી બનાવવામાં આવેલ એક યોગ્ય operatingપરેટિંગ સિસ્ટમ કહી શકાય, લિનક્સ ટોરવાલ્ડ્સ પણ નહીં કે તમે શરૂઆતમાં જ કહો છો, કારણ કે આ યુનિક્સ સ્રોતથી શરૂ થયું હતું અને બાકીની બધી બાબતો સામાન્ય રીતે વધુ સામાન્ય રીતે લખાઈ છે. એક વ્યક્તિ કરતાં, જીવન ખૂબ જ ટૂંકા હોય છે અને શરૂઆતથી શરૂઆત કોઈના માટે પણ કલ્પનાશીલ નથી, વિરુદ્ધ ઇચ્છતું હોય તો પણ, તે લિનક્સ ટોરવાલ્ડ્સ દ્વારા નકલ અને પેસ્ટ કરવામાં ઘણી ભૂલોમાં અભિવ્યક્ત છે
યુનિક્સ સ્રોત બંધ છે, મિનિક્સનો ઉપયોગ ... જે કંઈક બીજું છે.
અને જેઓએ ક્યુડોસને શું બનાવ્યું?
કંઈક પર આધારિત હતા?
હું જે જોઉં છું તેનાથી, જેની પોતાની operatingપરેટિંગ સિસ્ટમ નથી, કારણ કે તેઓ નથી માંગતા, હાહાહા.
હવે ગંભીરતાથી, ખૂબ જ રસપ્રદ! મારા મર્યાદિત પ્રોગ્રામિંગ જ્ knowledgeાનથી ઘણું બધુ છે, પરંતુ હું આ શ્રેણીના અન્ય ભાગો આતુરતાથી વાંચીશ.
પોસ્ટ માટે આભાર!
તમે મને ઓ_ઓ ચહેરો છોડી દીધો છે ... કોઈના યોગદાનને ઓછો અંદાજવાના હેતુ વિના, મેં તાજેતરમાં જોયું તે સૌથી "તરફી" છે. સાદર.
ખૂબ જ સારો લેખ, એડ્રિઅન. કૃપા કરીને ચાલુ રાખો…
શું તમે એપ્રિલ ફૂલ્સ ડે પર મજાક કરી રહ્યા છો ?, એનો અર્થ નહીં "ઇમ્યુલેટિંગ લિનસ ટોરવાલ્ડ્સ: શરૂઆતથી તમારી પોતાની operatingપરેટિંગ સિસ્ટમ બનાવો." મને નથી લાગતું કે જેઓ કેટલીક તકનીકી અથવા યુનિવર્સિટીની કારકીર્દિમાં આગળ વધી રહ્યા છે તેમના માટે મુશ્કેલ છે; પરંતુ મારા માટે હું શિખાઉ તીરંદાજ છું (ત્યાં એવા લોકો છે કે જેઓ "નૂબ" કહે છે પરંતુ હું મારી જાતને વધુ નેબી ને કંઈક આળસુ માનું છું) જે અવાજ જમીન પર પગ નહીં મૂકવા જેવો લાગે છે. તો પણ, આ લેખ ખૂબ જ ઉત્સુકતા બનાવે છે અને તેના સંપાદક માટે એક ડબ એડમિશન અને આદર વિના; હું જે કરીશ તે પ્રથમ વસ્તુ એ છે કે આ મૂલ્યવાન સામગ્રીમાંથી થોડોક સમજવાનો પ્રયત્ન કરો.
આભાર એડ્રિયન એરોયો કleલે, ઉત્તમ કાર્ય અને જ્ noાનની ઉમદા ડિલિવરી.
એલઇએલ ઉત્તમ પોસ્ટ, તેને ચાલુ રાખો.
શું એક મહાન પોસ્ટ, આ તે છે જેના વિશે હું ચૂકી ગયો desde linux. અદ્ભુત.
ગ્રેટ પોસ્ટ, ખૂબ ખૂબ આભાર.
મને સમજાતું નથી કે લીંક.એલ્ડ ફાઇલ શું કરે છે, કોઈ મને તે સમજાવી શકે છે?
લિન્ક.એલ્ડ ફાઇલ કડી કરનારને કહે છે (આ કિસ્સામાં એલડી) જ્યાં કોડનો દરેક ભાગ પરિણામી ફાઇલમાં હોવો જોઈએ. અમે એન્ટ્રી પોઇન્ટ પણ વ્યાખ્યાયિત કરીએ છીએ કારણ કે આપણી પાસે operatingપરેટિંગ સિસ્ટમ નથી કારણ કે આપણે મુખ્યને સામાન્ય પ્રોગ્રામ તરીકે ઉપયોગ કરી શકતા નથી, આ કિસ્સામાં આપણે પ્રારંભ કાર્ય પસંદ કરીએ છીએ.
તમારી બધી પોસ્ટ મહાન છે! 7 ની રાહ જુએ છે! શું જો મને કોઈ શંકા છે, ઉદાહરણ તરીકે, જો હું ફક્ત ઓએસ વિના, ફક્ત અલ્ગોરિધમનો ચલાવવા માંગું છું, તો હું કેવી રીતે જાણું કે હું શું વાપરી શકું અને શું સી નહીં?
જો તમે આનો ઉપયોગ આ રીતે કરો છો, તો તમે stdlib માંથી કંઈપણ વાપરવા માટે સમર્થ હશો નહીં, જે વ્યવહારિક રૂપે દરેક જણ ઉપયોગ કરે છે (કોઈ મllલોક, ફ્રી, પ્રિન્ટફ, સ્કેનફ, સ્ટ્રિંક્મ્પ, વગેરે). દરેક વસ્તુનો સીધો મેમરી અથવા એએસએમથી અમલ કરવો પડે છે. કદાચ higherંચા અધ્યાયમાં હું તમને બતાવીશ કે operatingપરેટિંગ સિસ્ટમ માટે સી પુસ્તકાલય કેવી રીતે ઇન્સ્ટોલ કરવું. જો તમે સી ++ નો ઉપયોગ કરો છો તો તમે અપવાદો અને નવા અને કા deleteી નાખનારા torsપરેટર્સ (અને ચોક્કસ વધુ) નો ઉપયોગ કરી શકતા નથી.
હું માનું છું આ તે તમને કેવી રીતે કરવું તે વિશે વધુ સારો વિચાર આપી શકે છે.
હેલો, લગભગ 5 વર્ષ પહેલાં મેં સમાન પ્રકાશનને અનુસર્યું અને એક માઇક્રોકેનલ વિકસાવી જે તે જ રીતે શરૂ થાય છે, તેમાં સુધારણા માટેના કેટલાક પાસાઓ છે, પરંતુ તે તમને રુચિ અનુભવે છે, તે સંરક્ષિત મોડમાં ચાલે છે, મલ્ટિટાસ્કીંગ ચલાવે છે અને મેમરી વર્ચ્યુઅલાઈઝેશન કરે છે, તાજેતરમાં હું તેને ઇન્સ્ટોલ કરી શકાય તેવું બનાવવા માટે ડિસ્ક ડ્રાઇવર અને સીડી ડ્રાઇવ પર કામ કર્યું છે અને ફક્ત લાઇવ સીડી પર નહીં ચલાવો ... શુભેચ્છાઓ.
પ્રિય, આદેશ અમલીકરણ કરતી વખતે મારી પાસે ભૂલ છે:
જીસીસી -ઓ પ્રારંભ.એલએફ કર્નલ.ઓ નેક્સ્ટર્નલ_મેઇન.ઓ -ટલિંક.લ્ડ-નોસ્ટ્ડલિબ -ફીપીઆઈસી -ફ્રેસ્ટ સ્ટેન્ડિંગ -lgcc
link.ld: 5 વાક્યરચના ભૂલ
એકત્રિત 2: ભૂલ: ld એ 1 બહાર નીકળવાની સ્થિતિ પરત કરી
link.ld
. = 0x00100000;
.મલ્ટિબૂટ_હેડર: {
* (. મલ્ટિબૂટ_હેડર)
}
લાઇન 5 માં મને ભૂલ દેખાતી નથી, શું કોઈ તેની સાથે એવું જ થાય છે?
વર્ચ્યુઅલબોક્સમાં વર્ચ્યુઅલાઇઝ્ડ ડેબિયન વ્હીઝી સાથે કામ કરી રહ્યો છું
"ઉમેરો"; * (. મલ્ટિબૂટ_હેડર) ના અંતે
ઉત્તમ પહેલ, હું ચોક્કસપણે આ પોસ્ટના પ્રકરણોનું પાલન કરીશ, તેમાંથી ઘણું શીખવાની ઇચ્છા રાખું છું. અમને શીખવવા માટે સમય કા forવા બદલ ખૂબ ખૂબ આભાર. આ સંદર્ભમાં એક જ વિગતમાં, એ નોંધવું જોઇએ કે લિનસ ટોરવાલ્ડ્સ કોઈ પણ operatingપરેટિંગ સિસ્ટમના નિર્માતા નથી, તેમણે જીએનયુ / લિનક્સ સિસ્ટમ (જેનો ઉપયોગ અન્ય ઓએસમાં કરવામાં આવ્યો છે) ની કર્નલ બનાવ્યો, જે હજી પણ યોગ્ય છે, પરંતુ મોટાભાગના ઓએસ બનાવવા માટે રિચાર્ડ સ્ટallલમેનને જરૂરી ક્રેડિટ આપવી મહત્વપૂર્ણ છે.
ઇનપુટ માટે ખૂબ ખૂબ આભાર અને હું આશા રાખું છું કે તમે મારા નિરીક્ષણ પર વિચાર કરો.
હું થોડા સમય માટે આ વિષય સાથે ગડબડ કરું છું, હેડલાઇન વાંચતાની સાથે જ મને રસ પડ્યો. પણ સંદેશ મળતો રહે છે
ભૂલ: મલ્ટિબૂટ હેડર મળ્યું નથી.
ભૂલ તમારે પહેલા કર્નલ લોડ કરવાની જરૂર છે
ગીતોબ પરનાં રેપોમાં હું જે કાંઈ લઉ છું તે મેં અપલોડ કર્યું છે https://github.com/rkmax/GenyOS
મને પણ આવું જ થાય છે.
એક પ્રશ્ન મેં સિન્ટેક્સનો પરિચય આપવાનું શરૂ કર્યું અને મેનુએન્ટ્રી લાઇન મને કમાન્ડનોટ કહે છે કે મને કોણ શા માટે તે કહી શકે
આ હું કરું છું
બ્લેક @ બ્લેક-પીસી: ~ / બ્લેકરૂટ $ મેનુએન્ટ્રી «નેક્સ્ટડિવલ {
મેનુએન્ટ્રી: આદેશ મળ્યો નથી
આ સામગ્રીની સામગ્રી કમાન્ડ લાઇનમાં દાખલ કરવાની નથી, પરંતુ તમે બનાવેલ ફાઇલમાં grub.cfg કહેવાય છે
ઉત્તમ લેખ, આભાર!
જોવાલાયક… !! તે ગુમ થયેલ કડી જેવી જ છે.
હું તમારા ઇમ્યુલેટિંગ લિનસ ટોરવાલ્ડ્સ ટ્યુટોરિયલ્સને પસંદ કરું છું, પરંતુ એક પગલું છે જે હું સમજી શકતો નથી, નીચે આપેલ:
હવે આપણે આપણા ફોલ્ડરની અંદર START.ELF ની / આગળની નકલ કરીએ છીએ જે આપણી operatingપરેટિંગ સિસ્ટમના મૂળનું અનુકરણ કરે છે. અમે કન્સોલ સાથે અમારી નવી operatingપરેટિંગ સિસ્ટમના રૂટ ફોલ્ડર પર જઈએ છીએ અને ચકાસીએ છીએ કે ત્યાં બે ફાઇલો છે: એક /boot/grub/grub.cfg અને બીજી /next/START.ELF.
અમે ઉપલા ડિરેક્ટરીમાં જઈએ છીએ અને GRUB-mkrescue તરીકે ઓળખાતી GRUB સાથેની ISO રચના યુટિલિટીને ક callલ કરીએ છીએ
કોઈ મને સમજાવી શકે: પી
ખાલી ન્યુનત્તમ ISO પેદા કરવા માટે કે જે GRUB લોડ કરી શકે છે આપણે કર્નલની નકલ (ISO ની / કોઈપણ ફોલ્ડર) /next/START.ELF અને GRUB રૂપરેખાંકન ફાઇલ (ISO ની / કોઈપણ ફોલ્ડર) / બુટ / પર કરી શકીએ છીએ. grub / grub.cfg. એકવાર તે થઈ જાય, અમે હજી સુધી GRUB ઇન્સ્ટોલ કર્યું નથી ISO અને ત્યાં એક યુટિલિટી છે જે ફોલ્ડરમાંથી ISO જનરેટ કરે છે અને GRUB-mkrescue નામના GRUB સ્થાપિત કરે છે. પછી અમે આખરે GRUB ઇન્સ્ટોલ કરેલ બૂટ કરી શકાય તેવા ISO સાથે સમાપ્ત થઈશું, જે પછીથી START.ELF ને યોગ્ય રીતે ચલાવવા માટે ગોઠવણી વાંચી શકે છે. મને ખબર નથી કે મેં મારી જાતને સમજાવી છે કે નહીં, પરંતુ આપણે શું કરીએ છીએ તે એક પ્રકારની ખોટી ફાઇલ સિસ્ટમ છે કે જેની સાથે આપણે ISO જનરેટ કરીએ છીએ.
મહાન
ઠીક છે ખરેખર એક નવી સિસ્ટમ જોશો નહીં પરંતુ જો લિનક્સમાં સુધારણા માટે ઉદાહરણ તરીકે સર્વર ઘટક સાથે લિનક્સ એક્ઝોન્યુક્લિયસ બનાવવું જે જો ઇચ્છિત હોય તો માઇક્રોકર્નલ તરીકે કાર્ય કરે છે, તે માઇક્રોનક્લિયસ વર્તણૂકવાળી એક્ઝો સ્ટ્રક્ચર કહે છે જે સુપર અને લિનક્સ હશે.
બીજી બાબત એ છે કે હું પ્રોગ્રામિંગમાં નિષ્ણાંત નથી, ફક્ત થોડા ચીઝ સી ++ અને કેટલાક જાવા, તે મારા માટે લિનક્સ કર્નલ પ્રોગ્રામને મોડ્યુલ આપવા, તેને ગટ કરવા, તેને સુધારવા, વગેરે પૂરતું હશે.
કોઈ શંકા વિના મારે પહેલાથી વેકેશન પર કરવું પડશે.
આ સારો છે અને કયા પ્રોગ્રામમાં તે ડિઝાઇન કરે છે અને કોડ કરે છે?
કૃપા કરીને મને તે જવાબ આપો
જ્યારે તમારા ગિટમાંથી સંકલન કરું ત્યારે મને મળશે:
[jmponce @ જાર બિલ્ડ] ma બનાવટી ..
- નેક્સ્ટરૂટ ડિરેક્ટરી બનાવી રહ્યા છે
ISO સ્ક્રિપ્ટ પેદા કરી રહ્યા છીએ
DESTDIR = આગલું ઇન્સ્ટોલ કરો
./iso.sh
- મળેલ ડોક્સિજન: / યુએસઆર / ડબ્બી / ડોક્સિજન (મળ્યું સંસ્કરણ "1.8.9")
- રૂપરેખાંકન થઈ ગયું
- પેદા થાય છે
બિલ્ડ ફાઇલોને આ લખવામાં આવી છે: / હોમ / જેએમપોન્સ / નેક્સ્ટ-ડિવેલ / બિલ્ડ
[jmponce @ જાર બિલ્ડ] $ બનાવો
લક્ષ્ય START.ELF ની અવલંબન સ્કેન કરી રહ્યું છે
[%%] બિલ્ડિંગ એએસએમ-એટીટી objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / boot.asm.o
[14%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / NextShellLite.cpp.o
[21%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_Screen.cpp.o
[૨%%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / NextKernel_Main.cpp.o
[% 35%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_Panic.cpp.o
[%૨%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_Timer.cpp.o
[%૦%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_Memory.cpp.o
[57%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / સીએમકેફાઇલ્સ / START.ELF.dir / પ્રારંભ / ND_Ports.cpp.o
[% 64%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_GDT.cpp.o
[%१%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_ISR.cpp.o
[% 78%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_String.cpp.o
[% 85%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_IRQ.cpp.o
[% २%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / સીએમકેફાઇલ્સ / START.ELF.dir / પ્રારંભ / ND_IDT.cpp.o
[100%] બિલ્ડિંગ સીએક્સએક્સ objectબ્જેક્ટ src / CMakeFiles / START.ELF.dir / start / ND_Keyboard.cpp.o
CXX એક્ઝેક્યુટેબલ START.ELF ને જોડવું
/ usr / બિન / એલડી: અસંગત /usr/lib/gcc/x86_64-unज्ञ-linux-gnu/4.9.2/libgcc.a -lgcc ની શોધ કરતી વખતે અવગણવામાં આવે છે
/ usr / bin / ld: -lgcc શોધી શક્યા નથી
એકત્રિત 2: ભૂલ: ld બહાર નીકળવાની સ્થિતિ 1
src / CMakeFiles / START.ELF.dir / build.make: 402: લક્ષ્ય 'src / START.ELF' માટેની નિષ્ફળ સૂચનાઓ
[2] બનાવો: *** [src / START.ELF] ભૂલ 1
સીએમકેફાઇલ્સ / મેકફાઇલ 2: 106: લક્ષ્ય 'src / CMakeFiles / START.ELF.dir / all' માટેની નિષ્ફળ સૂચનાઓ
બનાવો [1]: *** [src / CMakeFiles / START.ELF.dir / all] ભૂલ 2
Makefile: 117: લક્ષ્ય 'બધા' માટેની સૂચનાઓમાં નિષ્ફળતા
બનાવો: *** [બધા] ભૂલ 2
ભૂલ લાગે છે કે તે llibgcc શોધી શકતું નથી કારણ કે તમારી પાસે 64-બીટ સંસ્કરણ છે અને હાલમાં બિલ્ડ સિસ્ટમ 32-બીટનો ઉપયોગ કરવાની ફરજ પાડે છે. તમારે તમારા ડિસ્ટ્રો અથવા વધુ સારામાં સુસંગતતા પેક ઇન્સ્ટોલ કરવું જોઈએ, 32-બીટ સિસ્ટમનો ઉપયોગ કરવો જોઈએ.
મારી પાસે 32 બિટ્સ છે અને તે જ ભૂલ દેખાય છે, શું તમારો અર્થ ઓપરેટિંગ સિસ્ટમ અથવા આર્કિટેક્ચર છે? મારું 64 બિટ છે, પરંતુ હું 32 બીટ ઉબુન્ટુનો ઉપયોગ કરું છું, નાણાકીય સમસ્યાઓ પૂછશો નહીં, તેની સાથે હું તે બધું કહું છું.
ઉત્તમ વિષય, વધુ અવકાશની રાહ જોવી. ચીર્સ
મહાન હું વધુ માટે આશા
નમસ્તે, હું એક યુવાન એમ્બેસેડર છું જે એક operatingપરેટિંગ સિસ્ટમ બનાવવા માંગે છે જે તમામ પ્રોગ્રામ્સ અને પ્લેટફોર્મને સપોર્ટ કરે છે જેથી વિકાસકર્તાઓને પીસી પર શક્તિશાળી મશીનો અથવા એપ્લિકેશન અથવા પ્રોગ્રામ્સ ન હોય.
તેથી જ હું આ પોસ્ટમાં રસ ધરાવું છું પરંતુ જ્યારે હું તમારી ગિટ ડાઉનલોડ કરું છું અથવા તેને બનાવવાનો પ્રયાસ કરું છું, ત્યાં સુધી હું આદેશ ચલાવીશ ત્યાં સુધી બધું બરાબર નહીં થાય ./iso.sh અથવા grub-mkrescue -o nextdivel.iso nextroot તમને આ ભૂલ મળે છે
"ગ્રુબ-મક્રેસ્ક્યુ: ચેતવણી: તમારો કorરોરિસો" rgrub2-boot-માહિતી "ને સપોર્ટ કરતું નથી. કેટલીક સુવિધાઓ અક્ષમ કરવામાં આવી છે. Xorriso 1.2.9 અથવા પછીનો ઉપયોગ કરો ..
grub-mkrescue: ચેતવણી: તમારું xorriso "rgrub2-boot-info" ને સપોર્ટ કરતું નથી. તમારી કર્નલ છબી ખૂબ મોટી છે. ડિસ્ક બૂટ અક્ષમ કરવામાં આવ્યું છે. Xorriso 1.2.9 અથવા પછીનો ઉપયોગ કરો .. »
મને એપ્લિકેશનો અને વેબ્સ વિશે ઘણું બધું ખબર હોવાથી મને ખરેખર કોઈ ખ્યાલ નથી, પરંતુ મને ગ્રબ વિશે કંઈપણ ખબર નથી
તમારે તમારા ડિસ્ટ્રો પર કorરિસો પ્રોગ્રામને અપડેટ કરવાની જરૂર પડી શકે છે. તમે કયા ડિસ્ટ્રો અને સંસ્કરણનો ઉપયોગ કરો છો?
હું xubuntu 14.04lts નો ઉપયોગ કરું છું અને xorriso ચલાવવાનો પ્રયત્ન કરું છું પરંતુ શેલ મને કહે છે કે તે તેને શોધી શકતું નથી અને હું સ્થાપિત xorriso ને યોગ્ય રીતે મેળવી શકું છું, જોકે મને નિષ્ઠાપૂર્વક થોડો પ્રતિસાદ મળવાની અપેક્ષા છે કારણ કે મને તે બાબતોને ઇન્સ્ટોલ કરવાનો ખરાબ અનુભવ હતો જે મને લિનક્સ હેહે નથી ખબર. . હું હમણાં તેને અપડેટ કરીશ અને શું થયું તે કહીશ
પછી સorફ્ટવેર સેંટરથી અથવા ફક્ત ટર્મિનલમાંથી જorરિસિઓ ઇન્સ્ટોલ કરો "sudo apt-get install xorriso"
તમે મને જે કહ્યું હતું તે બધું મેં પહેલેથી જ કરી લીધું હતું અને બંને ગિટ અને ખાણ સાથે મને આ xorriso 1.3.2 મળે છે: રોકરિજ ફાઇલસિસ્ટમ મેનિપ્યુલેટર, લિબર્નિયા પ્રોજેક્ટ.
ડ્રાઇવ કરંટ:-આઉટદેવ 'સ્ટડીયો: નેક્સ્ટડિવલ.આઈસો'
મીડિયા વર્તમાન: stdio ફાઇલ, ફરીથી લખી શકાય તેવું
મીડિયા સ્થિતિ: ખાલી છે
મીડિયા સારાંશ: 0 સત્રો, 0 ડેટા બ્લોક્સ, 0 ડેટા, 1901 મી મફત
આઇએસઓ છબીમાં ઉમેર્યું: ડિરેક્ટરી '/'='/tmp/grub.OEqSzV'
xorriso: અપડેટ: 546 સેકન્ડમાં 1 ફાઇલો ઉમેરવામાં આવી
xorriso: નિષ્ફળતા: સ્રોત ફાઇલ '/ મીડિયા / gaia / ગુરુ 1 / શેલસિસ્ટમ / Nextroot / Nextroot' ના લક્ષણો નક્કી કરી શકતા નથી: આવી ફાઇલ અથવા ડિરેક્ટરી નથી
xorriso: અપડેટ: 546 સેકન્ડમાં 1 ફાઇલો ઉમેરવામાં આવી
xorriso: aborting: -abort_on 'નિષ્ફળતા' આવી 'નિષ્ફળતા'
અને કોર્ડુરોય હું સમજી શકતો નથી કે મારું માળખું /nextroot/boot/grub/grub.cfg અને નેક્સ્ટરૂટ / નેક્સ્ટ / START.ELF છે
આભાર, હું આગળ વધવા માટે તૈયાર છું, એક મિત્રે મને મદદ કરી અને મને કહ્યું કે મેં શું ખોટું કર્યું તે ડિરેક્ટરીનું સંગઠન હતું, તેથી મેં તેને સમાધાન કર્યું અને તે જ
માફ કરશો, તમે મને કઇ પ્રક્રિયા કરી બતાવી શકો છો કારણ કે મને બૂટ કરવા માટે કંઇક ભૂલ મળી નથી: આવી કોઈ ફાઇલ અથવા ડિરેક્ટરી નથી
બુટ કરવા યોગ્ય ડિવાઇસ નથી.
ચીર્સ! હું તમને તરફેણમાં પૂછવા જઇ રહ્યો હતો કે શું તમે અહીં જે સમજાવો છો તેની સાથે તમે મને ઇમેઇલ મોકલી શકો છો, હું થોડો મૂંઝવણમાં મુક્યો છું અને મારે જે છે તે તુલના કરવાની જરૂર છે જે તમે સમજાવી શકો છો, કદાચ જે મને સ્પષ્ટ નથી તે છે કે નહીં સી.એફ.જી. ની રચના ટર્મિનલ જી.સી.સી. માં થાય છે અથવા બરાબર ક્યાં? ખૂબ ખૂબ આભાર મિત્ર!
તમે કોઈપણ લખાણ સંપાદક સાથે ફાઇલ grub.cfg બનાવો અને તમારે તેને PROJECT_FOLDER / boot / grub / grub.cfg માં સેવ કરવી જ જોઇએ.
હેલો એડ્રિયન, સૌ પ્રથમ, તમને અભિનંદન અને તમારા યોગદાન બદલ આભાર.
તમે જાણો છો કે હું પ્રેક્ટિસ માટે આ કરું છું અને મેં તમારા ટ્યુટોરીંગને પગલે તેને એકસાથે રાખવાનું શરૂ કર્યું, જોકે શરૂ કર્યા પછી મને પ્રથમ ભૂલ મળી
o -o કર્નલ.ઓ-સી કર્નલ.એએસએમ
bash: as: આદેશ મળ્યો નથી ...
સમાન આદેશો છે:
'સા'
'એસી'
હું ફેડોરા 20 પર કામ કરું છું, અને હું આ સંદર્ભમાં કોઈ સમાધાન શોધી શકતો નથી, હું જીસીસી અથવા ગેસમાં કંઈક બદલવું જોઈએ કે કેમ તે અંગેના તમારા માર્ગદર્શનની કદર કરીશ.
અગાઉથી આભાર
તમારે GAS ઇન્સ્ટોલ કરવું જ જોઇએ જેથી હું ભૂલ કોડ જોઈ શકું. મારી પાસે હાથમાં ફેડોરા નથી પરંતુ સિદ્ધાંતમાં જો તમે યમ જીસીસી-સી ઇન્સ્ટોલ કરો છો તો તમે આખું જીસીસી સ્યૂટ અને જીએનયુ ઇન્સ્ટોલ કરી શકો છો જેમ કે સામાન્ય રીતે તેની સાથે આવે છે.
હું તમારી સાથે છું, હું સી ++, સી # વિશે કંઈક જાણું છું (જો કે આ બાબતમાં આ છેલ્લું ખૂબ ઉપયોગી નથી) ખરાબ વસ્તુ એ છે કે મારી પાસે હજી અનુભવનો અભાવ નથી, હું ક્યારેય સી ભાષા સંભાળતો નથી, તમારું પ્રકાશન મહાન છે, મારી પાસે કહેવાનું ઘણું નથી, જો મારી પાસે સમય હોય તો હું જોઉં છું. આભાર.
મહાન મદદ માટે ખૂબ ખૂબ આભાર….
હું લિનક્સને પસંદ કરું છું તે શ્રેષ્ઠ જિલ્લા છે ત્યાં મારા વિંડોઝ માટે સત્ય છે કચરો એ છે કે મને ખબર છે કે લિનક્સનો સર્જક વિંડોઝનો સર્જક છે
હેલો મને ગ્રબ કહેવામાં ભૂલ થાય છે
ભૂલ: ફાઇલ /next/START.ELF મળી નથી
ભૂલ: તમારે પહેલા કર્નલ લોડ કરવાની જરૂર છે
તમે મને મદદ કરી અને ગૂગલ કરી શક્યા પણ હું શોધી શક્યો નહીં
કૃપા કરીને, હું તેને હેલો વર્લ્ડ સંદેશ કેવી રીતે બતાવી શકું, હું એક શિખાઉ છું અને મને હજી પૂરતું ખબર નથી
નીચેના મને થાય છે:
જીસીસી -ઓ પ્રારંભ.એલએફ કર્નલ.ઓ નેક્સ્ટર્નલ_મેઇન.ઓ -ટલિંક.લ્ડ-નોસ્ટ્ડલિબ -ફીપીઆઈસી -ફ્રેસ્ટ સ્ટેન્ડિંગ -lgcc
/ usr / bin / ld: kernel.o: PIE makingબ્જેક્ટ બનાવતી વખતે પ્રતીક `સ્ટેક સામે 'R_X86_64_32 સ્થાનાંતરિત કરી શકાતું નથી; -fPIE સાથે ફરીથી કમ્પાઇલ કરો
/ usr / બિન / એલડી: અંતિમ લિંક નિષ્ફળ: આઉટપુટ પર રજૂ ન કરવા યોગ્ય વિભાગ
એકત્રિત 2: ભૂલ: ld એ 1 બહાર નીકળવાની સ્થિતિ પરત કરી