xref: /OK3568_Linux_fs/buildroot/support/testing/tests/package/test_dtbocfg.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunimport os
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunimport infra.basetest
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunclass TestDtbocfg(infra.basetest.BRTest):
7*4882a593Smuzhiyun    config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
8*4882a593Smuzhiyun        """
9*4882a593Smuzhiyun        BR2_LINUX_KERNEL=y
10*4882a593Smuzhiyun        BR2_LINUX_KERNEL_CUSTOM_VERSION=y
11*4882a593Smuzhiyun        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7"
12*4882a593Smuzhiyun        BR2_LINUX_KERNEL_USE_DEFCONFIG=y
13*4882a593Smuzhiyun        BR2_LINUX_KERNEL_DEFCONFIG="vexpress"
14*4882a593Smuzhiyun        BR2_PACKAGE_DTBOCFG=y
15*4882a593Smuzhiyun        BR2_TARGET_ROOTFS_CPIO=y
16*4882a593Smuzhiyun        # BR2_TARGET_ROOTFS_TAR is not set
17*4882a593Smuzhiyun        """
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun    def test_run(self):
20*4882a593Smuzhiyun        img = os.path.join(self.builddir, "images", "rootfs.cpio")
21*4882a593Smuzhiyun        kernel = os.path.join(self.builddir, "images", "zImage")
22*4882a593Smuzhiyun        kernel_cmdline = ["console=ttyAMA0"]
23*4882a593Smuzhiyun        dtb = infra.download(self.downloaddir, "vexpress-v2p-ca9.dtb")
24*4882a593Smuzhiyun        options = ["-M", "vexpress-a9", "-dtb", dtb, "-initrd", img]
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun        self.emulator.boot(arch="armv7", kernel=kernel,
27*4882a593Smuzhiyun                           kernel_cmdline=kernel_cmdline,
28*4882a593Smuzhiyun                           options=options)
29*4882a593Smuzhiyun        self.emulator.login()
30*4882a593Smuzhiyun        self.assertRunOk("modprobe dtbocfg.ko")
31*4882a593Smuzhiyun        self.assertRunOk("mkdir /tmp/config && mount -t configfs none /tmp/config")
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun        # Check that overlays directory is present.
34*4882a593Smuzhiyun        # From dtbocfg site (https://github.com/ikwzm/dtbocfg):
35*4882a593Smuzhiyun        #   If /config/device-tree/overlays is created, it is ready to use
36*4882a593Smuzhiyun        #   dtbocfg
37*4882a593Smuzhiyun        self.assertRunOk("ls /tmp/config/device-tree/overlays/")
38