linux 0.01 컴팔 하거 파여 ㅠ.ㅠ

익명 사용자의 이미지

gas가 없다거 해서 gas깔라거 죽어라 돌아다니믄서
소스 엄청 많이깔아 댔져 ㅡㅡ;;;
전부다 에러 ㅡㅡ;;;
message.c 에서 나길래 헤더 바꿔주거~
좀 수정해줬더니 다른 파일 에러 ㅡㅡ;;
계속 이짓을 반복 하다 ㅠ.ㅠ
결국엔 여기와서 질문을...
linux 0.01 컴파일 해보신분 있으세여?
GAS 절대 설치 안되는데 ㅠ.ㅠ
제대로된 소스 있는데 아시는분?????
binutil인가 거기 있다거들 하던데
as밖에 없뜸다 ㅠ.ㅠ
아흑 리눅스 구여 레뎃 커널은 2.4 대 임돠
ㅠ.ㅠ 도움을 ㅠ.ㅠ

simryang의 이미지

Makefile 내부에서
AS=gas 를 AS=as 로 바꿨습니다.
그랬더니 -c 옵션은 알 수 없다고 하더군요..
그래서 고민에 고민을 하다 어떤 문서인지 기억이 안나지만 gcc 는 소스를 확장자로 인식을 하고 assembly 도 컴파일 할 수 있다는 말이 얼핏(맞는지는 모릅니다.) 기억나서 .s.o 생성 규칙의 $(AS)를 $(CC)로 고쳤더니 그 말은 안나오더군요 -0-
그런데 이번엔 다른 에러가 뜹니다..
boot/head.s: Assembler messages:
boot/head.s:168: Error: alignment not a power of 2
make: *** [boot/head.o] 오류 1

그 줄을 가봤더니
mov al,#0xFF | mask off all interrupts for now
라고 써져 있었습니다.
대충 FF가 2의 제곱수가 아니라는 오류같은데 여기서는 어떻게 해야될지 모르겠네요..
어셈블리도 잘 몰라서.. 더 이상 진행이 어려울 것 같습니다.
더 이상 진행하려면 어셈블리를 공부해와야 하는것인가요?
조언 부탁드립니다.
--------------
若無湖南 是無國家
= 忠武公 =

--------------
若無湖南 是無國家
= 忠武公 =

anfl의 이미지


#0xFF가 문제 되는게 아니라 mov의 위치가 2^n 주소와 align이 맞지 않아서 그렇습니다.
아래 라인을 mov 위쪽에 추가해보세요.

============================
.align 4
============================

리눅스에 있는 as가 gas입니다. 보시면 gnu-as 또는 gas가 as에 심볼릭 링크되어 있을겁니다.
kernel-0.0.1을 컴파일 하신다고요?
시도해보시는건 좋지만 컴파일되기 힘들겁니다.
assembly 문법도 약간씩 다르고, 컴파일 옵션도 틀립니다.
그리고 설사 컴파일이 된다고 하더라도 동작하지 않을 가능성이 큽니다.
instruction 호환문제, 장치문제, 테스트 환경등등... 고려해야 될게 많이 있습니다.

linux kernel에 대해서 알고 싶으시다면 차라리 최신 버젼 kernel을 분석하십시요.
테스트 해보기도 쉽고 조언 구하기도 쉬우며, 나중에 써먹기도 용의합니다.
kernel-0.0.1이 size가 작아 쉽게 분석할것 같지만 실제로는 반대라고 말씀드리고 싶네요.


김한성의 이미지

리눅스 초기버전은 디스켓 2장으로 설치 했습니다.
저도 기억이 가물가물한데
한장은 부팅용으로써 부팅하고 한장은 부팅후에 커널을 사용하는 것으로
컴파일러는 찾기 힘들것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.