Search Results for '삽질 기록'


7 POSTS

  1. 2008.02.04 Fedora - Linux console 모드 부팅
  2. 2008.02.02 fedora core 3 booting error - "can not find default font fixed"
  3. 2007.06.16 nML
  4. 2006.11.15 C++ class, object~
  5. 2006.11.06 System.in.read
  6. 2006.10.09 atmega16?
  7. 2006.09.26 atmega16 timer interrupt

Fedora - Linux console 모드 부팅

Posted 2008. 2. 4. 19:40 by 카메란

Fedora linux 를 쓰다가

console mode로 부팅해야 할 일이 생겨서

방법을 이리저리 찾아보니 간단하게 된다는 것을 알 수 있었다

방법은

/etc/inittab 이라는 파일을 수정하면 된다

이 파일을 열어보면

처음 부분에

id:5:initdefault:

라는 부분이 있는데 저기서

5 는 X window로 부팅한다는 뜻이고

이것을

3으로 바꾸면 console 모드로 부팅된다.




Tag : Booting, Fedora, Linux, 리눅스

Write your message and submit

Library path 를 고치려고 이것 저것 수정하다가

재부팅하다가

갑자기 fedora core 3가 부팅 되더니

그저 검은색 화면 뿐이고, 로그인 화면이 안 보였다....


그래픽 화면이라 안 보여지는 것일까 하고

부팅 설정을 바꿀려고 했더니...

화면이 보여야 뭔가를 하지!!!!!

라고 생각했으나,

생각해보니 SSH 접속하는 방법이 있었다..

그래서 SSH 접속이 되나 하고 궁금해 하면서 접속을 하니

다행히 접속은 되었다..


그래서 콘솔로 부팅하게 설정을 바꾸고

재부팅 하니//

다행히 부팅 성공!!


부팅한 후에 xinit 로 x window 를 부팅하려고 했지만..

다시 검은 화면..

그래서 SSH 접속하고 log를 보니

"can not find default font fixed"

라고 log가 찍혔다


구글에서 검색해보니

xfs 를 시작해 보라는 것이었다.

sbin/service xfs start

이걸 치면 된다는 듯~

이걸 했는데도 에러가 나면서

서비스가 실행이 되지 않았다..


그래서 더 찾아본 결과

/etc/ld.so.conf 파일에

/usr/X11R6/lib 를 새로운 라인에 써 넣은 다음에

저장하고 나온 후에

ldconfig 를 쳐주면 okay.


이렇게 한 후에

다시 xfs 를 start 했더니 성공!!

그 다음에 initx를 했더니

로그인 화면을 다시 볼 수 있었다..

그래서 다시 부팅 설정을 그래픽으로 바꾸고

이제 원래대로....



-------- 정리 ---------

여러가지 찾아보다 보니

이런 일이 벌어난 이유는

library path 설정 막 바 꾼다고 하다가

/usr/X11R6/lib 이 path가 날라 가서

xfs 를 실행 못하고 이것 때매 로그인 화면이 보이지 않았던 것 같다..

그래서
해결 방법 정리하면

/etc/ld.so.conf 에 /usr/X11R6/lib   추가하고
ldconfig
sbin/service xfs start    
xinit




Tag : fedora core 3, Linux, 로그인, 리눅스, 페도라코어3

Write your message and submit

nML

Posted 2007. 6. 16. 17:30 by 카메란

nML..

알 수 없는 언어 중에 하나....

int 여야 하는데 int 여야 합니다!!! 라는

아주 희한한 에러를 내는 언어.....

pl 이라는 과목을 들으면서 숙제를 하느라
 
아주 그냥 여러번 썼던 언어....

뭐 처음에는

http://ropas.snu.ac.kr/n

여긴 참고 사이트이고.... 저기 가다 보면 Available libraries 를 보면 라이브러리 설명이..

아무튼 이건 그렇고



뭐 nml이 설치되어 있다고 하고...

실행~!!!ㅋㅋ

(리눅스에서 썼기 때문에...리눅스 기준)

적당히 실행해보면 어쩌구 저쩌구 화면 뜨고 시작..

기본적으로는  막 명령어 치고 ;; 이렇게 세미콜론 2개를 붙이면 명령어 끝이라고 알려주는것;;

예를 들어 11;; 이렇게 치면

나오는 결과

val it: int =11

여기서 val it : 뭐 이런건 무시하고... integer 라고 하고 11 이라고 알려주는것..

뭐 그건 그렇고..

그 다음에는 아래 펼치기

사실 글을 잘 쓰면 저것들을 잘 정리하겠지만;;;

그런 소질이 좀 없어서;;; 대충 날려씀.


파일을 이용하는 법

    적당히 어쨌거나 파일을 만들고... 내용은 뭐 지금은 중요한게 아니고;;;
    파일명도 상관이 없을듯..;;;
    그다음 nml 을 실행시켜서
    #use "파일명";;
    를 치면 파일의 내용을 이용하는것..
   
let ~ in ~ end 이용
   
    let
    in
    end
   
    let 하고 in 사이에 이것저것 보조 함수 같은 거 선언 하고...하면
    in 하고 end 사이에서 사용가능..

val a=3, val a= ref 0, !a

    아마 (pure) functional language은
    변수에 값을 할당 하고 해서..하는게 없기 때문에...
    nML도
    음 바로 val a= 3 이렇게 해서 값 변경하고 이런게 불가능
    따라서 선언할 때와 사용할 때 특별한 방법 사용
    바로 ref 사용
    이 ref 를 쓰면 씨에서와 포인터 같은 느낌..
    선언할 때 ref를 써서 val a = ref 0과 같이 선언하면
    그 다음에 쓸 때..
    !a와 a 와 같이 쓰는 2가지 방법이 있는데
    !a 은 *a 와 같이..a 값 을 쓰는것이고
    a은 값 할당할 때 쓰는 방식
    값을 할당할 때에는 a:=2 와 같이 :=이용

fun asdf(df) =
   
    함수 선언 하는 방식
    fun 을 쓴후 함수명 :asd
    함수 인자를 써준다음에 함수 내용 쓰기
   
    예로 fun add2(a,b) = a+b;;
    이렇게 사용 함수명이 add2, 인자가 a,b
    함수 본체가 a+b..
   
    이렇게 nml에서 입력하면
    val add2: int * int -> int = <fun>
   
    이 화면에서 add2라는 것은 <fun> , 즉 함수이고
    int 2개를 받아서 int를 리턴해주는 것이라고 알려준다.
   
    fun 내부에서 let in end 를 이용하기도한다

List 쓰기
    리스트를 많이 썼던 경험상.. 리스트는 잘 쓰는것도 도움이 된다는
    저 위에 사이트의 라이브러리 설명 가면 쓸 수 있는 명령어 설명이 있긴 하지만;;
    일단 일반적으로 쓰려면 List.length, List.hd 처럼 앞에 List. 를 다 붙여줘야 하는데
    이게 귀찮다 싶으면 맨 앞에 open List;; 를 치게 되면 List.을 안 써도 되는..
    마치 c++의 using namespace std 같은거?
    써봤던 것들

        List.length l => 리스트 l 원소 개수 반환
        List.hd l    => 리스트 l의 첫 원소 반환
        List.tl l     => 리스트 l에서 첫 원소를 뺀 나머지 원소들로 이루어진 list 반환
        @            => 리스트 2개(앞, 뒤에 존재) 잇기
        ::            => :: 앞에 써 놓은  원소 하나를  :: 뒤에 리스트 앞에 붙이기

Hashtbl 쓰기
    Hash table.
    이것도 위의 사이트 가면 쓸 수 있는 명령어에 대한 설명이
    이것도 역시 open Hashtbl을 먼저 써 주면 명령어를 간단히 쓸 수 있..
   
        Hashtbl.create 10    => 10개를 원소(?)를 가지는 hash table 생성
        Hashtbl.add v a b    => hash table v 에 (a,b) 쌍을 추가 이미 a 에 연결된게 있으면 그냥 추가
                                        나중에 find로 찾으면 최근께 나옴
        Hashtbl.find v a        => hash table v에서 a랑 연결된 걸 반환
        Hashtbl.mem v a      => hash table v에서 a랑 연결된 게 있는지 반환(bool)
        Hashtbl.remove v a    => hash table v에서 a랑 연결된 쌍 제거
        Hashtbl.replace v a b => hash table v에서 a랑 연결된 게 없으면 Hashtbl.add v a b 와 같은 효과, 있으면 update
        Hashtbl.iter f v            => f는 function. hash table v의 모든거에 대해 f 적용
   
Pattern Matching
   
    숙제하면서 많이 썼던 것..;
    말 그대로 맞는 패턴을 찾아서 처리
    음 
    type asdf = PAT1 of ~ | PAT2 of ~ | PAT3 of ~
    fun chk PAT1(~) = ~~
        | chk PAT2(~) = ~~
        | chk PAT3(~) = ~~
    이렇게 되어있을대 asdf type 인 걸 chk(~) 인자로 주면 PAT1, PAT2, PAT3 중에
    해당된 걸 찾아가서 함수 처리



Write your message and submit

C++ class, object~

Posted 2006. 11. 15. 23:55 by 카메란
C++

class 이름으로 member function(?)에 접근할 때에는

:: 을 사용해서

object 로 접근할때에는

. 을 이용해서

오늘 이거 몰라서 삽질-ㅋㅋㅋ

C++ 익숙하지 않아-



Write your message and submit

System.in.read

Posted 2006. 11. 6. 23:22 by 카메란
 java에서

 System.in.read의 정체는 아직도 잘 감이 안잡히네..

 늘 그냥 BufferedReader 의 readLine을 써버리는..;;

 음... 뭔가 byte 단위로 읽는 건 알겠는데..

 아무튼..

 역시 좀 더 공부가 필요해



Write your message and submit

atmega16?

Posted 2006. 10. 9. 23:26 by 카메란


RC Car 만들때...

버튼과 atmega16을 PORTA 에 연결했을 때...

PINA 를 쓸 때.


버튼과 연결되지 않은 PIN들의 값이 '1' 인 듯 싶다-ㅋ

일단 동아리 형이 그렇게 얘기하셨고-ㅋ

근데 내꺼 수정했을 때 좀 되는것 같다가 안되는 것 같으니...

다시 도전합시다--ㅋ-ㅋ


 



Write your message and submit

atmega16 timer interrupt

Posted 2006. 9. 26. 15:45 by 카메란
음...

atmega16 timer interrupt 쓰는데

Timer0이랑 Timer2 랑 그 clock 이라고 해야 되나 그게 설정하는게 다르네



그래서 같은 값으로 하고 모터를 돌리는데 같은 OCR 값을 주더라도

좌우 모터의 속도가 달랐던 것!!!ㅋㅋㅋ



Write your message and submit