"Linux" 검색결과 (17)
  • Rock960A/B/C 용 rtl8152 커널 드라이버 소스

    Rock960A/B/C 를 쓰는 사용자라면 아마 VAMRs 에서 배포하는 리눅스를 사용하고 있으시거나, 제가 따로 배포하는 AARCH64 빌드를 높은 확률로 사용 중 이실 것 입니다만, 이 커널이 4.4 에 기반을 하고 있는지라 Realtek 의 RTL8152 계열 USB LAN 이 ( 보통 USB 3.0 GbE 지원 제품 ) 위 화면처럼 (unnamed net_device) (uninitialized) 오류를 뱉으면서 커널에서 인식을 못하고 있는 상황을 경험 할 것입니다. 이는 커널에 포함된 r8152 내장드라이버가 너무 옛날 것이라 생기는 문제로 최신 드라이버는 ACPI 와 개선된 net API 등을 사용해서 또 바로 사용해서 컴파일 할 수 없으므로, 이를 기존 kernel 4.4 에 맞도록 수정한 ..

    내가 작업한 것들/소프트웨어
    2019.04.30 15:33
  • 우분투/리눅스 민트 에서 apt-get update 중 key 오류 날 때.

    저의 경우는 launchpad.net 쪽에서 나는 오류가 갑자기 발생 하기 시작 했는데, 아마 처음 이 PPA 주소를 추가 할 때 Public key 관련 작업을 하지 않았던 것 같습니다 (또는 그세 뭔가 바뀌었던가 ...) 그래서 이 문제를 해결 하기 위해 다음 URL 을 참고 하였습니다 만, 영문이 어려운 분들을 위해 조금 설명을 달아 보겠습니다. http://opensourceforgeeks.blogspot.kr/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html 위 URL에 따르면 여러 방법이 존재 하기는 합니다만, 저의 경우 위 사진에 있는 오류 문구 중 NO_PUBKEY 다음에 오는 16진수 키 값을 복사 해서 다음 URL에서 검색 했습니다. 우분투 ..

    어떻게 할까/소프트웨어
    2016.06.14 10:09
  • Linux 에 SSD TRIM 적용 하기.

    Linux 는 항상 HDD 를 단 기기에 쓰다가 SSD 로 변경 하고 나니, TRIM 을 시스템에 적용해야 하는 이유가 생겼습니다. Windows 는 7 부터 지원 되는 TRIM 이 제가 사용하는 Linux Mint 17.3 에서는 수동으로 해야 하는 일이 있어 이를 적용 하고자 했습니다. 인터넷에서 여러 방법을 찾아 본 결과 다음 몇가지는 기본으로 해야 했는데, 먼저 /etc/fstab 을 수정 해서 지금 사용중인 장치에 discard가 기본으로 적용 되어야 합니다. 먼저 SSD 가 TRM 르 지원 하는지 확인 하기 먼저 현재 SSD가 TRIM 르 지원 하고, 리눅스가 이걸 인지 했는지 알아 보는 방법이 다음과 같습니다. sudo hdparm -I /dev/sda | grep TRIM 이렇게 했을 떄 ..

    어떻게 할까/소프트웨어
    2016.06.11 17:56
  • 파이어폭스 타이틀 바를 줄이자, Hide Caption Titlebar Plus

    화면이 작은 랩탑(노트북)에 Ubuntu 계열 리눅스를 쓰다 보면 파이어폭스의 창에 낭비가 있다는 느낌이 듭니다. Windows 버젼과 차이가 발생 하는 부분이 이 뿐이기도 한데, 아래 이미지 처럼 뭔가 테마를 적용 해도 이질감이 들게 되는 이유 이기도 합니다. 이 이질적인 부분과 공간 낭비를 줄이기 위해서 Add-ons Manager 설정에서 Hide Caption Titlebar Plus (거의 모든 플랫폼 공용) 을 받아 적용 하면 아래 처럼 따로 놀고 뭔가 낭비가 있던 요소들이 하나의 모습으로 변하게 됩니다. 사실 Windows 에서는 이미 이렇게 되어 있으니 필요가 없겠지만, 리눅스 계열에서는 매우 큰 변화라 할수 있을지도 모르겠군요. 여기서 보면 왼쪽 위 파폭 메뉴 자체가 너무 커서 사실 페이..

    좋은것들/사용하기 좋은것들
    2016.04.30 12:43
  • 리눅스에서 빠르게 TCP socket 서버 찾기.

    리눅스에서 자신의 IP 영역대에서 (A.B.C.n, n = 1~자기자신~255) 다른 서버가 있는지 찾기 위해서는 여러 방법이 있긴 하겠지만, 대부분 이 방법으로 찾는게 아닐까 합니다. 아래 코드는 해당 ip 에 TCP socket 이 열려 있는지 찾는 간단한 방법 으로 실제 AnyStreaming Client 에서도 아래와 같은 방법으로 (물론 Windows용으로 바꾼 코드) AnyStreaming 을 찾습니다. 실제론 FD_ISSET() 이후에 socket 을 다시 blocked 로 바꾼 다음 send() 를 통해 특정 명령이 전달 되는지 까지 검사하면 더 좋을 듯 합니다. 이 방법은 TCP socket 의 connect() 함수가 blocking 으로 동작 하는것을 감안해서 만든 날림 코드지만 꽤 ..

    Developement/C/C++
    2016.01.25 17:33
  • 리눅스내 현재 접속 ip 알기.

    리눅스나, 임베디드 리눅스 내에서 현재 연결된 장치에 따라 ip 를 알고 싶을 때가 있다, 이럴때 아래 코드를 사용할 수 있다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include bool getmyip( const char* devname, struct in_addr* addr ) { struct ifreq ifr; int fdSockTest = -1; fdSockTest = socket( AF_INET, SOCK_DGRAM, IPPROTO_IP ); if ( fdSockTest >= 0 ) { strcpy( ifr.ifr_name..

    Developement/C/C++
    2016.01.25 17:23
  • 서비스 데몬을 만드려다 노가다 하다 ...

    시스템을 이제 다 만들어 가는지라, 기존에 일일히 실행 해서 쓰던 서버들을 이제 데몬으로 올리려 임베디드 리눅스 파일 시스템 /etc/rc.local 뒤에 뙇 넣어 놨더니 ... 하 ... rcS.d 세션이 끝나니 다들 죽으신다 ... 대체 언제적 문제인가 해서 back to the past. 현재 개발 하는 시스템은 squashfs 를 이용한 NAND writing 을 하기 때문에 미리 sqfs 를 만들 위치에서 부터 ARM ELF 로 만들어진 바이너리를 각각 /usr/sbin 안에 넣어 준다. 예를 들어 서비스 서버로 만들었던 것 중 하나가 asctrld 이라면 /usr/sbin/ 안에 asctrld 를 넣어 주는 것. 그런 다음, 아래 스크립트를 복붙 으로 /etc/init.d 안에 asctrld ..

    Developement/eLinux
    2015.12.29 15:04
  • Wine(리눅스) 에서 트루타입 폰트 힌팅 적용.

    리눅스를 쓰는 입장에서 WINE 의 고마움은 가끔 '굳이 이걸 돌리기 위해서 Windows 를 써야 하나?' 란 생각이 드는 것들을 구동 할 때 입니다. 하지만 WINE 은 역시 Emulation 의 일종이다 보니 실제 Native Windows PE 바이너리를 완벽히 구동 하지 못하는 것 부터, GDI 를 X11 에서 그려야 하므로 제약적인 부분이 있을 수 있게 됩니다. 그 중 하나가 바로 TTF (True Type Font) 를 대부분 Hinting (힌팅, 또는 Anti-Aliasing 같은거로 알려진 것) 처리 하지 못하는 문제가 있다는 것 입니다. 사실 이는 WINE 에서 가지고 있는 Registry 를 수정 하면 됩니다. HKEY_CURRENT_USER/Control Panel/Desktop/..

    어떻게 할까/소프트웨어
    2015.09.09 13:26
  • 민트리눅스17.1 에서 Fallback mode로 오류 났을때.

    민트리눅스17.1 을 쓰면서 비디오 카드 한번 바꾸니 이딴 오류 나면서 나의 화려한 시나몬 데스크탑이 엉망으로 된 경험을 하신 적이 있거나 지금 격고 있으신 분은 십중팔구 망할 인텔 내장 그래픽과 nVidia 그래픽 카드의 변동이 있은 분 이라 점 쳐 보겠습니다. 저의 경우는 망할 인텔 내장 그래픽을 쓰는 데스크탑에서 IDE 와 컴파일, 웹 검색 등에 있어 하드웨어 가속을 하고 있다는 화면이 500~1000ms 이상의 무반응을 계속 보이고, 매우 간헐적이라면서 자주 윈도우 자체가 texture 반쪽 날아간 이상한 색으로 칠해지는 지옥같은 화면을 경험 하게 되어 결국 이를 해결 하고자 어디다 아껴 두던 GeForce 8400GS 를 꺼내 들었습니다. 민트 리눅스 내에 남아 있는 기존 인텔 그래픽 가속을 모..

    어떻게 할까/소프트웨어
    2015.09.08 16:44
  • 리눅스 민트 17.1 은 아이폰5를 바로 인식.

    현재 EVM 개발용으로 Linux Min 17.1를 사용 중 입니다만, 혹시나 해서 제 iPhone5 를 연결 해 보니 바로 사용이 가능 하군요. 그간 iFuse 가 많은 발전을 했는 듯 합니다. iTunes 없이 음악 넣는 것도 어렵지 않고... 정말 Steam 의 모든 게임이 Linux 에서 원활이 구동 되고, 국내 망할 병맛나는 인터넷 뱅킹 이나 국가 기관 사이트들이 윈도우 에서만 제대로 돌지 않는다면 지금은 리눅스로도 충분히 사용이 가능한 세상에 살고 있는 듯 합니다. (특히 리눅스 민트를 쓴다면) 만약 자녀가 게임을 하는 것을 원치 않고 적당히 좋은? PC 에서 윈도우 말고 쓸 OS 가 없는지 고민 한다면 민트 리눅스는 이제 그 대용으로 충분한 값어치를 한다는 확신이 듭니다. 물론 Steam 도..

    좋은것들/재미난 것들
    2015.02.10 14:30
  • 리눅스 터미널에서 sudo 사용시 PATH 미지정 문제 해결

    특정 개발 환경에서 toolchain 을 root 권한으로 설치하고, 이를 사용하기 위해서 일반 user 로서 sudo를 사용하려면 현재 user id 의 PATH로 지정된 toolchain 이 구동이 안되는 경우가 있습니다. 보통 이런 경우 /etc/sudoers 를 수정하여 해결 하는 경우가 있긴 합니다 만... 보통 위 경우처럼 PATH 에만 지정해서 될 경우라면 그냥 편히 현재 자신의 home 위치 (~) 에서 .bashrc 를 수정하여, alias 를 걸어 주면 편리하게 이 고통스러운 문제를 해결 할 수 있습니다. 즉, 위 처럼 PATH 에 toolchain 을 지정하고, alias 로 sudo 실행 시 바로 env 로 PATH 를 씌어 주도록 하면 새로운 터미널 부터는 이런 문제를 피할수 있게..

    어떻게 할까/소프트웨어
    2015.02.09 14:09
  • 리눅스용 비동기 소켓 서버 (Async Socket Server) 소스

    이 소스는 소켓 서버를 돌리기 위해 만든 소스 입니다만, 최초 제가 구한 것도 인터넷이고 (원래 만든 분이 누군지 모르겠습니다) 잘 주워다 지금 쓰고 있느라, GPL 에 따라 소스를 공개 합니다. 혹시 이 소스의 원작자가 되시는 분이 이 소스에 대해 권리를 주장하신다면, 내리도록 하겠습니다 ^^ 소스의 다운로드: 필요 사항: 이 소스를 컴파일 하기 위해서는 POSIX 를 준수하는 컴파일러가 필요하며, Cygwin 에 있는 gcc 나 (minGW 는 불가), 리눅스 자체의 gcc 에서 컴파일이 가능 합니다. 사용 예제: 이 소스는 현재 AsyncSock 과 SocketWrap 이라는 부분으로 나뉘어져 있습니다. SocketWrap 이라는 부분이 Sock 을 Class 로 좀 더 쓰기 편하게 만들어 져 있고..

    Developement
    2011.11.01 20:34
  • socket 의 recv() 는 항상 원하는 크기대로 오지 않는다 !

    이전의 버퍼를 다 받아 오지 않던 문제를 ... 그간 PC 에서 socket processing 하던 편리함에 빠져 그 근본을 잊었던 것 같습니다. 임베디드 보드가 지속적인 메모리의 malloc() 과 free() 때문인지 죽어 버리는 문제가 발생 하지만, 적어도 30MB 의 데이터를 지속적으로 500번 가량 전송 하는데 성공을 했습니다. 이유는 간단히, recv() 함수가 가진 특성을 그간 간과 했기 때문 입니다. socket 에서 recv() 로 원하는 크기가 다 넘어 오지 않는다. 이 사실을 제가 간과 하고 있었네요. 너무나 기초적인 부분인데, 어찌 이런걸 제가 그간 잊고 있었을까요? 그래서 코드를 다음과 같이 수정 하였습니다. int nRecvSize = 0; bool bRecvDone = fal..

    Developement/eLinux
    2011.09.28 18:56
  • 임베디드 리눅스의 이 난감한 상황은 ...

    시그윈에서 socket 과 inet 만으로 단순 socket server 를 만들었습니다. class 로 wrapping 해서 쓰기 편하게 만들어서 돌렸더만 잘 돌기에 힘들게 porting 한 embedded linux 에 넣고 짠! 하고 잘 돌줄 알았더니, 흠 - 얘가 뭔가 뾰로퉁 하게 도네요 .. 30MB 짜리 버퍼를 보내는데 4KB 보내고 멎어 있습니다. socket server 를 non-blocking, async 로 설계한 이유는 아닌거 같은데, FD_ISSET() 이나 ioctl() 에서 멎는 문제도 아닐텐데, 그 이유를 찾기가 어려운 난감한 상황이 아닌가 합니다. 현재 GbE 로 연결된 상태라 전체 속도의 반인 60MBytes/sec 정도가 나와 주면 좋겠는데, 설계의 문제인지 아니면 제가..

    Developement/eLinux
    2011.09.27 19:58
  • 마인크래프트, 영역 늘리기와 고속 전철?

    인간의 모든 것들이 녹아 있는? 마인크래프트 ... 이젠 고속 전철을 만들기 시작 했습니다. 도중 도중 만들다 보면 밤이 되어 버려 무서운 크리퍼씨와 좀비씨 등을 봐야 하기 떄문에 조심 조심 해야 하네요 .. ㄷㄷㄷ 레드스톤과 전철 디텍터 등을 고려 하여 가속도 등을 생각해 만들어 봤습니다만 .. 일정 속도 이상은 안 올라 가더군요. 이걸 타고 계속 가려면 대체 얼마나 길게 만들어야 하는건지 모르겠습니다만 .. 일단은 멀리 떨어진 곳에서 빠르게 본부? 로 되돌아 가거나, 하려면 도중 도중 역사를 만들어야 할 듯 합니다. 지금은 넓직 하게 만든 출구를 다 유리로 가리던 해서 차후 무서운 몹들로 부터 저를 보호 해야 할 거 같네요. 처음 시작한 곳의 모습은 이제 점점 다정다감? 했던 그 때의 모습이 아니네요..

    기타등등등
    2011.05.05 22:37