2012년 5월 24일 목요일

우분투 12.04 사용후기

우분투가 새로운 LTS 버전으로 12.04를 내놓았는데 노트북에 설치해서 사용하고 있습니다.
뭐 사용하는 느낌은 뭐 11.04랑 별로 다른 느낌을 받지는 못하겠습니다만.
10.04를 사용하다가 갑자기 12.04를 사용하시려면 이게 뭔가 싶을 느낌이 들겠죠.

그리고 우분투 12.04에서 "리그오브레전드" 한국 서버 버전을 PlayOnLinux를 사용해서 설치해 보았는데 로비화면까지는 잘 동작했구요. 게임 시작은 안되네요. 노트북에 네트워크가 뭔가 이상한거 같지만. 아직까지 정확한 내용은 모르겠네요. 그래서 현재는 덩치만 큰 메신저가 되어 버렸습니다. 안타까운 저의 현실이죠. 천천히 뭔가 해결책을 찾아야겠습니다. 이게 중요한게 아니니까요 ㅋ

2011년 11월 27일 일요일

network-demo/ntp 예제

ntp는 network time protocol 으로

인터넷상의 시간을 정확하게 유지시켜 주기 위한 통신망 시간 규약이다.

[rtems@localhost network-demos]$ cd ntp/
[rtems@localhost ntp]$ ls
ChangeLog  CVS  init.c  Makefile

파일도 간단하여 가벼운 마음으로 컴파일을 시도했다.

[rtems@localhost ntp]$ export PATH=/opt/rtems-4.10/bin:$PATH
[rtems@localhost ntp]$ export RTEMS_MAKEFILE_PATH=/home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/
[rtems@localhost ntp]$ make
i386-rtems4.10-gcc --pipe -B/home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/ -specs bsp_specs -qrtems   -g -Wall  -O2 -g -g      -mtune=i386      -c   -o o-optimize/init.o init.c
In file included from init.c:24:
../networkconfig.h: In function 'pci_check':
../networkconfig.h:197: warning: implicit declaration of function 'pci_initialize'
In file included from init.c:24:
../networkconfig.h:200: warning: 'cfg' may be used uninitialized in this function
i386-rtems4.10-gcc --pipe -B/home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/ -specs bsp_specs -qrtems   -g -Wall  -O2 -g -g      -mtune=i386      -Wl,-Ttext,0x00100000   -mtune=i386   -o o-optimize/ntpdemo.exe  o-optimize/init.o   /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-barrier.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-dpmem.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-msg.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-mp.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-part.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-region.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-signal.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-timer.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-rtmon.rel /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/no-ext.rel     
i386-rtems4.10-nm -g -n o-optimize/ntpdemo.exe > o-optimize/ntpdemo.num
i386-rtems4.10-size o-optimize/ntpdemo.exe
   text   data    bss    dec    hex filename
 324213  16632  23440 364285  58efd o-optimize/ntpdemo.exe
i386-rtems4.10-objcopy -O elf32-i386 --remove-section=.comment --remove-section=.note --strip-unneeded o-optimize/ntpdemo.exe o-optimize/ntpdemo.nxe
i386-rtems4.10-objcopy -O binary o-optimize/ntpdemo.nxe o-optimize/ntpdemo.bin
/home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/build-tools/bin2boot -v o-optimize/ntpdemo.ralf 0x00097E00 /home/rtems/rtems-4.10-work/building_work/console-rtems/i386-rtems4.10/pc386/lib/start16.bin 0x00097C00 0 o-optimize/ntpdemo.bin 0x00100000 0
header address       0x00097e00, its memory size 0x00000200
first  image address 0x00097c00, its memory size 0x00000200
second image address 0x00100000, its memory size 0x00054400
rm -f o-optimize/ntpdemo.nxe
[rtems@localhost ntp]$ ls
ChangeLog  CVS  init.c  Makefile  o-optimize
[rtems@localhost ntp]$ cd o-optimize/
[rtems@localhost o-optimize]$ ls
init.o  ntpdemo.bin  ntpdemo.exe  ntpdemo.num  ntpdemo.ralf

생성파일이 생긴 것을 확인. 이제 실행을 해보려 했다. 실행을 하기 위해서 'pc386' 명령어를 사용하고 'pc386' 명령어에서 네트워크 어뎁터 활성화 옵션을 주어서 동작을 확인하려고 하였다. 

[rtems@localhost o-optimize]$ . ~/rtems-4.10-work/setenv 
/home/rtems/rtems-4.10-work/rtems
/home/rtems/rtems-4.10-work/rtems-testing/bin:/opt/rtems-4.10/bin:/usr/lib/qt-3.3/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/rtems/bin
[rtems@localhost o-optimize]$ pc386 -i -N ntpdemo.exe
Simulator does not support a Network Interface Controller.

시뮬레이터가 네트워크 인터페이스 컨트롤러를 지원하지 않는다고 나왔다.

2011년 11월 21일 월요일

시리얼 메세지 출력을 위한 작업

시리얼을 이용한 메세지 출력을 확인하기 위한 옵션을 주어 RTEMS를 컴파일한다.
우선 컴파일을 하게 될 RTEMS가 위치할 폴더를 생성.

[rtems@localhost building_work]$ mkdir console-rtems
[rtems@localhost building_work]$ ls
build-network  console-rtems  pc386  test-build-rtems

폴더를 생성한 후에는 시리얼 메세지 출력을 RTEMS 컴파일을 시작.

[rtems@localhost console-rtems]$ export PATH=/opt/rtems-4.10/bin:$PATH
[rtems@localhost console-rtems]$ cd console-rtems/
[rtems@localhost console-rtems]$ ../../rtems/configure --target=i386-rtems4.10 --prefix=/home/rtems/rtems-4.10-work/building_work/console-rtems/ --disable-mutiprocessing --disable-cxx --disable-rdbg --enable-maintainer-mode --enable-tests --enable-networking --enable-posix --disable-itron --disable-deprecated --disable-ada --disable-expada --enable-rtemsbsp=pc386 USE_COM1_AS_CONSOLE=1 BSP_PRESS_KEY_FOR_RESET=0

RTEMS 빌드가 되면 make all 과 make install 명령어를 입력

[rtems@localhost console-rtems]$ make all
[rtems@localhost console-rtems]$ ls
config.log  config.status  i386-rtems4.10  make  Makefile  testsuites  tools
[rtems@localhost console-rtems]$ make install

잘 되었는지 BSP에 Makefile.inc가 잘 생겼는지 확인.

[rtems@localhost console-rtems]$ ls
bin         config.status   lib   Makefile  testsuites
config.log  i386-rtems4.10  make  share     tools
[rtems@localhost console-rtems]$ cd i386-rtems4.10/
[rtems@localhost i386-rtems4.10]$ ls
c  pc386
[rtems@localhost i386-rtems4.10]$ cd pc386/
[rtems@localhost pc386]$ ls
build-tools  lib  make  Makefile.inc
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
새로 빌드한 RTEMS 응용 프로그램이 어떻게 동작하는지 확인을 해보자.

[rtems@localhost pc386]$ cd ../console-rtems/
[rtems@localhost console-rtems]$ ls
bin            config.log     i386-rtems4.10  log   Makefile  testsuites
build-command  config.status  lib             make  share     tools
[rtems@localhost console-rtems]$ find . -name "*.exe"
(파일 엄청 많다.)

[rtems@localhost console-rtems]$ pc386 -i i386-rtems4.10/c/pc386/testsuites/samples/base_sp/base_sp.exe
qemu is /usr/bin/qemu
Initialized console on port COM1 9600-8-N-1



*** SAMPLE SINGLE PROCESSOR APPLICATION ***
Creating and starting an application task
Application task was invoked with argument (0) and has id of 0xa010002
*** END OF SAMPLE SINGLE PROCESSOR APPLICATION ***
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

[rtems@localhost ~]$ ls
Desktop    Downloads          Music     Public  rtems-4.10-work  Videos
Documents  INSTALL-NOTES.txt  Pictures  qemu    Templates        workspace
[rtems@localhost ~]$ cd rtems-4.10-work/building_work/
[rtems@localhost building_work]$ ls
build-network  console-rtems  pc386  test-build-rtems
[rtems@localhost building_work]$ cd test-build-rtems/
[rtems@localhost test-build-rtems]$ find . -name "*.exe"
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/paranoia.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/base_sp.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/unlimited.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/fileio.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/capture.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/nsecs.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/ticker.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/hello.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/loopback.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/pppd.exe
./i386-rtems4.10/pc386/lib/rtems-4.10/tests/minimum.exe


--------------------------------------------------------------------------------------------------------------------------------------------------------------------

RTEMS 빌드 명령어

compile PATH 경로 설정 



[rtems@localhost ~]$ export PATH=/opt/rtems-4.10/bin:$PATH
[rtems@localhost ~]$ $PATH
bash: /opt/rtems-4.10/bin:/usr/lib/qt-3.3/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/rtems/bin: No such file or directory

테스트용 폴더를 생성

[rtems@localhost rtems-4.10-work]$ mkdir test-build-rtems
[rtems@localhost rtems-4.10-work]$ ls
bsp-install  examples-v2    rtems          setenv
build_bsp    network-demos  rtems-testing  test-build-rtems


[rtems@localhost rtems-4.10-work]$ cd test-build-rtems/
[rtems@localhost test-build-rtems]$ ls
[rtems@localhost test-build-rtems]$ ../rtems/configure --target=i386-rtems4.10 \
> --enable-networking --disable-cxx --enable-rtemsbsp="pc386" \
> --prefix=/home/rtems/rtems-4.10-work/test-build-rtems/

.................................중략..........................................


configure: creating ./config.status
config.status: creating Makefile

target architecture: i386.
available BSPs: pc386.
'gmake all' will build the following BSPs: pc386.
other BSPs can be built with 'gmake RTEMS_BSP="bsp1 bsp2 ..."'

config.status: creating Makefile
config.status: creating make/Makefile

[rtems@localhost test-build-rtems]$ make install

[rtems@localhost pc386]$ export RTEMS_MAKEFILE_PATH=/home/rtems/rtems-4.10-work/test-build-rtems/i386-rtems4.10/pc386/

[rtems@localhost rtems-4.10-work]$ $RTEMS_MAKEFILE_PATH
bash: /home/rtems/rtems-4.10-work/test-build-rtems/i386-rtems4.10/pc386/: is a directory

--------------------------------------------------------------------------------------------------------------------------------------------------------------------


[rtems@localhost rtems-4.10-work]$ cd b-test/
[rtems@localhost b-test]$ ls
[rtems@localhost b-test]$ ../rtems/configure -target=i386-rtems4.10 \
> --enable-networking --enable-multiprocessing --disable-cxx \
> --enable-rtemsbsp="pc386" --prefix=/home/rtems/rtems-4.10-work/b-test/

[rtems@localhost b-test]$ make all

2011년 11월 20일 일요일

pc386 옵션 내용 정리

pc386으로 qemu가 실행될 때 기본으로 들어가는 옵션.

-m 512                                     // 가상 RAM 크기 설정(MB) ( 기본 128)
-boot a
-cpu 486                                 // cpu 선택
-fda <pc386_fda>
-hda fat:<hd/test.exe>
-monitor null                           //
-nographic
-serial stdio
--no-reboot

pc386 명령어의 옵션

-v 진행 메세지 표시
-c 소스 계측 메세지 활성화 ( 기본 no )
-C 만약 대화형이 아닌 경우 테스트 output 출력 ( 기본 no )
-g 장치 트리와 종료(?) 생성
-D 디스플레이 어뎁터 사용 활성화 ( 기본 no )
-N 네트워크 어뎁터 사용 활성화 ( 기본 no )
-G GDB 서버 모드에 시뮬레이터 입력
-i 대화형 ( 기본 = 제한 시간 없음 )
-s V IPC 시스템 지원 ( 기본 no )
   -l limit 특정 시간 설정 ( 기본 BSP 의존적 )
   -L dir 특정 로그 디렉터리 ( 기본 'log' )
   -T rtems 테스트 커맨드 모드

2011년 11월 17일 목요일

RTEMS task


내가 현재 생각하고 있는 모습을 그림화 시킨 것.

2011년 11월 15일 화요일