R-Car/Boards/CCPF-SK/Ubuntu

From eLinux.org
Jump to: navigation, search


Introduction

This page contains information about booting ubuntu rootfs on:

This page is based on R-Car/Ubuntu page.
For more information, please refer to the R-Car/Ubuntu.

Topic

EOL Notification of the M3SK

Production of M3SK is discontinued.
See M3SK page for detail.

The new version of R-Car Starter Kit Premier is now on sale !!

  • Equipped with R-Car H3e-2G
    (En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
  • CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
  • You can buy from here.

SW Release Information

Board name SW name Release date Note
R-Car Starter Kit ( Premier / Pro ) Yocto v5.9.0 (stable) [New!!] 2022/02/08
Kingfisher Infotainment Board Yocto v5.9.0 (stable) [New!!] 2022/02/14 To check for latest information, please refer to the meta-rcar/tree/v5.9.0.
Android 10 (stable) 2021/07/26 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25.
Android P (stable) 2020/09/29 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16.
CCPF-SK Board Yocto v5.9.0 (latest) [New!!] 2022/02/08 Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18)


R-Car Starter Kit is available

R-Car Starter Kit information
Board Name SoC version Hardware information Where to buy
R-Car Starter Kit Premier (H3) v3.0 Click here Click here
R-Car Starter Kit Pro (M3) v3.0 Click here Click here



Environment

Software revision

Software Revision
Yocto BSP v5.9.0
Linux Kernel v5.10.41
Ubuntu base rootfs Focal(20.04.4)

Host PC

  • if you want to build Yocto BSP, Linux host PC is required.(Prebuilt Yocto BSP bianry has been prepared.)
    • Ubuntu 20.04 LTS (64bit) is recommended as OS. 32bit version is not supported.

Network

  • This instruction requires internet connection on evaluation board.

Confirmed Board

Board SoC Confirmed
R-Car Starter Kit Premier H3e-2G v3.0 NT
R-Car Starter Kit Premier H3 v3.0 (1rank DDR) OK
R-Car Starter Kit Premier H3 v3.0 (2rank DDR) NT
R-Car Starter Kit Premier H3 v2.0 with 8GB DDR NT
R-Car Starter Kit Premier H3 v2.0 with 4GB DDR NT
R-Car Starter Kit Pro M3 v3.0 OK
R-Car Starter Kit Pro M3 v1.0 NT

18px <translate> Note:</translate> NT='Not Tested'

See also:

How to setup

  1. Prepare Yocto BSP v5.9.0(core-image-minimal)
    There are two ways to prepare Yocto BSP on the sdcard.
    1. How to build: R-Car/Boards/CCPF-SK/Yocto-Gen3/v5.9.0#BSP_case
      Write core-image-minimal-XXulcb-rootfs.tar.bz2 to sdcard.(XX is h3 or m3)
      Copy kernel-module to /boot directory on SDcard.
      ex.) /boot/modules-h3ulcb.tgz
      Create 2nd partition for Ubuntu base rootfs and mount to /data
      mount /dev/mmcblk1p2 /data
      
    2. Prebuilt binary
      Download prebuilt binary
      Write binary/rootfs/core-image-minimal-release-XXulcb.wic.xz to sdcard.
      How to setup sdcard: R-Car/Boards/CCPF-SK/GettingStarted#Prepare_SD_card
    Create SD card and boot Yocto BSP.
    For more detail information to boot Yocto,
    please refer to the following pages:
  2. Run rootfs setup script
    Run following command on the board.
    wget https://elinux.org/images/3/38/Setup-rootfs.zip
    unzip Setup-rootfs.zip
    ./setup-rootfs.sh 20.04.4
    
    If you cannot download the script, please check that the board has network connection.
    setup-rootfs.sh(File:Setup-rootfs.zip)
    #!/bin/bash -eu
    
    UBUNTU_ROOTFS_NAME=ubuntu-base-20.04.4-base-arm64.tar.gz
    if [ $# -eq 1 ]; then
        UBUNTU_ROOTFS_NAME=ubuntu-base-$1-base-arm64.tar.gz
    fi
    
    MODULES_FILEPATH="$(ls /boot/modules-*.tgz)"
    UBUNTU_ROOT="/data"
    UBUNTU_VER=$(echo $UBUNTU_ROOTFS_NAME | cut -d 3 | cut -d. -f-2)
    UBUNTU_ROOTFS_URL=http://cdimage.ubuntu.com/ubuntu-base/releases/${UBUNTU_VER}/release/${UBUNTU_ROOTFS_NAME}
    USERNAME="ubuntu"
    
    if [ -e ${UBUNTU_ROOT}/etc/os-release ]; then
        echo "Ubuntu has been already installed." > /dev/kmsg
        exit 0
    fi
    if [ "`df | grep $UBUNTU_ROOT`" == "" ]; then
        echo "$UBUNTU_ROOT is not mounted."
        exit 0
    fi
    
    wget ${UBUNTU_ROOTFS_URL} -O /tmp/ubuntu.tar.gz
    tar -xf /tmp/ubuntu.tar.gz -C ${UBUNTU_ROOT}
    tar -xf ${MODULES_FILEPATH} -C ${UBUNTU_ROOT}
    
    cd /lib/modules/$(uname -r)/ && depmod -a
    
    mount -t proc none ${UBUNTU_ROOT}/proc
    mount -t sysfs none ${UBUNTU_ROOT}/sys
    mount -t devtmpfs none ${UBUNTU_ROOT}/dev
    
    NAMESERVER=$(cat /etc/resolv.conf | grep nameserver | head -n 1 | awk '{print $2}')
    
    DHCP_CONF="
    [Match]
    Name=eth0
    
    [Network]
    DHCP=ipv4
    "
    
    chroot "${UBUNTU_ROOT}" sh -c " \
        export DEBIAN_FRONTEND=noninteractive \
        && echo nameserver ${NAMESERVER} >/etc/resolv.conf \
        && apt update \
        && apt install -y apt-utils perl-modules \
        && apt install -y ubuntu-standard \
        && apt install -y vim net-tools ssh sudo tzdata rsyslog udev iputils-ping \
        && apt upgrade -y \
        && echo \"${DHCP_CONF}\" > /etc/systemd/network/01-eth0.network \
        && useradd -m -s /bin/bash -G sudo ${USERNAME} \
        && echo ${USERNAME}:${USERNAME} | chpasswd \
        && echo \"${USERNAME}   ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers \
        && systemctl enable systemd-networkd \
        && cp /usr/share/systemd/tmp.mount /etc/systemd/system/tmp.mount \
        && systemctl enable tmp.mount \
        && systemctl enable systemd-resolved \
        && rm /etc/resolv.conf \
        && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf \
        && echo 127.0.1.1 localhost.localdomain > /etc/hosts \
        && apt update \
        && exit \
    "
    
    echo "Ubuntu base rootfs has been installed."
    
    Note: If there is no dhcp server, please edit above script.
    Example:
    DHCP_CONF="
    [Match]
    Name=eth0
    
    [Network]
    Address=192.168.1.10/24
    Gateway=192.168.1.1
    DNS=8.8.8.8
    "
    
  3. Setup U-boot
    After executing script, reboot and edit bootargs to use mmcblk1p2 instead of mmcblk1p1.
  4. Boot
    Login to Ubuntu.
    • username: ubuntu
    • password: ubuntu

Known issues and limitations

See also R-Car/Boards/Yocto-Gen3#Known_issues_and_limitations.


Q&A site

https://community.renesas.com/automotive/r-car-h3-m3-cockpit/

FAQ site