Install Debian 8 Jessie Rootfs on NXP i.MX6ULL EVK board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Install Debian 8 Jessie Rootfs on NXP i.MX6ULL EVK board

No ratings

Install Debian 8 Jessie Rootfs on NXP i.MX6ULL EVK board

Revisions

Revisions

Description

Details

V1.0

Initial version

 

V1.2

Make a little update

1. Modify the path of the toolchain

2. Remove the command: make menuconfig

3. Modify the path of folder "out" in some commands

 

Hardware Requirement

  • PC Host: Ubuntu for compiling, Windows for downloading and debugging
  • Target: i.MX6ULL 14x14 EVK with LCD or HDMI
  • TF card
  • USB cables for console and download
  • Power adapter

Overview

Ubuntu uses the same packaging management system (deb and apt) and with each development cycle pulls in the latest packages from Debian and then adapts them to Ubuntu specifics and adds more features and patches where necessary. They also push changes back to Debian and often developers are Ubuntu and Debian developers. Both of them have a nice UI and can install softwares easier than Yocto. The purpose of this doc is to install the Debian 8 Jessie Rootfs on NXP i.MX6ULL EVK Board.

The doc contains several steps as following:

   1. Download and compile the u-boot, kernel and dtb.

   2. Get and modify the linaro rootfs.

   3. Download all things to the SD card via MfgTool.

   4. Run the Debian 8 Jessie in the board.

  1. Download and compile the u-boot, kernel and dtb.

   a. Download the toolchain

cd ~/

wget -c https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro...

mkdir toolchain

tar xvf gcc-linaro-6.3.1-2017.02-i686_arm-linux-gnueabihf.tar.xz -C toolchain/ --strip-components 1

export ARCH=arm

export CROSS_COMPILE=../toolchain/bin/arm-linux-gnueabihf-

mkdir out

   b. Download and make the u-boot

cd ~/

wget -c http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/snapshot/uboot-imx-imx_v2016.03_4.1.15_2.0.0...

mkdir uboot-imx

tar jxvf uboot-imx-imx_v2016.03_4.1.15_2.0.0_ga.tar.bz2 -C uboot-imx/ --strip-components 1

cd uboot-imx

make mx6ull_14x14_evk_defconfig

make

   c. Download and make the kernel and dtb

cd ~/

wget -c http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/snapshot/linux-imx-imx_4.1.15_2.0.0_ga.tar.b...

mkdir linux-imx

tar jxvf linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2 -C linux-imx/ --strip-components 1

cd linux-imx

vi arch/arm/configs/imx_v7_defconfig

Add a line “CONFIG_FHANDLE=y” in the file to prevent the error when boot into rootfs.

******************************************************************************

Note: If you want to use the HDMI port instead of LCD to output the screen,

you should modify the file /arch/arm/boot/dts/imx6ull-14x14-evk.dts to add a child node in &i2c2 :

sii902x: sii902x@39 {

        compatible = "SiI,sii902x";

        pinctrl-names = "default";

        interrupt-parent = <&gpio2>;

        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

        mode_str ="1280x720M@60";

        bits-per-pixel = <16>;

        reg = <0x39>;

        status = "okay";

};

0.png

******************************************************************************

make imx_v7_defconfig

make -j4 zImage dtbs

   d. Copy the u-boot, kernel and dtb to a folder

cd ~/

sudo cp uboot-imx/u-boot.imx  out/

sudo cp linux-imx/arch/arm/boot/zImage  out/

sudo cp linux-imx/arch/arm/boot/dts/imx6ull-14x14-evk.dtb  out/

  1. Get and modify the linaro rootfs.

cd ~/

wget -c https://releases.linaro.org/debian/images/alip-armhf/16.04/linaro-jessie-alip-20160428-22.tar.gz

mkdir rootfs

tar xvf linaro-jessie-alip-20160428-22.tar.gz -C rootfs/ --strip-components 1

cd rootfs

tar jcvf linaro-jessie-alip-20160428-22.tar.bz2 ./*

sudo mv linaro-jessie-alip-20160428-22.tar.bz2  ../out

Now the uboot, kernel, dtb and rootfs are ready in folder ~/out/!

 

  1. Download all things to the SD card via MfgTool.

Download the MfgTool in:

http://www.nxp.com/products/automotive-products/microcontrollers-and-processors/arm-mcus-and-mpus/i....

Select the “IMX6_L4.1.15_2.0.0_MFG-TOOL” and download.

1.png

Extract “L4.1.15_2.0.0-ga_mfg-tools.tar.gz” to Windows, and then extract again the “mfgtools-with-rootfs.tar.gz” to <your path>/mfgtools/.

You should rename the files in the folder ~/out/ and copy to the path <your path>/mfgtools/Profiles/Linux/OS Firmware/files/ to replace the original files:

u-boot.imx -> u-boot-imx6ull14x14evk_sd.imx

zImage -> zImage

imx6ull-14x14-evk.dtb -> zImage-imx6ull-14x14-evk.dtb

linaro-jessie-alip-20160428-22.tar.bz2 -> rootfs_nogpu.tar.bz2

2.png

Switch the SW602 in i.MX6ULL EVK board to D1: off, D2: on, insert the TF card in slot SD2 and power on the board.

Connect the board with PC by two micro-USB to USB cables(one is for downloading and another is for watching log)

Finally, open the script “mfgtool2-yocto-mx-evk-sdcard-sd2.vbs” in the <your path>/mfgtools/.3.png

When the “HID-compliant device” shows then click “Start”.

 4.png

If the processing is done, all things have been download to the board and you can go to the next step.

  1. Run the Debian 8 Jessie in the board.

The following table shows the DIP switch settings for booting from the TF slot.

Switch

D1

D2

D3

D4

SW601

OFF

OFF

ON

OFF

SW602

ON

OFF

-

-

 

Then power on the board and the logs will show in the serial console. Debian 8 will automatic login to root.

******************************************************************************

Note: If you want to use the HDMI port instead of LCD to output the screen,

you should press any key when the log: Hit any key to stop autoboot shows and change the bootargs like following example:

setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M

saveenv

5.png

******************************************************************************

When inputting “startx &” in serial console, the alip GUI will appear in the screen.

6.png 

7.jpg

You can also use command ”apt-get” to install softwares(E.g. Firefox as following).

8.png

9.jpg

******************************************************************************

Note: If you have issues with “sudo” on user UID, need to execute the following commands:

root@linaro-alip:~# chown root:root /usr/bin/sudo

root@linaro-alip:~# chmod 4755 /usr/bin/sudo

root@linaro-alip:~# chown root:root /usr/lib/sudo/sudoers.so

root@linaro-alip:~# chown root:root /etc/sudoers

root@linaro-alip:~# chown root:root /etc/sudoers.d/

root@linaro-alip:~# chown root:root /etc/sudoers.d/README

 

Note: If you have issues with “su” from user to root, need to execute the following commands:

root@linaro-alip:~# chown root:root /bin/su

root@linaro-alip:~# chmod 4755 /bin/su

 

Note: If you want to disable the warning window “Failed to apply network settings” after executing command “startx &”, you should deactive the Bluetooth:

root@linaro-alip:~# sudo systemctl stop bluetooth.service

root@linaro-alip:~# sudo systemctl disable bluetooth.service

******************************************************************************

Labels (1)
Tags (2)
Comments

A few things I noticed. I didn't realize but apparantly if you close the terminal window during any of this you have to do 

export ARCH=arm

export CROSS_COMPILE=../toolchain/bin/arm-linux-gnueabihf-

once again, otherwise it will try to use x86 (not sure about the cross compile thing).

as of the time of writing this comment (1-feb-2018), the given toolchain is no longer valid as there is a newer version.  in the toolchain wget command, i replaced "gcc-linaro-6.3.1-2017.02-i686_arm-linux-gnueabihf.tar.xz" with "gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabihf.tar.xz" and then of course ran the tar command on that file.

also, i got fatal error, couldn't find curses.h when i tried "make menuconfig".  hopefully i did the right thing which was to run "sudo apt-get install libncurses5-dev libncursesw5-dev".  and additionally, a window popped up about linux config, and i didn't see any instructions here on what to do there so i just selected exit then ran "make menuconfig".

i'm not a linux developer at all, but so far these instructions have been very straightforward.  I'm typing this as the make menuconfig is running.

Hi Luberger,

1. If you close the terminal window in the midway, you should exactly type the commands following again.

export ARCH=arm

export CROSS_COMPILE=../toolchain/bin/arm-linux-gnueabihf-

2. I have updated the path of the toolchain in wget command. You may also use the lastest one.

3. I have removed the "make menuconfig" command in this doc. Sorry for confused.

All the best

Kane

Kane,

Why did you remove "make menuconfig"? Isn't the window that pops up what allows me to make changes to the kernel settings? I realize most of it I don't need to mess with, but I was looking for a way to change the boot logo (and the splash screen maybe) and my understanding was that it has to be specified here. Or do I just pick the logo ppm file imx_v7_defconfig ?  So far I haven't seen a good instruction anywhere on changing the boot appearance, but it appears a C code file must be created and compiled in the /drivers/video/boot or some such location.  Could you comment on this?

Also, when moving files to the "out" folder, you say "cd ~/" then "cp <filename> ../out" (note 2 dots) but you had us create the "out" folder at ~/ in an earlier step, so I ended up with a file called "out" in the home directory.  so i think the command should be one less "dot" for the out location.

Hi Luberger,

I remove the "make menuconfig" because no operation has been done after the command in the doc. If you want to change the default configuration you can type in the command and do the change.

If you want to change the logo, I think you may try making a new .ppm file and replace the logo_linux_clut224.ppm file in linux-imx/drivers/video/logo.

I have update the doc about the "../out" problem, thanks for pointing out.

All the best

Kane

The main thing I can't find or figure out is how to access i.mx6ULL API's that are present in the yocto project.  Where are things like "/drivers/pinctrl/pinctrl-imx6ul.c"? I don't even have a "drivers" folder on the device.

Do you mean /drivers/pinctrl/freescale/pinctrl-imx6ul.c ?

Yes that's one of them. What I'm saying is none of those API files are on the target device. I see the "drivers" folder on the Ubuntu vbox drive, but there is no "drivers" on the target.  I followed the instructions for the build exactly (except for typos we discussed), but there is no drivers folder.  I can see the drivers folder clear as day in "linux-imx" folder that was created during the step of downloading the kernel. i haven't looked for other folders, but the drivers folder definitely isn't present on the device.

My Ubuntu in VirtualBox didn't have a "driver" folder which as same as the target. Have you done some special configuration for you ubuntu?

it came with the kernel that was download from the git source.  In the "linux-imx" folder you have us create and where the kernel is unzipped, there is a folder called "drivers".  This contains all the APIs that a referred to by the i.mx6 linux manual. All of those folders I think ultimately end up in the zImage compressed kernel that's flashed to the target, but then once i boot into linux on the target, that folder isn't present and so I have no i.mx6 APIs for interacting with the hardware.

The APIs in "drivers" folder are available for kernel space instead of user space. So there is no "drivers" folder in the target.

But the APIs in /include/uapi/ in "linux-imx" folder are for user space. They are located at /usr/include/ on the target.

Unfortunately this is all done on my work computer so I don't have access to take a look, but I did specifically try searching for the C files referenced in the i.mx6ull linux manual, and couldn't find any of them on the target.  Regardless, are you saying that in the /usr/include folder on the target I'll find C-code headers and .c files that will allow me to write applications in C that can control/use the GPIO, SPI, I2C, and other microcontroller (i.mx6ull) peripherals? If so, are there any examples of that? Because that's exactly what I'd need to do a custom application that uses the microcontroller peripherals (presumably that can run faster than using sysfs such as writing to file system files that then activate or setup the peripherals like "echo 1 > gpio1" etc.).

There is no .c files but .h files in /usr/include. You can google how to write application in linux.

E.g. Interfacing with I2C Devices - eLinux.org 

The wiki article you give appears to use sysfs (writing to i/o "files" as the means of communicating with devices).  This is the same as what I was running into with GPIO. The problem with this, to me, is that it's letting the kernel act as a man-in-the-middle with the hardware.  What I'm looking to do (as the i.mx6 linux manual shows) is to directly interact with the hardware, completely bypassing the kernel, the same as if i were writing c-code for a microcontroller.  The .c/.h APIs are provided in the kernel that's downloaded in your instructions, so i don't understand why those aren't making it into the build.  Using sysfs is exactly what I was trying to avoid.  It's great for hobbyists and people wanting to test things out, but I need a full-blown hardware "server" written in c or c++ so that my UI can use a library to access the hardware directly. I realize there are versions of linux that do a better job of this, but the whole point of all this is having everything run on debian so that i can install other ancillary software, like Mono for my UI's, more easily with apt-get (repository).

It seems that there is no hardware peripheral API in user space (device target).

You may need to use POSIX standard to develop your application.

By the way, which versions of linux contains the hardware peripheral API library in the target?

I'm not sure what the posix standard is.

i don't know what versions have the hardware api's, but based on the NXP-provided linux documentation, it's whatever version is meant to be installed via the Yocto project.

Posix standard programming mainly use open(), read() and write() system calls. 

One doc you can refer to: Linux system programming: Open file, read file and write file | TechyTalk 

Yocto project is used by NXP for linux system. But I doubt about the hardware api's details on the target in any doc.

So which doc and chapter do you find provide information about that?

I'm referring to the document "i.MX Linux Reference Manual", NXP document number IMXLXRM which I found through the NXP website. it has a 2017 date so I assumed it was still applicable.  Also, as I said, all of the APIs that I searched for (i.e., the C code files) that are referenced in this manual can be found in the "Drivers" folder in the kernel downloaded that you specify here in these instructions.  Also, it says on the first page of the manual "This document is targeted to individuals who will port the i.MX Linux® OS Board Support Package (BSP) to customer-specific products."  It mentions files being located in the "yocto build directory" but like I said, these APIs do appear in the kernel files you specify for download.

The doc is used for porting Linux OS to your own board instead of writing your application. The driver APIs are available in kernel space instead of user space. 

In other words, you can use the driver APIs like a kernel BSP developer, then build a new kernel and download the image to your target. You can not use the driver APIs like a user of Linux OS.

It's been a while since I ran through this, but something I think I encountered previously is that you say to place the files for mfgtool in the "<yourpath>/mfgtools/Profiles/Linux/OS Firmware/files/" and yet the mfg tool seems to be looking in the "<yourpath>/mfgtools/Profiles/Linux/OS Firmware/firmware" folder.  I came back to these instructions because for some reason I'm getting errors like error writing to device, etc. or mfgtool is simply hanging up and not proceeding.  another issue is something it will say "jumping to OS image" and then the usb disconnects and i see in the console that it seems the board resets and some kind of OS loads and hangs there. eventually the progress bar goes red and i get a "PUSH" error saying it failed to write a file.

No. It is exactly <yourpath>/mfgtools/Profiles/Linux/OS Firmware/files/. The images in firmware folder are used for running initramfs instead of rootfs in the sdcard (in files folder). You can read the <yourpath>/mfgtools/Profiles/Linux/OS Firmware/ucl2.xml for a reference.

I'm getting errors like error writing to device, etc. or mfgtool is simply hanging up and not proceeding.  another issue is something it will say "jumping to OS image" and then the usb disconnects and i see in the console that it seems the board resets and some kind of OS loads and hangs there. eventually the progress bar goes red and i get a "PUSH" error saying it failed to write a file.

Any idea what could be causing these issues if my files are in the right locations and I'm running the correct script?

Have you forgotten to insert a TF card to the SD2 slot in the SOM board?

Or have you covered any image in <yourpath>/mfgtools/Profiles/Linux/OS Firmware/firmware/ with images you built?

I don't believe I did, but I'm going to create a fresh copy of the mfgtool from the gz download just to be sure.

How does the GUI perform in this setup? i.MX6ULL does not have a GPU so GPU acceleration must be out of question.

GUI runs fine. GPU acceleration isn't needed for simple 2D menus and pre-rerendered graphics. The memory footprint of X11 and the gnome desktop aren't that big either.

I understand. Thanks for the information.

Hello everyone ,
i am new to linux and nxp
I would like to know what needs to be changed to build debian8 rootfs on IMX7Dual saber-sd
could someone help me?
thank you

jovi

hi,

my host is ubuntu 1604. i did the download and compile according to your steps. i can generate all bin files and flash them into imx6ull-evk board. but during the next boot, kernel crash with the following msg.

8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
Unable to handle kernel paging request at virtual address ee4dd000
pgd = 80004000
[ee4dd000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.15 #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 80b8f8f0 ti: 80b8a000 task.ti: 80b8a000
PC is at rcu_idle_exit+0x20/0xa8
LR is at rcu_idle_exit+0x10/0xa8
pc : [<80079650>] lr : [<80079640>] psr: 20000193
sp : 80b8bf70 ip : 01000000 fp : 00000000
r10: 00000001 r9 : 80b8bf90 r8 : 60000113
r7 : 00000000 r6 : 8080c8e8 r5 : 0afad000 r4 : e3530000
r3 : 80b8c6bc r2 : 00000001 r1 : 809fc3fc r0 : 00000000
Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 8000406a DAC: 00000015
Process swapper/0 (pid: 0, stack limit = 0x80b8a210)
Stack: (0x80b8bf70 to 0x80b8c000)
bf60: 80b8a000 80b8c5a4 8080c8e8 00000000
bf80: 00000000 80b8bf90 00000001 80066150 80b77408 80b85300 80b87e88 80b8c6bc
bfa0: 80bf89a8 80b8c5ac 80b88800 80805a48 00000000 ffffffff 00000000 80b1cc60
bfc0: ffffffff ffffffff 80b1c674 00000000 00000000 80b77408 80bfb294 80b8c540
bfe0: 80b77404 80b909f4 8000406a 410fc075 00000000 8000807c 00000000 00000000
[<80079650>] (rcu_idle_exit) from [<80066150>] (cpu_startup_entry+0x234/0x318)
[<80066150>] (cpu_startup_entry) from [<80b1cc60>] (start_kernel+0x39c/0x3a8)
[<80b1cc60>] (start_kernel) from [<8000807c>] (0x8000807c)
Code: e30c36bc e59f4088 e34830b8 e7935100 (e18460d5)
---[ end trace ac8558de890b6274 ]---
Kernel panic - not syncing: Attempted to kill the idle task!
---[ end Kernel panic - not syncing: Attempted to kill the idle task!

Post the entire boot log, from the beginning. you're not showing the u-boot messages nor most of the kernel bring-up.

here is the whole log from boot. 

U-Boot 2016.03 (Mar 24 2019 - 21:36:01 -0400)

CPU: Freescale i.MX6ULL rev1.0 at 396MHz
CPU: Commercial temperature grade (0C to 95C) at 41C
Reset cause: POR
Board: MX6ULL 14x14 EVK
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc1 is current device
Net: FEC1
Normal Boot
Hit any key to stop autoboot: 3     2     1     0
switch to partitions #0, OK
mmc1 is current device
switch to partitions #0, OK
mmc1 is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
6705288 bytes read in 303 ms (21.1 MiB/s)
Booting from mmc ...
reading imx6ull-14x14-evk.dtb
35969 bytes read in 21 ms (1.6 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x665088 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300bc80

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15 (weji@weji-VirtualBox) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02) ) #1 SMP PREEMPT Sun Mar 24 22:01:56 EDT 2019
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 ULL 14x14 EVK Board
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb32000 s16908 r8192 d24052 u49152
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 178564K/524288K available (8413K kernel code, 443K rwdata, 2928K rodata, 440K init, 450K bss, 18044K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80b1b700 (11342 kB)
.init : 0x80b1c000 - 0x80b8a000 ( 440 kB)
.data : 0x80b8a000 - 0x80bf8c20 ( 444 kB)
.bss : 0x80bfb000 - 0x80c6b880 ( 451 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Additional per-CPU info printed with stalls.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082d8
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
device-tree: Duplicate name in lcdif@021c8000, renamed to "display#1"
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.20
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
backlight supply power not found, using dummy regulator
MIPI DSI driver module loaded
MIPI DSI driver module loaded
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
Console: switching to colour frame buffer device 60x34
mxsfb 21c8000.lcdif: initialized
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 18, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 235, base_baud = 5000000) is a IMX
imx-rng 2284000.rngb: iMX RNG Registered.
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
fsl-quadspi 21e0000.qspi: n25q256a (32768 Kbytes)
spi_gpio spi4: gpio-miso property not found, switching to no-rx mode
CAN device driver interface
flexcan 2090000.can: device registered (reg_base=a09f8000, irq=27)
flexcan 2094000.can: device registered (reg_base=a0a00000, irq=28)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet eth1: registered PHC device 1
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
input: iMX6UL TouchScreen Controller as /devices/platform/soc/2000000.aips-bus/2040000.tsc/input/input1
input: FreescaleAccelerometer as /devices/virtual/input/input2
fxls8471 device driver probe successfully
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2: initialized
0-000e supply vdd not found, using dummy regulator
0-000e supply vddio not found, using dummy regulator
mag3110 0-000e: check mag3110 chip ID
input: mag3110 as /devices/virtual/input/input3
mag3110 0-000e: mag3110 is probed
imx2-wdt 20bc000.wdog: use WDOG_B to reboot.
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: could not get ultra high speed state, work on normal mode
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
fsl-asrc 2034000.asrc: driver registered
mmc1: host does not support reading read-only switch, assuming write-enable
mmc1: new high speed SDHC card at address 0001
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmcblk1: mmc1:0001 SD16G 14.5 GiB
imx-wm8960 sound: snd-soc-dummy-dai <-> 2034000.asrc mapping ok
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmcblk1: p1 p2
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
kthreadd invoked oom-killer: gfp_mask=0x2000d0, order=1, oom_score_adj=0
Unable to handle kernel paging request at virtual address 7d5d2e2a
pgd = 80004000
[7d5d2e2a] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 22 Comm: kswapd0 Not tainted 4.1.15 #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 88126600 ti: 881c6000 task.ti: 881c6000
PC is at 0x7d5d2e2a
LR is at 0x7d5d2e2b
pc : [<7d5d2e2a>] lr : [<7d5d2e2b>] psr: a00001b3
sp : 881c7dec ip : 00000000 fp : 88126648
r10: 00000001 r9 : 00000001 r8 : 0000bd2a
r7 : 8bb35840 r6 : 8bb35800 r5 : 8bb35800 r4 : 88126600
r3 : 00000000 r2 : 000007d5 r1 : 00000000 r0 : 3ffffffe
Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA Thumb Segment kernel
Control: 10c53c7d Table: 8000406a DAC: 00000015
Process kswapd0 (pid: 22, stack limit = 0x881c6210)
Stack: (0x881c7dec to 0x881c8000)
7de0: 88126600 8bb35800 8bb35800 8bb35840 8005e9c4
7e00: 0000004b 00000000 8bb35800 88126600 00000001 88126648 881268ac 00000001
7e20: 8bb35800 80053854 8bb35800 80b88800 8bb35800 88126600 00000000 80b8c6bc
7e40: 881268ac 00000001 881c7e84 80805334 80b9a9f0 80c491c8 00000000 80b85340
7e60: 80c40440 881c6000 80c40440 80c40440 881c7e9c 80b8c100 00000000 00000001
7e80: 881c7e94 80805690 ffff8bab 80c40440 00000000 8080802c a0000113 80c409b4
7ea0: 80c409b4 ffff8bab 80c40440 8007c6a8 88126600 ffffffff 80bf88bc 80bf88bc
7ec0: 80bf88c8 80bf88cc 00000000 00000001 00000000 800bf7b4 00000000 8bb35800
7ee0: 00000001 0000042a 881c7f1c 80bf7a40 00000000 286bca1b 00000001 00000001
7f00: 51eb851f 80c403f0 00000000 881c7ed8 881c6000 88126600 00000000 00000000
7f20: 88126600 80065cdc 80bf88c0 80bf88c0 0000000b 00000007 00000000 00000000
7f40: 800bf02c 00000000 881bae00 80bf7a40 800bf02c 00000000 00000000 00000000
7f60: 00000000 8004f0f0 881d76a0 00000000 80b88800 80bf7a40 00000000 00000000
7f80: 881c7f80 881c7f80 00000000 00000000 881c7f90 881c7f90 881c7fac 881bae00
7fa0: 8004f014 00000000 00000000 8000f4a8 00000000 00000000 00000000 00000000
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 e1a03185 e1a01002
Code: bad PC value ---[ end trace 71aea37a519abfaa ]---
note: kswapd0[22] exited with preempt_count 2

hi david,

here is the complete log from boot.  what's your host env when you build debian for imx6ull-evk. actually i downloaded the tar files and do exactly to the above instructions. there is no error during compile. but kernel crash during run.

U-Boot 2016.03 (Mar 24 2019 - 21:36:01 -0400)

CPU: Freescale i.MX6ULL rev1.0 at 396MHz
CPU: Commercial temperature grade (0C to 95C) at 41C
Reset cause: POR
Board: MX6ULL 14x14 EVK
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc1 is current device
Net: FEC1
Normal Boot
Hit any key to stop autoboot: 3     2     1     0
switch to partitions #0, OK
mmc1 is current device
switch to partitions #0, OK
mmc1 is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
6705288 bytes read in 303 ms (21.1 MiB/s)
Booting from mmc ...
reading imx6ull-14x14-evk.dtb
35969 bytes read in 21 ms (1.6 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x665088 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300bc80

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15 (weji@weji-VirtualBox) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02) ) #1 SMP PREEMPT Sun Mar 24 22:01:56 EDT 2019
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 ULL 14x14 EVK Board
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb32000 s16908 r8192 d24052 u49152
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 178564K/524288K available (8413K kernel code, 443K rwdata, 2928K rodata, 440K init, 450K bss, 18044K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80b1b700 (11342 kB)
.init : 0x80b1c000 - 0x80b8a000 ( 440 kB)
.data : 0x80b8a000 - 0x80bf8c20 ( 444 kB)
.bss : 0x80bfb000 - 0x80c6b880 ( 451 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Additional per-CPU info printed with stalls.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082d8
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
device-tree: Duplicate name in lcdif@021c8000, renamed to "display#1"
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.20
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
backlight supply power not found, using dummy regulator
MIPI DSI driver module loaded
MIPI DSI driver module loaded
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
Console: switching to colour frame buffer device 60x34
mxsfb 21c8000.lcdif: initialized
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 18, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 235, base_baud = 5000000) is a IMX
imx-rng 2284000.rngb: iMX RNG Registered.
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
fsl-quadspi 21e0000.qspi: n25q256a (32768 Kbytes)
spi_gpio spi4: gpio-miso property not found, switching to no-rx mode
CAN device driver interface
flexcan 2090000.can: device registered (reg_base=a09f8000, irq=27)
flexcan 2094000.can: device registered (reg_base=a0a00000, irq=28)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet eth1: registered PHC device 1
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
input: iMX6UL TouchScreen Controller as /devices/platform/soc/2000000.aips-bus/2040000.tsc/input/input1
input: FreescaleAccelerometer as /devices/virtual/input/input2
fxls8471 device driver probe successfully
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2: initialized
0-000e supply vdd not found, using dummy regulator
0-000e supply vddio not found, using dummy regulator
mag3110 0-000e: check mag3110 chip ID
input: mag3110 as /devices/virtual/input/input3
mag3110 0-000e: mag3110 is probed
imx2-wdt 20bc000.wdog: use WDOG_B to reboot.
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: could not get ultra high speed state, work on normal mode
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
fsl-asrc 2034000.asrc: driver registered
mmc1: host does not support reading read-only switch, assuming write-enable
mmc1: new high speed SDHC card at address 0001
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmcblk1: mmc1:0001 SD16G 14.5 GiB
imx-wm8960 sound: snd-soc-dummy-dai <-> 2034000.asrc mapping ok
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmcblk1: p1 p2
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
kthreadd invoked oom-killer: gfp_mask=0x2000d0, order=1, oom_score_adj=0
Unable to handle kernel paging request at virtual address 7d5d2e2a
pgd = 80004000
[7d5d2e2a] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 22 Comm: kswapd0 Not tainted 4.1.15 #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 88126600 ti: 881c6000 task.ti: 881c6000
PC is at 0x7d5d2e2a
LR is at 0x7d5d2e2b
pc : [<7d5d2e2a>] lr : [<7d5d2e2b>] psr: a00001b3
sp : 881c7dec ip : 00000000 fp : 88126648
r10: 00000001 r9 : 00000001 r8 : 0000bd2a
r7 : 8bb35840 r6 : 8bb35800 r5 : 8bb35800 r4 : 88126600
r3 : 00000000 r2 : 000007d5 r1 : 00000000 r0 : 3ffffffe
Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA Thumb Segment kernel
Control: 10c53c7d Table: 8000406a DAC: 00000015
Process kswapd0 (pid: 22, stack limit = 0x881c6210)
Stack: (0x881c7dec to 0x881c8000)
7de0: 88126600 8bb35800 8bb35800 8bb35840 8005e9c4
7e00: 0000004b 00000000 8bb35800 88126600 00000001 88126648 881268ac 00000001
7e20: 8bb35800 80053854 8bb35800 80b88800 8bb35800 88126600 00000000 80b8c6bc
7e40: 881268ac 00000001 881c7e84 80805334 80b9a9f0 80c491c8 00000000 80b85340
7e60: 80c40440 881c6000 80c40440 80c40440 881c7e9c 80b8c100 00000000 00000001
7e80: 881c7e94 80805690 ffff8bab 80c40440 00000000 8080802c a0000113 80c409b4
7ea0: 80c409b4 ffff8bab 80c40440 8007c6a8 88126600 ffffffff 80bf88bc 80bf88bc
7ec0: 80bf88c8 80bf88cc 00000000 00000001 00000000 800bf7b4 00000000 8bb35800
7ee0: 00000001 0000042a 881c7f1c 80bf7a40 00000000 286bca1b 00000001 00000001
7f00: 51eb851f 80c403f0 00000000 881c7ed8 881c6000 88126600 00000000 00000000
7f20: 88126600 80065cdc 80bf88c0 80bf88c0 0000000b 00000007 00000000 00000000
7f40: 800bf02c 00000000 881bae00 80bf7a40 800bf02c 00000000 00000000 00000000
7f60: 00000000 8004f0f0 881d76a0 00000000 80b88800 80bf7a40 00000000 00000000
7f80: 881c7f80 881c7f80 00000000 00000000 881c7f90 881c7f90 881c7fac 881bae00
7fa0: 8004f014 00000000 00000000 8000f4a8 00000000 00000000 00000000 00000000
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 e1a03185 e1a01002
Code: bad PC value ---[ end trace 71aea37a519abfaa ]---
note: kswapd0[22] exited with preempt_count 2

Hi wenchuan,

Do you use i.MX6ULL instead of i.MX6UL? Could you show the chip part number?

And have you done some rework about the EVK board?

> "*** Warning - bad CRC, using default environment"

You will always see this the first time you boot from a new sd card image. You have to run the command "saveenv" then "reset" (no quotes of course).

hi Kane,

i use nxp mcimx6ull-evk board without any hardware modification. the main chip is 'mcimx6y2dvm09aa-ctmf1709-0n70s-china gimfcta'.

after  i use mfgtool2-yocto-mx-evk-sdcard-sd2.vbs to download prebuild application, which is in L4.1.15_2.0.0-ga_mfg-tools.tar.gz. it works very well.

thanks

Hi wenchuan,

You can use the default uboot, zImage and dtb file in MFGTool and jessie rootfs your build for a trial.

hi Kane,

if i only copy my debian jessie's rootfs to mfg dir, it can run and show the following msg.

EXT3-fs (mmcblk1p2): using internal journal
EXT3-fs (mmcblk1p2): recovery complete
EXT3-fs (mmcblk1p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 428K (80ae7000 - 80b52000)
systemd[1]: Failed to insert module 'kdbus': Function not implemented
random: systemd urandom read with 26 bits of entropy available

Welcome to Debian GNU/Linux 8 (jessie)!

[ OK ] Reached target Remote File Systems (Pre).
[ OK ] Set up automount Arbitrary Executab...ats File System Automount Point.
[ OK ] Listening on Journal Socket.
[ OK ] Listening on udev Kernel Socket.

I think debian run well now. but how to generate its kernel? would you like give some advice.

Hi Wenchuan,

After you get the source code or imx_4.1.15_2.0.0_ga, you can do following to generate zImage and dtb:

export ARCH=arm

export CROSS_COMPILE=<your toolchain path>/toolchain/bin/arm-linux-gnueabihf-

make imx_v7_defconfig

make -j4

Hi Kane JIang;

          How does the rootfs make, Do you have detailed compilation steps?

Hi,

See chapter: Get and modify the linaro rootfs.

Is this required? Might this be the cause of the kernel OOPS?

Version history
Last update:
‎05-08-2017 04:26 AM
Updated by: