Yocto 시작하기 튜토리얼: Ubuntu에서 맞춤형 Linux 시스템 구축
임베디드 개발자라면 다음 질문에 직면할 수 있습니다. 하드웨어 플랫폼에 적합한 Linux 시스템을 만드는 방법은 무엇입니까? Linux 시스템의 기능과 모양을 어떻게 사용자 정의할 수 있나요? Linux 시스템의 보안과 안정성을 보장하는 방법은 무엇입니까? 이러한 문제는 Yocto 프로젝트를 사용하여 해결할 수 있습니다. Yocto 프로젝트는 하드웨어 아키텍처에 관계없이 맞춤형 Linux 시스템을 만드는 데 도움이 되는 오픈 소스 협업 프로젝트입니다. Yocto 프로젝트는 처음부터 자신만의 Linux 배포판을 구축하거나 기존 Linux 배포판을 기반으로 수정 및 최적화할 수 있는 유연한 도구 및 리소스 세트를 제공합니다. 이 기사에서는 Yocto를 사용하여 Ubuntu에서 최소 Linux 배포판을 만드는 방법과 Yocto의 기본 개념 및 작업 흐름을 소개합니다.

개발머신의 기본조건
최소 4-6GB RAM
최신 버전의 Ubuntu 시스템(이 문서에서는 16.04 LTS를 사용함)
남은 디스크 공간은 최소 60-80GB입니다
Linux 배포판을 만들기 전에 다음 패키지를 설치하세요
Yocto의 최신 안정 브랜치를 다운로드하세요(Poky는 최소 개발 환경입니다)
으아악
아래와 같이 개발환경에 설치되는 패키지의 크기는 거의 1GB 정도 됩니다.

이 튜토리얼에서는 poky의 morty stable 브랜치를 시스템에 복제합니다.
으아악
poky 디렉토리로 이동하여 다음 명령을 실행하여 Yocto 개발 환경에 대한 일부 환경 변수를 설정(설정/내보내기)합니다.
으아악아래와 같이 개방형 임베디드(oe) 빌드 환경 스크립트를 실행한 후 터미널의 경로는 릴리스 버전의 후속 구성 및 구성을 위해 빌드 디렉터리로 자동 전환됩니다.

위 스크린샷은 conf 디렉터리에 생성된 local.conf 파일을 보여줍니다. 이는 Yocto가 SDK의 대상 시스템 세부 정보 및 대상 아키텍처를 설정하는 데 사용하는 구성 파일입니다.
아래와 같이 여기에 설정된 대상 머신은 qemux86-64입니다.

아래 스크린샷과 같이 local.conf에서 다음 매개변수의 주석 처리를 해제하세요.
으아악



아래와 같이 Yocto 기반 Linux의 경우 local.conf에 빈 비밀번호와 일부 후속 매개변수를 설정하세요. 그렇지 않으면 사용자가 새 릴리스에 로그인할 수 없습니다.
으아악
우리는 토스터와 같은 Linux OS를 만들기 위해 그래픽 도구를 사용할 계획이 없습니다(호브는 더 이상 지원되지 않습니다).
Yocto 컴파일 및 빌드 프로세스
이제 아래 bitbake 도구 명령을 실행하여 선택한 대상 머신에 대한 패키지 다운로드 및 컴파일을 시작하세요.
으아악
루트 사용자를 사용하지 않고 일반 Linux 사용자로 위 명령을 실행하는 것이 매우 중요합니다. 아래 스크린샷과 같이 루트 사용자로 bitbake 명령을 실행하면 아래와 같은 오류가 발생합니다.

환경 변수(oe-init-build-env)를 내보내는 스크립트를 다시 실행하고 동일한 명령을 다시 실행하여 다운로드 및 컴파일 프로세스를 시작합니다.

아래와 같이 스크립트 구성 요소를 구축하는 첫 번째 단계는 구성(레시피)을 구문 분석하는 것입니다.

아래 스크린샷은 빌드 스크립트의 구문 분석 프로세스를 보여줍니다. 또한 새로운 yocto 기반 배포판을 빌드하는 데 사용되는 빌드 시스템의 세부 정보도 보여줍니다.

SDK와 필요한 라이브러리를 다운로드한 후 다음 단계는 패키지를 다운로드하고 컴파일하는 것입니다. 아래 스크린샷은 새 배포판을 구축하기 위해 수행되는 작업을 보여줍니다. 필요한 패키지를 먼저 다운로드한 다음 새 Linux 배포용으로 컴파일해야 하므로 이 단계는 2~3시간이 소요됩니다.

아래 스크린샷은 작업 목록의 완성을 보여줍니다.

대상 머신 유형 qemux86-64용으로 컴파일된 새 이미지는 build/tmp/deploy/images/qemux86-64에 있습니다.

아래와 같이 위 명령을 Putty에서 실행하면 오류가 발생합니다.

rdp를 통해 Ubuntu 플랫폼에서 위 명령을 다시 실행하세요.

새로운 Yocto 기반 Linux 배포판을 실행하는 qemu의 새 화면을 엽니다.

다음은 새 릴리스의 로그인 인터페이스와 사용된 yocto 프로젝트의 버전 번호를 보여줍니다. 기본 사용자 이름은 root이고 비밀번호는 비어 있습니다.

마지막으로 루트 사용자 이름과 빈 비밀번호를 사용하여 새 배포에 로그인합니다. 아래 스크린샷에 표시된 것처럼 이 최소 버전의 Linux에서는 기본 명령(data, ifconfig 및 uname)이 실행됩니다.

이 기사의 목표는 Yocto를 사용하여 새로운 Linux 배포판을 만드는 과정을 이해하는 것입니다.
이 기사를 통해 Yocto를 사용하여 Ubuntu에서 최소 Linux 배포판을 만드는 방법과 Yocto의 기본 개념 및 작업 흐름을 배웠습니다. Yocto를 사용하여 임베디드 장치 또는 기타 시나리오에 적합한 Linux 시스템을 사용자 정의하여 요구 사항과 선호도를 충족할 수 있습니다. 물론 이것은 Yocto 프로젝트가 제공하는 많은 기능과 옵션 중 일부일 뿐입니다. Yocto 프로젝트와 임베디드 Linux 개발에 대해 더 자세히 알고 싶다면 계속 탐색하고 연습해야 합니다. 이 기사가 귀하의 연구와 업무에 도움이 되기를 바랍니다. 또한 귀하가 사용하거나 발견한 다른 실용적인 Yocto 기술을 공유하는 것도 환영합니다.
위 내용은 Yocto 시작하기 튜토리얼: Ubuntu에서 맞춤형 Linux 시스템 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

Apache 80 포트가 점유되면 솔루션은 다음과 같습니다. 포트를 차지하고 닫는 프로세스를 찾으십시오. 방화벽 설정을 확인하여 Apache가 차단되지 않았는지 확인하십시오. 위의 방법이 작동하지 않으면 Apache를 재구성하여 다른 포트를 사용하십시오. Apache 서비스를 다시 시작하십시오.

이 기사에서는 데비안 시스템에서 NGINX 서버의 SSL 성능을 효과적으로 모니터링하는 방법에 대해 설명합니다. NginxOxporter를 사용하여 Nginx 상태 데이터를 프로 메테우스로 내보낸 다음 Grafana를 통해 시각적으로 표시합니다. 1 단계 : nginx 구성 먼저 Nginx 구성 파일에서 stub_status 모듈을 활성화하여 nginx의 상태 정보를 얻어야합니다. nginx 구성 파일에 다음 스 니펫을 추가하십시오 (일반적으로 /etc/nginx/nginx.conf에 있거나 포함 파일에 위치) : location/nginx_status {stub_status

이 기사는 데비안 시스템에서 재활용 빈을 구성하는 두 가지 방법 인 그래픽 인터페이스와 명령 줄을 소개합니다. 방법 1 : Nautilus 그래픽 인터페이스를 사용하여 파일 관리자를 엽니 다. 데스크탑 또는 응용 프로그램 메뉴에서 Nautilus 파일 관리자 (일반적으로 "파일")를 찾아 시작하십시오. Recycle Bin 찾기 : 왼쪽 탐색 표시 줄에서 재활용 빈 폴더를 찾으십시오. 찾을 수없는 경우 검색하려면 "기타 위치"또는 "컴퓨터"를 클릭하십시오. 재활용 빈 속성을 구성하십시오 : "Recycle Bin"을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하십시오. 속성 창에서 다음 설정을 조정할 수 있습니다. 최대 크기 : 재활용 빈에서 사용 가능한 디스크 공간을 제한하십시오. 유지 시간 : 재활용 쓰레기통에서 파일이 자동으로 삭제되기 전에 보존을 설정합니다.

Apache 서버를 다시 시작하려면 다음 단계를 따르십시오. Linux/MacOS : Sudo SystemCTL 실행 Apache2를 다시 시작하십시오. Windows : Net Stop Apache2.4를 실행 한 다음 Net Start Apache2.4를 시작하십시오. Netstat -A |를 실행하십시오 서버 상태를 확인하려면 Findstr 80.

Debian Systems에서 ReadDir 시스템 호출은 디렉토리 내용을 읽는 데 사용됩니다. 성능이 좋지 않은 경우 다음과 같은 최적화 전략을 시도해보십시오. 디렉토리 파일 수를 단순화하십시오. 대규모 디렉토리를 가능한 한 여러 소규모 디렉토리로 나누어 읽기마다 처리 된 항목 수를 줄입니다. 디렉토리 컨텐츠 캐싱 활성화 : 캐시 메커니즘을 구축하고 정기적으로 캐시를 업데이트하거나 디렉토리 컨텐츠가 변경 될 때 캐시를 업데이트하며 readDir로 자주 호출을 줄입니다. 메모리 캐시 (예 : Memcached 또는 Redis) 또는 로컬 캐시 (예 : 파일 또는 데이터베이스)를 고려할 수 있습니다. 효율적인 데이터 구조 채택 : 디렉토리 트래버스를 직접 구현하는 경우 디렉토리 정보를 저장하고 액세스하기 위해보다 효율적인 데이터 구조 (예 : 선형 검색 대신 해시 테이블)를 선택하십시오.

다음과 같은 이유로 Apache가 시작할 수 없습니다. 구성 파일 구문 오류. 다른 응용 프로그램 포트와 충돌합니다. 권한 문제. 기억이 없습니다. 프로세스 교착 상태. 데몬 실패. Selinux 권한 문제. 방화벽 문제. 소프트웨어 충돌.

데비안 시스템의 readdir 함수는 디렉토리 컨텐츠를 읽는 데 사용되는 시스템 호출이며 종종 C 프로그래밍에 사용됩니다. 이 기사에서는 ReadDir를 다른 도구와 통합하여 기능을 향상시키는 방법을 설명합니다. 방법 1 : C 언어 프로그램을 파이프 라인과 결합하고 먼저 C 프로그램을 작성하여 readDir 함수를 호출하고 결과를 출력하십시오.#포함#포함#포함#포함#includinTmain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {
