반응형




ntp 패키지 설치

# yum search ntp

# yum install -y ntp


ntp.conf에 time.bora.net 추가

# vi /etc/ntp.conf


#server 0.centos.pool.ntp.org 

#server 1.centos.pool.ntp.org 

#server 2.centos.pool.ntp.org 

server -4 time.bora.net


zone 파일 교체

# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime


systemctl 에 ntp 활성화 및 시작

# systemctl enable ntpd

# systemctl start ntpd


시간 확인

# date




반응형
반응형




기본 Redhat 계열을 선호하는 지극히 개인적인 이유로 CentOS를 설치했다.

64GB SD카드를 꽂았으니 그에 맞게 Resize를 할 필요가 있는데 CentOS를 설치할 경우 "/root/' 경로에 "README"파일이 있는데아래와 같이 할 경우 automatically resize partition을 한다고 나와잇다.


touch /.rootfs-repartition

systemctl reboot



systemctl reboot을 하는 순간 이미지를 새로 설치를 해야 하는 상황이 오는데 

예전같았으면 이거 왜이래 하고 성질을 내겠지만 일을 하다보니 "automatic"이란 단어를 지원하기 위한것이 얼마나 어려운지 알게 된다. 저 파일을 바라보는 놈이 어떤놈인지 나중에 한번 뒤져봐야겠다.


parted를 통해 마지막 파티션을 삭제하고 남은 용량을 사용하게 하여 다시 64GB를 모두 인식하도록 수정하였다.


# parted /dev/mmcblk0

# p                                         확인

# rm 3                                     마지막 파티션 삭제

# p                                        확인

# mkpart primary 852 61.9G            파티션 2부터 남은 용량으로 새 파티션 생성

# p                                        확인

# quit                                     종료



# reboot                                  시스템 재시작



# df -h                                  확장 안됨 확인

# fdisk -l /dev/mmcblk0               fdisk로 변경한 파티션 생성 확인

# resize2fs /dev/mmcblk0p3          resize2fs로 파일시스템 확장

# df -h                                  정상 확장 정보 확인



반응형
반응형




NTP를 설치하고 ntpd를 아무리 재시작하고 기다려도 계속 새벽 시간에서 변경이 되지 않는다. 

ntp.conf에 다른 설정을 모두 지워도 시간이 변경되지 않아 ntpq -q로 query를 주어보아도 Pear List를 확인해봐도 bora.time.net으로 아래와 같이 설정이 잘 되어 있는 것을 확인했다.


     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

*time.bora.net   90.1.14.51       2 u   66   64    1    4.468  -10.283   0.001


왜 이럴까 하다고 혹시 지역 설정이 제대로 안되면 다른 지역의 설정을 가져오는 거 아닐까 해서 시간으로 확인을 해보니 정확하게 뉴욕 워싱턴과 일치 했다. 한국으로 설정이 되어있지 않고 워싱턴으로 설정 되어있으니 얘는 제대로 동작했는데 나만 왜안되지 이러고 있었구나...


매번 지역은 GUI로 설치하면서 그냥 클릭하고 넘어가서 제대로 몰랐는데 이번엔 GUI를 사용하지 않았으니 이런 실수가 있었나보다. 제대로 서울로 설정해주자.


/etc/localtime을 backup으로 보관해두자.

# mv /etc/localtime /etc/localtime.bak


/usr/share/zoneinfo 위치에 지역별 폴더가 있고 그 지역 폴더 안에 도시 정보가 있다. 

서울로 설정하니 Seoul이 정상적으로 있는지 확인한 후 이 파일을 /etc/localtime으로 변경해준다.

# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime


재 적용하여 ntp를 다시 적용하기 위해 ntpd를 restart해준다.

# service ntpd restart


date 명령어로 제대로 현재 시간으로 설정되었는지 확인한다.

# date


반응형
반응형




아래와 같은 명령어로 dwarf 정보를 확인할 수 있다.


# readelf --debug-dump=info <binary> | grep -A 2 'Compilation Unit @'


실행 결과 :  


--

  Compilation Unit @ offset 0xccfed:

   Length:        0xc1fd (32-bit)

   Version:       4

--

  Compilation Unit @ offset 0xd91ee:

   Length:        0x43e (32-bit)

   Version:       4

--

  Compilation Unit @ offset 0xd9630:

   Length:        0x50a7 (32-bit)

   Version:       4

--

  Compilation Unit @ offset 0xde6db:

   Length:        0x348e (32-bit)

   Version:       4


반응형
반응형




아래의 포스팅에 이어지는 부분인다. LCD 드라이버 인식을 못한 사람은 아래의 포스팅을 참고하기 바란다.

[라즈베리파이] 3.5 inch TFT LCD 인식시키기...http://onestepcloser.tistory.com/123



 1. Calibration을 위한 패키지 설치 및 xinput_calibrator 설치


 Calibration을 하기 위해 아래의 패키지 들이 필요하다. X를 실행시키면서 별도의 Calibration을 실행해서 해줘야 할 것 같았는데, 아래의 방법대로 끝내면 Pi를 재 시작할 때에 Calibration 화면을 통해 설정 할 수 있다.


pi@raspberrypi ~ $ sudo apt-get install libtool libx11-dev xinput autoconf libx11-dev libxi-dev x11proto-input-dev -y
pi@raspberrypi ~ $ git clone https://github.com/tias/xinput_calibrator
pi@raspberrypi ~ $ cd xinput_calibrator/
pi@raspberrypi ~ $ ./autogen.sh
pi@raspberrypi ~ $ make
pi@raspberrypi ~ $ sudo make install



 2. Calibration Script Download 및 Setup


pi@raspberrypi ~ $ cd ~
pi@raspberrypi ~ $ wget http://ozzmaker.com/piscreen/xinput_calibrator_pointercal.sh
pi@raspberrypi ~ $ sudo cp ~/xinput_calibrator_pointercal.sh /etc/X11/Xsession.d/xinput_calibrator_pointercal.sh
pi@raspberrypi ~ $ sudo vi /etc/xdg/lxsession/LXDE/autostart


 3. X Window 실행 


 아래와 같이 X Window를 실행 시키면 LCD에 Pi X가 실행된 것을 확인 할 수 있다ㅣ.

 아래와 같이 X가 실행되지 않을 경우 "99-fbturbo.conf"을 확인해 본다.


pi@raspberrypi ~ $ FRAMEBUFFER=/dev/fb1 startx



 4. Boot시 자동적으로 PiScreen로 X Window를 실행할 수 있도록 설정


 간단히 rc.local에 starx를 실행하게끔 실행하면 끝!


pi@raspberrypi ~ $ sudo nano /etc/rc.local


 rc.local에 아래 문장을 exit 하기 전에 실행하게끔 추가해 준다.


 su -l pi -c "env FRAMEBUFFER=/dev/fb1 startx &"


 5. Calibration


 Pi를 Reboot하면 Calibration을 할 수 있다. Calibration을 하지 않으면 좌표가 정확하지 않을 뿐더러 드래그의 방향성 또한 제대로 설정되지 않아 엉망이다. Reboot하여 Calibration을 마친뒤 정상적으로 동작하는 X를 확인할 수 있다.




참고 출처 : http://ozzmaker.com/



반응형
반응형



 라즈베리파이를 구매하면서 매번 HDMI 케이블을 모니터에 연결하기 귀찮아서 LCD하나를 알리익스프레스에서 구매했다.

 

 가격은 $11.88


 구매는 했는데 드라이버 설치 방법 같은건 Description이나 Specification등에 없다.

 이제 막 라즈베리파이를 시작한 입장에서 멘붕만 온다 어떻게 해야 할지 모르겠다.

 5번의 이미지 초기화를 하다 보니 LCD에 X를 띄우는 것 까지 성공해서 설치 방법 정리해 놓는다.


 일단 구매한 3.5" TFT LCD의 Specification은 아래와 같다.

LCD Type TFT

LCD Interface SPI

Touch Screen Type Resistive

Touch Screen Controller XPT2046

Colors 65536

Backlight LED

Resolution 320*480 (Pixel)

Aspect Ratio 8:5

Power Consumption TBD

Backlight Current TBD

Operating Temp. (Centigrade) TBD

 

 일단 아래와 같은 방법을 설치를 완료 했다.

 

 1. Raspberry Pi 업데이트 및 패키지 없데이트


설치를 시작하기에 앞서 기본 패키지 및 Pi를 업데이트 한다.

 pi@raspberrypi:~ $ sudo rpi-update
 pi@raspberrypi:~ $ sudo reboot
 . . .  Updating . . . and Rebooting . . .
 pi@raspberrypi:~ $ sudo apt-get update
 pi@raspberrypi:~ $ sudo apt-get upgrade
 pi@raspberrypi:~ $ sudo reboot

 


 2. PiScreen Driver 활성화 및 Reboot


 라즈베리파이와 같은 embedded platform에는 BIOS가 없다. 다만 BIOS같은 설정값을 저장할 수 있는 config.txt.라는 파일이 있다. 이 파일은 Linux가 초기화 하기 전에 gpu에 의해 읽힌다. 그러므로 "bootcode.bin", "start.elf"와 함께 SD카드의 윗부분에 위치하게 된다. 이 config.txt.에 설정을 추가해준다.

 pi@raspberrypi:~ $ sudo vi /boot/config.txt


 맨 마지막 줄에 아래와 같이 삽입한다.

 dtoverlay=piscreen,speed=16000000,rotate=90

 이 부분은 테스트를 해보면서 점점 높게 설정 한다.

 

pi@raspberrypi:~ $ sudo reboot

 리붓 후에 Pi는 백색으로 켜져 있던게 검은색으로 바뀌어 있어야 한다.


 3. Quick Test

 

  아래와 같이 Quick Test를 시행해 본다.

pi@raspberrypi:~ $ sudo apt-get install fbi
pi@raspberrypi:~ $ wget http://ozzmaker.com/piscreen/image-test.gif
pi@raspberrypi:~ $ sudo fbi -noverbose -T 1 -a -d /dev/fb1 image-test.gif

 실행하면 아래와 같은 이미지가 출력되는 것을 확인한다.


 이미지가 정상적으로 출력되지 않을 경우 speed=16000000에서 8000000으로 조절하며 테스트 해본다.



 4. 기본 출력 변경

 

 기본적으로 Boot을 하게 되면 HDMI를 찾게 된다. HDMI가 아닌 SPI로 X를 출력하기 위해서 아래의 파일을 이용해서 설정을 변경해 준다.

pi@raspberrypi:~ $ sudo vi /usr/share/X11/xorg.conf.d/99-fbturbo.conf

 설정 파일에 나오는 fb는 "Frame Buffer"로 Buffer를 어디에 지정할 것인가를 설정한다. 설정 파일에서 fb0은 HDMI가 설정 되어 있다. fb0을 fb1로 변경해준 다음 reboot해준다.

# Option          "fbdev" "/dev/fb0"
Option          "fbdev" "/dev/fb1"


 

pi@raspberrypi:~ $ sudo reboot




참고 출처 : http://ozzmaker.com/

반응형
반응형



아이튠즈 업데이트를 하니 아이폰을 인식하지 못한다. 아이폰의 최대 단점... 아이튠즈...


아래의 방법들이면 어느정도 해결이 가능한 것 같다.


1. 아이폰이 순간 인식이 안되었을 경우 

   - 제어판 - 서비스 - AppleMobileDeviceSupport 를 중지-> 시작 혹은 재시작을 수행함 

   - 시스템 - 장치관리자 에서 직렬 디바이스 메뉴에서 AppleMobileDeviceSupport가 물음표가 사라졌는지 확인한다.

2. 컴퓨터 리부팅 핸드폰 리부팅 그리고 위 방법으로도 안되는 경우

   - 아이튬즈 재설치를 시도해본다

   - 아이튠즈 재설치를 해도 안되는 경우 다운받은 아이튠즈 설치파일을 압축 프로그램으로 열어보면

      AppliMobileDeviceSupport<XXXX>.msi라는 파일이 있다

     i) 한번 실행하여 기존 드라이버 삭제

     ii) 다시 한번 실행하여 드라이버 재설치


2번으로 이번 문제를 해결했다 아무래도 윈도우 업데이트 혹은 아이튠즈 업데이트로 드라이버가 꼬인거같다.

이런건 테스트가 부족해서 생긴문제 인거같은데 아이폰 4 이후 그닥 만족감이 줄어만 가는게 아쉽다.



반응형
반응형








출처 : http://packetlife.net/media/library/36/scapy.pdf

반응형
반응형





Linux에서 작업하다 보면 실수로 Ctrl+S가 눌리는 경우가 있다(보통 Ctrl+W를 누르려다 종종...)

그럴때면 아무것도 되지 않는데, 이게 무슨 버그나 아니면 터미널에 지원되지 않는 시그널이 전송되서 

세션에 문제가 생겼나 이런 생각도 들었었다(세션에 문제가 생기기엔 장시간 기다려도 안되더라..)


Unix계열 시스템에서 흔히 사용하는 제어 키 중에 하나로 아래와 같은 종류가 있다.

Ctrl + s : 현재의 모든 Output을 중지

Ctrl + q : Stop 되었던 모든 Output을 다시 동작

Ctrl + c : 현재 실행되는 Process를 Kill

Ctrl + d : 현재의 Shell 에서 Out ,"EOF(End Of File)" , 표준 입력에서 입력을 종료

Ctrl + l : Formfeed(shell clear)

Ctrl + z : 현재 실행 중인 프로세스를 Background로 Stop 시킴

Ctrl + b : 1 Character 커서를 뒤로 이동

Ctrl + f : 1 Character 커서를 앞으로 이동

Ctrl + p : 지난 1 Line을 붙여넣기함


이제 실수로 Ctrl + s로 화면을 멈추었다면 Ctrl + q로 다시 동작 시키자.






반응형
반응형




 lua에서는 debug를 이용하면 다양하게 사용할 수 있는데(backtrace같은  유용한..)

 line을 찍어가며 디버깅 하고 싶을때에는 그냥 아래와 같이 붙여넣기로 하면 유용하다.

 print(debug.getinfo(1).currentline)

 

반응형

+ Recent posts