2020-05-18

FSL Yocto 커스텀 번역

7 Customization

i.MX Linux OS에서 빌드하고 사용자 정의하는 세 가지 시나리오가 있습니다.

• i.MX Yocto Project BSP 빌드 및 i.MX 참조 보드에서 유효성 검사. 이 문서의 지침은이 방법을 자세히 설명합니다.

• 커널 및 U-Boot를 사용하여 커널을 사용자 정의하고 사용자 정의 보드 및 장치 트리를 만듭니다. Yocto Project 빌드 환경 외부에서만 커널 및 U-Boot를 빌드하기 위해 SDK를 빌드하고 호스트 시스템을 설정하는 방법에 대한 자세한 내용은 4.5.12 장의 독립형 환경에서 U-Boot 및 커널을 빌드하는 방법을 참조하십시오. i.MX 사용자 안내서 (IMXLUG).

• 사용자 정의 Yocto 프로젝트 레이어를 생성하여 i.MX Linux 릴리스 용으로 제공된 BSP에서 패키지를 추가하거나 제거하는 배포 사용자 정의. i.MX는 Code Aurora 포럼의 i.MX git 저장소에서 AGL, Genivi, IOT Gateway 및 XBMC를 사용하여 i.MX BSP 릴리스 위에 사용자 정의 계층을 표시하기위한 여러 데모 예제를 제공합니다.
이 문서의 나머지 부분에서는 사용자 정의 DISTRO 및 보드 구성을 만드는 지침을 제공합니다.

7.1 사용자 정의 DISTRO 생성

사용자 정의 DISTRO는 사용자 정의 빌드 환경을 구성 할 수 있습니다.
fsl-imx-x11, fsl-imx-wayland, fslimx-xwayland 및 fsl-imx-fb가 릴리스 된 DISTRO 파일은 모두 특정 그래픽 백엔드의 구성을 보여줍니다. DISTRO를 사용하여 커널, uboot 및 gstreamer와 같은 다른 매개 변수를 구성 할 수도 있습니다.

i.MX DISTRO 파일은 i.MX Linux OS BSP 릴리스 테스트에 필요한 사용자 정의 빌드 환경을 작성하도록 설정되어 있습니다.

각 고객은 자신의 배포 파일을 작성하여 빌드 환경에 대한 제공자, 버전 및 사용자 정의 구성을 설정하는 데 사용하는 것이 좋습니다.

DISTRO는 기존 distro 파일을 복사하거나 poky.conf와 같은 파일을 포함하고 추가 변경 사항을 추가하거나 i.MX DISTRO 중 하나를 포함하고이를 시작점으로 사용하여 작성됩니다.

7.2 커스텀 보드 구성 생성

참조 보드를 개발하는 공급 업체는 FSL 커뮤니티 BSP에 보드를 추가 할 수 있습니다.

FSL Community BSP가 지원하는 새 시스템을 사용하면 커뮤니티와 소스 코드를 쉽게 공유 할 수 있으며 커뮤니티의 피드백을받을 수 있습니다.

Yocto Project를 사용하면 새로운 i.MX 기반 보드에 대한 BSP를 쉽게 생성하고 공유 할 수 있습니다.

Linux OS 커널 및 부트 로더가 해당 시스템에 대해 작동하고 테스트되면 업스트림 프로세스가 시작되어야합니다.

시스템 구성 파일에서 안정된 Linux 커널 및 부트 로더 (예 : U-Boot)를 지정하여 해당 시스템에 사용되는 기본 시스템 인 것이 매우 중요합니다.

또 다른 중요한 단계는 새 시스템의 관리자를 결정하는 것입니다.

메인테이너는 메인 보드 세트를 해당 보드에서 계속 작동시키는 책임이 있습니다.
머신 관리자는 커널과 부트 로더를 업데이트하고 해당 머신에 대해 사용자 공간 패키지를 테스트해야합니다.

시스템 관리자 역할에 대한 자세한 내용은 FSL Community BSP 릴리스 노트 2.4 설명서를 참조하십시오.

LAN9303 device tree 참고용.

https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/refs/heads/akpm-base/Documentation/devicetree/bindings/net/dsa/lan9303.txt


[bash] IP유효성 확인 스크립트

validate_IP(){
    if [[ $1 =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]
    then
        for NUM in `sed 's/\./ /g' <<< $1`
        do
            if [ $NUM -ge 0 ] && [ $NUM -le 255 ] && [[ ! $NUM =~ ^0[0-9]{1,2}$ ]]
            then
                continue
            else
                echo "Invalid"
                return 1
            fi
        done
        echo "Valid"
        return 0
    else
        echo "Invalid"
        return 1
    fi
}

2020-05-15

랜하나로 vlan을 통해 라우팅 구현


https://openwrt.org/docs/guide-user/network/vlan/switch

3-Port 10/100 managed ethernet switch 802.1Q VLAN site:microchip.com

VLAN

VLAN

POSIX란

1003.1-2017 - IEEE Standard for Information Technology

--Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7


ISO/IEC 9945 (POSIX)


https://www.iso.org/standard/50516.html



ISO / IEC / IEEE 9945 : 2008은 명령 해석기 (또는 "쉘") 및 소스 코드 수준에서 응용 프로그램 이식성을 지원하는 일반적인 유틸리티 프로그램을 포함한 표준 운영 체제 인터페이스 및 환경을 정의합니다. ISO / IEC / IEEE 9945 : 2008은 응용 프로그램 개발자와 시스템 구현 자 모두가 사용하도록 만들어졌으며 4 개의 주요 구성 요소 (각각 관련 볼륨)로 구성됩니다.

  • 유틸리티 규약 및 C 언어 헤더 정의를 포함하여이 표준의 모든 볼륨에 공통적 인 일반 용어, 개념 및 인터페이스가 기본 정의 볼륨에 포함됩니다.
  • 시스템 서비스 기능 및 서브 루틴에 대한 정의, C 프로그래밍 언어에 대한 언어 별 시스템 서비스, 이식성, 오류 처리 및 오류 복구를 포함한 기능 문제는 시스템 인터페이스 볼륨에 포함되어 있습니다.
  • 통역 서비스 ( "쉘")에 대한 표준 소스 코드 수준 인터페이스 및 "응용 프로그램에 대한 공통 유틸리티 프로그램"에 대한 정의는 쉘 및 유틸리티 볼륨에 포함되어 있습니다.
  • ISO / IEC / IEEE 9945 : 2008의 내용과 ISO / IEC / IEEE 9945 : 2008 개발자가 기능을 포함하거나 버린 이유에 대한 기록 정보가 포함 된 나머지 문서 구조에 적합하지 않은 확장 된 이론적 근거 이론적 (정보) 볼륨에 포함되어 있습니다.

다음 영역은 ISO / IEC / IEEE 9945 : 2008의 범위를 벗어납니다.

  • 그래픽 인터페이스;
  • 데이터베이스 관리 시스템 인터페이스;
  • 레코드 I / O 고려 사항;
  • 객체 또는 이진 코드 이식성;
  • 시스템 구성 및 자원 가용성.

ISO / IEC / IEEE 9945 : 2008에서는 이러한 기능을 달성하기 위해 사용 된 내부 구성 기법이 아니라 응용 프로그램 개발자에게 중요한 외부 특성과 기능에 대해 설명합니다. 다양한 상용 응용 분야에 필요한 기능과 시설에 특히 중점을 둡니다.

2015-02-22

[OpenWrt] 라즈배리파이2 설치

OpenWrt 사이트의 지원device 중 raspberry pi 2가 지원되는것을 볼 수 있다.
해당 trunk의 revision은 r44403이라고 명시되어 있으므로 그것을 다운로드 받는다.
지원device에 BBB도 있으나 공식적인 지원은 아니다. 그래서 menuconfig에서 고를 수 없다.
같은 방법으로 atmel의 at91 samd5xpl 보드의 config도 있어서 간단히 빌드 할 수 있다.

$ sudo apt-get install build-essential asciidoc autoconf binutils bison bzip2 flex gawk gettext libncurses5-dev libz-dev patch unzip zlib1g-dev libssl-dev

라즈베리파이2가 적용된 Openwrt 소스
$ svn co -r 44403 svn://svn.openwrt.org/openwrt/trunk ./openwrt_rpi2

$ cd openwrt_rpi2


$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

라즈배리2 고르고
$ make menuconfig

$ make defconfig
$ make prereq
$ make

atmel board





RPI 2






2015-02-17

[ubuntu] ssh 서버 설치

$sudo apt-get install openssh-server


칼라코딩



1
2
3
4
5
6
static CLI_command_t tCMD_VuCardIWRecord = {
    .cmd_name = "cardinfo",
    .cmd_func = CMD_VuCardIWRecord,
    .cmd_help = "cardinfo ",
    .mode = 0xff,
};

[ubuntu] vim

sudo apt-get install vim

[ubuntu] tftp 서버 설정

$sudo apt-get install tftpd-hpa

서버가 실행되지 않았다면
sudo service tftpd-hpa start

/var/lib/tftpboot 을 기본으로 사용하게 된다.

/etc/default/tftpd-hpa 에 설정파일이 있다.

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="[::]:69"
TFTP_OPTIONS="--secure"
사용법 (시험)

tftp 192.168.10.50 -c get <file>
tftp 192.168.10.50 -c put <file>

에러 대책: Error code 1: File not found
/etc/default/tftpd-hpa  수정
TFTP_OPTIONS="--secure --create"
sudo service tftpd-hpa restart

에러 대책: Error code 0: Permission denied
sudo chmod a+w /var/lib/tftpboot

암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...