Meaty Skeleton: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
m (Bot: Replace deprecated source tag with syntaxhighlight)
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1:
{{FirstPerson}}
{{You}}
{{BeginnersWarning}}
{{Rating|1}}
Line 52 ⟶ 53:
 
== Building a Cross-Compiler ==
:''{{Main article: [[|GCC Cross-Compiler]], [[|Why do I need a Cross Compiler?]]}}
 
You ''must'' use a [[GCC Cross-Compiler]] in this tutorial as in the
Line 239 ⟶ 240:
==== kernel/include/kernel/tty.h ====
 
<sourcesyntaxhighlight lang="c">
#ifndef _KERNEL_TTY_H
#define _KERNEL_TTY_H
Line 251 ⟶ 252:
 
#endif
</syntaxhighlight>
</source>
 
==== kernel/Makefile ====
 
<sourcesyntaxhighlight lang="make">
DEFAULT_HOST!=../default-host.sh
HOST?=DEFAULT_HOST
Line 339 ⟶ 340:
 
-include $(OBJS:.o=.d)
</syntaxhighlight>
</source>
 
==== kernel/kernel/kernel.c ====
 
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
 
Line 352 ⟶ 353:
printf("Hello, kernel World!\n");
}
</syntaxhighlight>
</source>
 
==== kernel/arch/i386/tty.c ====
 
<sourcesyntaxhighlight lang="c">
#include <stdbool.h>
#include <stddef.h>
Line 443 ⟶ 444:
terminal_write(data, strlen(data));
}
</syntaxhighlight>
</source>
 
==== kernel/arch/i386/crtn.S ====
Line 461 ⟶ 462:
==== kernel/arch/i386/vga.h ====
 
<sourcesyntaxhighlight lang="c">
#ifndef ARCH_I386_VGA_H
#define ARCH_I386_VGA_H
Line 495 ⟶ 496:
 
#endif
</syntaxhighlight>
</source>
 
==== kernel/arch/i386/make.config ====
Line 634 ⟶ 635:
==== libc/include/string.h ====
 
<sourcesyntaxhighlight lang="c">
#ifndef _STRING_H
#define _STRING_H 1
Line 657 ⟶ 658:
 
#endif
</syntaxhighlight>
</source>
 
==== libc/include/stdio.h ====
 
<sourcesyntaxhighlight lang="c">
#ifndef _STDIO_H
#define _STDIO_H 1
Line 682 ⟶ 683:
 
#endif
</syntaxhighlight>
</source>
 
==== libc/include/sys/cdefs.h ====
Line 697 ⟶ 698:
==== libc/include/stdlib.h ====
 
<sourcesyntaxhighlight lang="c">
#ifndef _STDLIB_H
#define _STDLIB_H 1
Line 715 ⟶ 716:
 
#endif
</syntaxhighlight>
</source>
 
==== libc/Makefile ====
 
<sourcesyntaxhighlight lang="make">
DEFAULT_HOST!=../default-host.sh
HOST?=DEFAULT_HOST
Line 813 ⟶ 814:
-include $(OBJS:.o=.d)
-include $(LIBK_OBJS:.o=.d)
</syntaxhighlight>
</source>
 
==== libc/stdlib/abort.c ====
 
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
#include <stdlib.h>
Line 834 ⟶ 835:
__builtin_unreachable();
}
</syntaxhighlight>
</source>
 
==== libc/string/memmove.c ====
 
<sourcesyntaxhighlight lang="c">
#include <string.h>
 
Line 853 ⟶ 854:
return dstptr;
}
</syntaxhighlight>
</source>
 
==== libc/string/strlen.c ====
 
<sourcesyntaxhighlight lang="c">
#include <string.h>
 
Line 866 ⟶ 867:
return len;
}
</syntaxhighlight>
</source>
 
==== libc/string/memcmp.c ====
 
<sourcesyntaxhighlight lang="c">
#include <string.h>
 
Line 884 ⟶ 885:
return 0;
}
</syntaxhighlight>
</source>
 
==== libc/string/memset.c ====
 
<sourcesyntaxhighlight lang="c">
#include <string.h>
 
Line 897 ⟶ 898:
return bufptr;
}
</syntaxhighlight>
</source>
 
==== libc/string/memcpy.c ====
 
<sourcesyntaxhighlight lang="c">
#include <string.h>
 
Line 911 ⟶ 912:
return dstptr;
}
</syntaxhighlight>
</source>
 
==== libc/stdio/puts.c ====
 
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
 
Line 921 ⟶ 922:
return printf("%s\n", string);
}
</syntaxhighlight>
</source>
 
==== libc/stdio/putchar.c ====
 
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
 
Line 941 ⟶ 942:
return ic;
}
</syntaxhighlight>
</source>
 
==== libc/stdio/printf.c ====
 
<sourcesyntaxhighlight lang="c">
#include <limits.h>
#include <stdbool.h>
Line 1,026 ⟶ 1,027:
return written;
}
</syntaxhighlight>
</source>
 
==== libc/arch/i386/make.config ====
Line 1,157 ⟶ 1,158:
==== iso.sh ====
 
<sourcesyntaxhighlight lang="bash">
#!/bin/sh
set -e
Line 1,173 ⟶ 1,174:
EOF
grub-mkrescue -o myos.iso isodir
</syntaxhighlight>
</source>
 
You should make this executable script executable by running: