Here you can find instruction to setup development environment for ubuntu source code for RSC-IMX61 and the way to install ubuntu on system. With this guideline, user will be able to setup the system easily and test all the functions with the system.
RSC-IMX61 Quad core or Dual lite
Use command below to generate RSA Key :
#ssh-keygen -t rsa
You can find “id_rsa.pub” in path below. Please send it to us by email to get access right of Avalue GIT server.
#/home/username/.ssh/
#git clone gitlab@aes.avalue.com.tw:AIB-IMX6/AIB-IMX6-Kernel.git -b 3.0.35-4.0.0
To build U-Boot & kernel source code for RSC-IMX61, you will need to install following packages on Ubuntu. 64bit users have to make sure 32bit libraries has been installed for their system.
Distribution | packages (sudo apt-get update ; sudo apt-get install xxx) |
---|---|
Ubuntu 12.04 | ia32-libs u-boot-mkimage |
Ubuntu 14.04 | libc6:i386 libstdc++6:i386 libncurses5:i386 zlib1g:i386 u-boot-tools |
After you download source code from Avalue GIT server, you will find a folder named “AIB-IMX6-Kernel”. Here is description for each folder & files inside.
Item | Description |
---|---|
kernel | folder with kernel source code inside |
Makefile | Makefile for compile u-boot & kernel image |
u-boot | folder with u-boot souce code inside |
Use command below to compile u-boot & kernel
#make aib-imx6 -j4
Use command below to compile u-boot only
#make aib-imx6-uboot -j4
Use command below to compile kernel only
#make aib-imx6-kernel -j4
Use command below to clean all the binary files in source code
#make clean
After you finish to compile source code, you will find files below. Here are description for each files
Item | Description |
---|---|
u-boot-quad-2g.bin | u-boot for RSC-IMX61 Quad core with 2GB DDR3L memory |
u-boot-quad.bin | u-boot for RSC-IMX61 Quad core with 1GB DDR3L memory |
u-boot-solo.bin | u-boot for RSC-IMX61 Dual Lite with 1GB DDR3L memory |
uImage | kernel file for RSC-IMX61 |
You will have to copy image files to path \mfgtool-RSC-IMX61\Image\RSC-IMX6\Linux of your Mfgtool folder
To modify default setting for u-boot command, you can modify /AIB-IMX6-Kernel/u-boot/board/freescale/mx6_aib/mx6_aib.c
Please get into folder core/kernel and use command below to load default configuration of kernel and config it
Command | Description |
---|---|
#./run.sh aib-imx6 -j4 | Command to build kernel for RSC-IMX61 |
#./run.sh menuconfig | Command to setup kernel configuration |
#./run.sh modules | Command to build kernel modules |
#./run.sh clean | Command to clean binary files in kernel source code |
Please download Mfgtool(Ubuntu 12.04 armel) from here.
or
Download Mfgtool(Ubuntu 14.04 armhf) from here.
1. Set SW1 on RSC-IMX61 as below to download mode
2. Use mini-USB cable to connect JUSB1 on RSC-IMX61 to Windows system.
3. Run MFG-Helper.exe in path \mfgtool-RSC-IMX61\Mfg-RSC-IMX6 and do the setting as below to flash image file.
With RSC-IMX6D, setting of MFG-Helper.exe will be like this.
With RSC-IMX6Q, setting of MFG-Helper.exe will be like this.
Then Click “Start” to flash image
4. It will show “Done” after finishing the flash process. Please click “Stop” and “Exit” to close it.
5. Set SW1 as below to boot from eMMC
6. User name / Password of Ubuntu12.04 armel ⇒ linaro / linaro
User name / Password of Ubuntu14.04 armhf ⇒ ubuntu / ubuntu
Here is the procedure to create a bootable Micro SD card for RSC-IMX61D.
1. Plug in Micro SD card on card reader of your Linux development platform, and check device node of it by command “sudo fdisk -l”
As you can see below, device mode of my Micro SD card is “/dev/sdc1” (“/dev/sdc” means disk, “/dev/sdc1” means partition)
2. Use command below to umount /dev/sdc1 and install u-boot into Micro SD card.
#sudo umount /dev/sdc1 #sudo dd if=u-boot-solo.bin of=/dev/sdc bs=512 seek=2 skip=2 conv=fsync
3. Use command below to install kernel into Micro SD card.
sudo dd if=uImage of=/dev/sdc bs=512 seek=2048 conv=fsync
4. Copying the root File System (rootfs)
First, a partition table must be created. If a partition already exists and it is big enough for the file system you want to deploy, then you can skip this step. To create a partition, at offset 16384 (in sectors of 512 bytes) enter the following command:
#sudo fdisk /dev/sdc
Please note that On most Linux host operating systems, SD card will be mounted automatically upon insertion. Therefore, before running fdisk, please make sure that SD card is unmounted (via 'sudo umount /dev/sdc').
u [switch the unit to sectors instead of cylinders]
d [repeat this until no partition is reported by the 'p' command ]
n [create a new partition]
p [create a primary partition]
1 [the first partition]
16384 [starting at offset sector #16384, i.e. 8MB, which leaves enough space for the kernel, the boot loader and its configuration data]
<enter> [using the default value will create a partition that spans to the last sector of the medium]
w [ this writes the partition table to the medium and fdisk exits]
The file system format ext3 or ext4 is a good option for removable media due to the builtin journaling. Run the following command to format the partition:
#sudo mkfs.ext3 /dev/sdc1 Or #sudo mkfs.ext4 /dev/sdc1
Then mount the SD card partition and copy the target file system to it.
Mount partition to a folder :
#mkdir /home/user/mountpoint #sudo mount /dev/sdc1 /home/user/mountpoint
Extract rootfs package to Micro SD card: extract ubuntu.tar.bz2 (You can find this file in \mfgtool-RSC-IMX61\Image\Filesystem) to /home/user/mountpoint
#sudo tar jxvf ubuntu.tar.bz2 -C /home/user/mountpoint #sudo umount /home/user/mountpoint
5. Setup serial connection between RSC-IMX61 & Linux development platform.
Connect serial console of RSC-IMX61 to your Linux development platform. For example, we use “putty”. Here is my setting of serial port.
If you do not have putty with your system, use command below to install it.
#sudo apt-get install putty
Default serial console of RSC-IMX61 is JCOM1. Please use the way below to connect signals between Linux development platform and RSC-IMX61.
6. Modify bootloader setting to access rootfs on Micro SD card.
Plug the Micro SD card on RSC-IMX61D and set SW1 as below :
Power on RSC-IMX61 and press “enter” of Keyboard on your development platform immediately. You will see picture like below on putty.
Please use command below to boot from Micro SD :
MX6 DualLite AIB U-Boot >setenv bootargs_mmc 'setenv bootargs ${bootargs} ${network} root=/dev/mmcblk1p1 rootwait' MX6 DualLite AIB U-Boot >setenv linux_bootargs 'console=tty0 console=ttymxc0,115200 root=/dev/mmcblk1p1 rootwait rw fbmem=10M' MX6 DualLite AIB U-Boot >saveenv MX6 DualLite AIB U-Boot >boot
Then you will be able to boot from SD w/o problem.
You can also refer to original Linux BSP documentation from NXP here.