Automotive Grade Linux 소개

Automotive Grade Linux


일본 기업이 많이 참가하는 단체에서 만든 Linux.
나는 어떤 물건인지 느끼기 위해 설치하기로 결정했다.
이 원고는 설치 절차의 총결과 이동을 시도한 기록이다.
자동운전 일을 주세요.

자료 있어요?


Qiita도 원서주의라서 오리지널에서 인용했다고 보도했다.
  • https://www.automotivelinux.org/software/download/get-started
  • https://wiki.automotivelinux.org
  • https://docs.automotivelinux.org/docs/en/master/getting_started/
  • 호스트 환경 설정


    필요한 호스트 환경


    Yocto만 맞으면 돼.이번에는 Ubuntu16.04LTS를 선택합니다.
    그 외에
    - 50GB의 여유 용량<- 본문 배달 시 400G 정도 사용 중입니다...
    - 도구의 최신 버전
    - Git 1.8.3.1 or greater
    - Tar 1.27 or greater
    - Python 3.4.0 or greater
    타르가 있는 것은 차다.(본문은 사용되지 않음)
    Yocto는 다음 명령을 요구합니다.
    https://www.yoctoproject.org/docs/2.4.4/yocto-project-qs/yocto-project-qs.html
    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
         build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
         xz-utils debianutils iputils-ping libsdl1.2-dev xterm curl
    

    AGL 다운로드


    절차서에 따라 진행하다.
    https://docs.automotivelinux.org/docs/en/master/getting_started/reference/getting-started/image-workflow-download-sw.html
    환경 변수를 조정합니다.
    $ export AGL_TOP=$HOME/workspace_agl
    $ mkdir -p $AGL_TOP
    
    repo를 가져옵니다.
    $ mkdir -p ~/bin
    $ export PATH=~/bin:$PATH
    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
    
    그런 다음 Stable 버전을 다운로드합니다.
    git-global에서user.이메일과 user.name에 가입하지 않으면 오류로 인해 멈춥니다.
    $ cd $AGL_TOP
    $ repo init -b flounder -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
    $ repo sync
    
    도중에 컬은 404가 자주 발생하지만 잘 모르기 때문에 이곳에 방치합니다.
    구피가 있어서 거기로 바꿨어요.curl 오류가 사라졌습니다.
    $ repo init -b guppy -m guppy_7.0.2.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
    $ repo sync
    
    halibut 발표, 환경 재구축, 구축 시도
    $ repo init -b halibut -m halibut_8.0.3.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
    $ repo sync
    
    구축 환경을 위한 100G 디스크 공간이 마련되어 있지만 충분하지 않습니다.
    tmp 영역에서 60G 이상을 사용하기 때문에build/conf/local.conf를 수정하여 추방을 도모하다
    $AGL_TOP/build/conf/local.conf
    - #TMPDIR = "${TOPDIR}/tmp"
    + TMPDIR = "/mnt/tmp"
    

    환경 구축


    절차서에 따라 진행하다.
    https://docs.automotivelinux.org/docs/en/master/getting_started/reference/getting-started/image-workflow-initialize-build-environment.html
    $ bash
    $ cd $AGL_TOP
    $ source meta-agl/scripts/aglsetup.sh -h
    
    쉬지 않고 나오면 여기까지 하면 돼요.

    구축


    여기서부터 구름층이 이상해요.
    절차서가 낡아 보이기 때문에 조정하면서 전진한다.
    $ source meta-agl/scripts/aglsetup.sh -m beaglebone agl-demo
    
    하지만 beaglebone을 사용하지 않기 때문에 다른 것을 선택합니다.
    x86 환경에서는 intel-corei7-64입니다.
    qemu라면, qemux86-64.
    라즈베리피라면 라즈베리피3와rspberrypi4가 있습니다.
    'aglsetup.sh-h'가 아니라 디스플레이이기 때문에'-m'로 자신의 환경에서 기계를 선택하면 갈대
    -b:build의 dir 이름
    -m: 대상 기기 설정
    b와 m를 분리하여 사용하면 모든 기계,feature를 구축할 수 있습니다.이것은 매우 편리한 기능이다.
    그러나 모든builddir는 tmp를 만들어 대량으로 다운로드하기 때문에 저장에 부담이 있습니다.
    $ source meta-agl/scripts/aglsetup.sh \
        -m intel-corei7-64 \
        agl-devel agl-demo agl-appfw-smack agl-netboot agl-audio-4a-framework
    
    $ source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo
    
    build/conf/local로 설정합니다.conf에 반영합니다.
    우리 기계가 각자 지정한 것인지 확인해 봅시다.
    기본값은qemu이기 때문에qemu는 큰 문제가 없습니다.
    다음은 구축.
    $ bitbake agl-demo-platform
    
    6900초 파일을 조작해야 하기 때문에 처음에는 상당한 시간이 걸린다.(우리의 환경(i7-7700K) 6시간 정도)
    -f를 추가하면 conf를 덮어씁니다.그뿐이야.다른 것을 덮어쓰는 것이 아니다.

    동작을 시도하다


    QEMU 편


    이것도 취설한 것이다.
    명령줄에서 다음 유형을 입력합니다.
    qemu-system-x86_64 -enable-kvm -m 2048 \
        -hda agl-demo-platform-qemux86-64.wic.vmdk \
        -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt \
        -vga virtio -show-cursor \
        -device virtio-rng-pci \
        -serial mon:stdio -serial null \
        -soundhw hda \
        -net nic,vlan=0 \
        -net user,hostfwd=tcp::2222-:22
    

    화면은 가로로 되어 있지만 순조롭게 작동되었다.
    다만, 동작이 둔하고 말을 할 수 없는 상태.
    기본적으로 화면은 그림과 같이 가로로 되어 있기 때문에 아래의 내용을 변경하면 방향이 바뀐다.
    콘솔에서 차에 올라 편집을 진행하다.
    /etc/xdg/weston/weston.ini
    (旧) transform=270
    (新) transform=0
    
    이 파일에도 다른 설정이 있지만 해상도는 1920x1080으로 유지하는 것이 좋습니다.
    바꾸면 마우스 동작을 제대로 포착할 수 없다는 인상을 준다.
    unable to init server: could not connect: connection refused
    이러한 오류가 발생하면 xhost에 허가를 주십시오.
    $ xhost +
    

    라즈베리 파이 3편


    완성된 파일을 micro SD에 태우세요.
    $ xzcat <image_name> | sudo dd of=<sdcard_device_name> bs=4M
    
    빌딩을 다 지으면 일어난다.그러나 자신의 환경에서는 칠흑 같은 화면만 나왔다.
    한 번, 클린, 다시, 다시 구운 곳, 정상적으로 세워졌다.
    $ bitbake -c clean agl-demo-platform
    $ bitbake agl-demo-platform
    
    처음에만 내부에서 한 것 같아서 시간이 많이 걸렸어요.이후의 시작은 매우 빠르다.

    직렬이 있으면 편하지만 한 번 일어나면 ssh에서 연결할 수 있습니다.DHCP 네트워크가 있는 경우 ETH0은 다음과 같이 설정됩니다.
    UID: root, PWD:(없음), 연결 가능.(직렬이 없으면 arp에서 IP addr 찾기)
    raspberrypi3:~# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 
              inet addr:192.168.0.37  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: 
              inet6 addr:  Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1927 errors:0 dropped:522 overruns:0 frame:0
              TX packets:345 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:291099 (284.2 KiB)  TX bytes:47199 (46.0 KiB)
    
    $ ssh [email protected]
    The authenticity of host '192.168.0.37 (192.168.0.37)' can't be established.
    ECDSA key fingerprint is SHA256:gRRXX0kuQWgWfFC/G5zXKXHbOW0CHHHelEURMNGoVCQ.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.0.37' (ECDSA) to the list of known hosts.
    Last login: Mon Jul  1 08:14:49 2019
    raspberrypi3:~#
    
    또한 터치스크린이 달린 모니터에서 조작하면qemu보다 더 빨리 움직일 수 있다.(바삭바삭한 것은 아마도 모든 사람의 느낌 방법일 것이다)
    weston.ini의panel-position을 주석합니다.
    /etc/xdg/weston/weston.ini
    #panel-position=none
    
    시간대와 일치하려면 다음 localtime 정보를 다시 쓰십시오.
    ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    

    마지막


    물리층을 설치한 것이 아니기 때문에 이런 느낌을 부인할 수 없다.다시 한 번 조사해서 소리를 낼 수 있는지 없는지를 보고 인터넷에 접속하여 서핑을 한다.

    (추적) AGL CLUSTER DEMO


    다음 명령을 사용하여 agl-cluster-demo를 만들 수 있습니다.
    이번에는 qemu를 위한 것을 해 보았다.
    $ source meta-agl/scripts/aglsetup.sh -b build-cluster -m qemux86-64 agl-cluster-demo
    $ bitbake agl-cluster-demo-platform
    
    시작 (qemu 명령 유지)
    $ sudo qemu-system-x86_64 -enable-kvm -m 2048 \
        -hda agl-demo-platform-qemux86-64.wic.vmdk \
        -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt \
        -vga virtio -show-cursor \
        -device virtio-rng-pci \
        -serial mon:stdio -serial null \
        -soundhw hda \
        -net nic,vlan=0 \
        -net user,hostfwd=tcp::2222-:22
    
    시동을 걸면 화면이 마음대로 움직인다.


    번외편


    번외편도 초청하다
    끝.

    좋은 웹페이지 즐겨찾기