까만 화면에 아래 내용이 나옴./dev/sda1 contains a file system with errors, check forced. /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without a or -p options) fsck exited with status code 4 The root filesystem on /dev/sda1 requires a manual fsck BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.4) built-in shell (ash) Enter ..
1줄로 sync;sync;sync; 쓰면 3번 동작이 되는가? &&와 ;는 어떤 차이가 있나? 'sync;sync;sync;'를 한 줄로 입력하면 'sync' 명령이 3번 실행됩니다. 세미콜론(';')을 사용하면 각 명령이 순차적으로 실행됩니다. '&&'와 ';'의 차이- '&&' (AND 연산자): - 'command1 && command2': 첫 번째 명령 ('command1')이 성공적으로 실행되면(즉, 종료 상태가 0이면) 두 번째 명령 ('command2')을 실행합니다. - 예를 들어, 'mkdir /newdir && cd /newdir'은 '/newdir' 디렉토리를 성공적으로 생성한 경우에만 '/newdir'로 이동합니다. - ';' (세미콜론): - 'command1; co..
. .. bin boot dev etc home include lib lost+found media mnt opt proc run 리눅스 파일 시스템의 각 폴더는 특정한 목적을 가지고 있습니다. 아래는 주어진 폴더들의 기능을 설명한 것입니다: 1. '.' (Current Directory) - 현재 디렉토리를 의미합니다. 현재 작업 중인 디렉토리를 나타냅니다. 2. '..' (Parent Directory) - 상위 디렉토리를 의미합니다. 현재 디렉토리의 부모 디렉토리를 나타냅니다. 3. 'bin' - 사용자 명령어가 포함된 바이너리 파일이 위치한 디렉토리입니다. 시스템 부팅 및 유지 관리에 필요한 실행 파일들이 주로 위치합니다. - 예: '/bin/ls', '/bin/cp' 4. ..
윈도우에서 VirtualBox 안의 우분투에 TCP/IP로 접속하려면 네트워크 설정을 올바르게 구성해야 합니다.주로 두 가지 방법을 사용하여 호스트 시스템(Windows)에서 게스트 시스템(Ubuntu)으로 접근할 수 있습니다NAT(Network Address Translation)와 브리지드 어댑터(Bridged Adapter)입니다. 여기서는 브리지드 어댑터 방법을 사용하여 설정하는 과정을 설명합니다. 브리지드 어댑터 설정브리지드 어댑터를 사용하면 VirtualBox의 우분투 게스트 시스템이 호스트 네트워크와 동일한 네트워크에 있는 것처럼 동작합니다. 이는 호스트 시스템과 동일한 네트워크에서 IP 주소를 할당받아 서로 통신할 수 있게 합니다. 1. VirtualBox 네트워크 설정 변경: - V..
'.dtb' 파일은 디바이스 트리 블롭(Device Tree Blob) 파일을 의미합니다. 디바이스 트리는 하드웨어 구성 요소와 그들 간의 연결을 기술한 데이터 구조입니다. 디바이스 트리 블롭 파일은 이 데이터를 바이너리 형식으로 저장한 파일입니다. /boot/xxxxx.dtb주요 기능 1. 하드웨어 구성 정보 제공: - '.dtb' 파일은 시스템에 존재하는 하드웨어 구성 요소들을 설명합니다. 여기에는 CPU, 메모리, 버스, 장치 등의 정보가 포함됩니다. - 각 장치의 속성, 메모리 주소, 인터럽트 번호, GPIO 핀 설정 등을 기술합니다. 2. 운영체제 초기화 지원: - 운영체제가 부팅할 때, '.dtb' 파일을 읽어서 하드웨어 구성 정보를 파악합니다. 이를 통해 커널은 하드웨어를 ..
U-Boot은 부트로더로, 다양한 아키텍처와 보드에서 시스템 부팅을 지원합니다. U-Boot의 디렉터리 구조는 여러 구성 요소로 나누어져 있으며, 각 디렉터리는 특정한 역할을 수행합니다. 다음은 U-Boot 디렉터리의 설명입니다: 1. arch - 아키텍처별 코드가 포함된 디렉터리입니다. 예를 들어, ARM, x86, PowerPC 등 다양한 CPU 아키텍처에 대한 초기화 코드와 설정이 여기에 포함됩니다. 2. board - 특정 보드에 대한 초기화 코드와 설정 파일이 포함된 디렉터리입니다. 각 보드에 대한 설정, 메모리 맵, 장치 초기화 코드 등이 여기에 있습니다. 3. cmd - U-Boot 명령어 구현이 포함된 디렉터리입니다. 사용자가 U-Boot 콘솔에서 실행할 수 있는 명령어들이..
리눅스에서 `git clone` 명령은 원격 저장소의 전체 내용을 로컬 컴퓨터에 복제하는 데 사용됩니다. 이 명령은 Git 저장소의 모든 파일, 커밋 역사, 브랜치 등을 다운로드합니다. 기본 사용법은 다음과 같습니다: git clone예시 1. HTTPS를 사용한 클론: git clone https://github.com/username/repository.git2. SSH를 사용한 클론:git clone git@github.com:username/repository.git추가 옵션 - 특정 브랜치 클론: 특정 브랜치만 클론하고 싶을 때는 `-b` 옵션을 사용할 수 있습니다. git clone -b - 깊이 제한 클론: 저장소의 전체 역사를 클론하지 않고 최근 몇 개의 커밋만 클론하려면 `--de..
GDB(GNU Debugger) 7.4는 GNU 프로젝트의 일환으로 개발된 강력한 디버깅 도구입니다. GDB는 C, C++, Fortran 등 여러 프로그래밍 언어로 작성된 프로그램을 디버깅하는 데 사용됩니다. GDB 7.4 버전은 다양한 버그 수정과 새로운 기능이 추가된 버전입니다. 아래에서는 GDB 7.4의 설치 및 주요 기능에 대해 설명하겠습니다. GDB 7.4 설치GDB 7.4를 설치하는 방법은 사용 중인 운영 체제에 따라 다를 수 있습니다. 여기서는 소스 코드로부터 GDB 7.4를 빌드하고 설치하는 일반적인 절차를 설명합니다. 1. 필요한 도구 설치: - GDB를 소스에서 빌드하려면 `gcc`, `make`, `flex`, `bison` 등의 도구가 필요합니다. 이를 설치하려면, 사용 중인..
fork()'fork()' 함수는 UNIX 계열 운영 체제에서 프로세스를 생성하는 데 사용됩니다. 'fork()'를 호출하면 현재 프로세스(부모 프로세스)가 새로운 프로세스(자식 프로세스)를 생성하며, 자식 프로세스는 부모 프로세스의 복사본이 됩니다. 이때 부모와 자식은 거의 동일한 상태로 실행되지만, 각기 다른 프로세스 ID를 가지며, 부모와 자식은 메모리 공간을 공유하지 않습니다. fork() 함수가 호출되면, 현재 실행 중인 프로세스의 복제본이 생성됩니다. 부모 프로세스와 완전히 동일한 프로그램 코드와 상태를 가지는 자식 프로세스가 생성됩니다. 이 때, 자식 프로세스는 fork() 함수 호출 직후의 상태에서 실행이 시작됩니다.자식 프로세스가 현재 프로그램의 처음부터 다시 시작되지 않음.따라서, 자식..