Linux/development tool
-
[LINUX][GIT] - .gitignore 쉽게 만들기Linux/development tool 2023. 8. 3. 02:20
Github Repository를 만들 때 .gitignore를 만들 수 있지만, 실무에서 vendor사에서 제공하는 소스를 받아보면 .gitignore가 없는 경우가 있다. git status를 치는 순간 *.o *.log 등 엄청난 양의 파일들로 렉이 걸릴 정도로 실무 프로젝트는 파일 양이 방대하다 ㅠㅠ.. 그래서 .gitignore를 적용해야 겠다고 생각했다. 그런데 .gitignore에 어떤 내용들을 적용해야 할 지 막막할 때 참고하면 좋은 사이트가 있다. https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com 위의 사이트에 접속해서 적당한..
-
[LINUX][VIM] 내가 에디터로 VIM을 쓰는 이유Linux/development tool 2023. 8. 3. 02:19
1. 터미널 기반의 에디터 나는 현재 임베디드 시스템 프로그래머로 이제 곧 5년차 개발자이다. 임베디드 개발자들은 주로 자기의 PC에서 작업을 하지 않고, 회사의 Linux 서버에 원격으로 접속을 해서 소스를 수정하고 빌드를 돌리는 등의 작업을 한다. 원격으로 접속을 하다보니, GUI 환경이 아닌 터미널의 기반의 환경에서 작업을 주로하게 된다. 그러다 보니 자연스럽게 VIM을 쓰게 됬다. 물론, 내 주변의 대다수 분들은 samba를 이용해서 source insight라는 툴로 소스를 분석한다. 그런데 source insight는 윈도우 툴이고 samba로 연결될 경우, 많은 양의 소스를 분석하다보면 버벅거리는 생각보다 꾀나 자주 발생한다. 중소기업에서는 초기 프로젝트 시, 빌드서버가 어마아마하게 자주 돌..
-
[운영체제 만들기] xxdLinux/development tool 2023. 8. 3. 02:15
글의 참고 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. 글의 내용 : 파일을 HEX 값으로 읽을 수 있도록 해준다. 파일 시스템 구현 시, 정말 유용하게 많이 사용했다. : xxd -s [시작 줄] -ㅣ [길이] 파일 " xxd -s 0x200 -l 0x40 HDD1.img - HDD1.img의 512바이트(0x200)부터 시작해서 64바이트(0x40) 만큼을 보여준다. 즉, 512..
-
[GIT] - git diff를 통한 patch 파일 생성 및 적용Linux/development tool 2023. 8. 3. 02:13
글의 참고- https://git-scm.com/book/ko/v2/%EB%B6%84%EC%82%B0-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-Git-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0- https://stackoverflow.com/questions/45584131/how-patching-works-in-yocto글의 전제- 밑줄로 작성된 글은 강조 표시를 의미한다.- 그림 출처는 항시 그림 아래에 표시했다.글의 내용- 왜 패치 파일을 사용할까 ?" 왜 패치 파일을 별도로 사용할까? 그냥 소스 코드를 직접 수정하면 안되나? 내가 개인적으로 중요하다고 생각되는 패치 파..
-
Shell scriptLinux/development tool 2023. 7. 10. 02:20
글의 참고 - https://hbase.tistory.com/249 - https://velog.io/@alirz-pixel/linux-bashcompletion 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - 쉘 정수 표현 " 쉘 스크립트에서 정수 표현은 특별한 기호를 사용해야 한다. 예를 들어, 변수 2개를 그냥 더하면, 문자열 2개가 더해지는 것과 같은 효과를 준다. 실제 수학적 연산이 되려면 `$(( ))` 안에 들어와 줘야한다. 그냥 더할 경우, 문자열 합치기가 된다. KERN16_PADD=$(($KERN16_SIZE+$SECTOR_SIZE)) ; 512+2 = 514 KERN16_PADD=$KERN16_SIZE+$SECTOR_..
-
ddLinux/development tool 2023. 6. 10. 14:41
글의 참고 글의 전제 - `운영체제 만들기` 파트에서 퍼온 모든 참조 글들과 그림은 반드시 `이 글과 그림을 소스 코드로 어떻게 구현을 해야할까` 라는 생각으로 정말 심도있게 잠시 멈춰서 생각해봐야 실력이 발전한다. 글의 내용 : dd 유틸리트를 이용하면 간단하게 디스크 드라이브를 이미지를 만들 수 있다. dd if=/dev/zero of=./disk.img bs=512 count=1024 : if는 `input file`의 약자이고, of는 `output file`의 약자이다. 위에 명령어를 통해서 0으로 채워진 0x80000(524288)B 크기의 disk.img 라는 파일이 만들어진다. 이와 같이 입력 파일의 값으로 출력 파일을 만드는게 dd다. 그 사이즈는 bs와 count에 전달된 값을 통해 계..
-
[개발 도구] objdumpLinux/development tool 2023. 6. 10. 02:21
글의 참고 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. - `운영체제 만들기` 파트에서 퍼온 모든 참조 글들과 그림은 반드시 `이 글과 그림을 소스 코드로 어떻게 구현을 해야할까` 라는 생각으로 정말 심도있게 잠시 멈춰서 생각해봐야 실력이 발전한다. 글의 내용 - 개요 " 리눅스 환경에서 OS 개발시에 디버깅을 위해서 어셈블리 파일을 ELF로 빌드하기 위해 DWARF 정보를 삽입한다..
-
[개발도구] - inline assemblyLinux/development tool 2023. 6. 7. 13:16
글의 참고 - https://en.wikipedia.org/wiki/Inline_assembler - https://en.cppreference.com/w/c/language/asm - https://wiki.osdev.org/Inline_Assembly - https://www.ic.unicamp.br/~celio/mc404-s2-2015/docs/ARM-GCC-Inline-Assembler-Cookbook.pdf 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. 글의 내용 - 인..