1*4882a593SmuzhiyunIntroduction 2*4882a593Smuzhiyun============ 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunArmadeus APFxx are Systems On Module (SOM) based on Freescale/NXP i.MX 5*4882a593Smuzhiyunprocessors associated with an FPGA (except on APF28). Non volatile 6*4882a593Smuzhiyundata are stored in on-module NOR or NAND Flash, depending on the 7*4882a593Smuzhiyunmodel. These SOM can be used on Armadeus development boards or with 8*4882a593Smuzhiyuncustom docking boards. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSupported platforms 11*4882a593Smuzhiyun=================== 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunBuildroot currently supports the following Armadeus platforms with the 14*4882a593Smuzhiyunassociated defconfigs: 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun * APF27 SOM + devt board -> armadeus_apf27_defconfig 17*4882a593Smuzhiyun * APF51 SOM + devt board -> armadeus_apf51_defconfig 18*4882a593Smuzhiyun * APF28 SOM + devt board -> armadeus_apf28_defconfig 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunVanilla Linux versions are preferred to Freescale's one in these 21*4882a593Smuzhiyunconfigurations. 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunHow to build it 24*4882a593Smuzhiyun=============== 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunConfigure Buildroot 27*4882a593Smuzhiyun------------------- 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunLet's say you own an APFxx SOM with it's corresponding development 30*4882a593Smuzhiyunboard, all you have to do is: 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun $ make armadeus_apfxx_defconfig 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunwhere "apfxx" is the version of your SOM. 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunLaunch build 37*4882a593Smuzhiyun------------ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun $ make 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunResult of the build 42*4882a593Smuzhiyun------------------- 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunWhen the build is finished, you will end up with: 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun output/images/ 47*4882a593Smuzhiyun +-- imx**-apfxxdev.dtb [1] 48*4882a593Smuzhiyun +-- rootfs.tar 49*4882a593Smuzhiyun +-- rootfs.ubi 50*4882a593Smuzhiyun +-- rootfs.ubifs 51*4882a593Smuzhiyun +-- uImage 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun[1] Only if the kernel version used uses a Device Tree. 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunBuilding U-Boot is currently not supported in these configurations. 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunInstallation 58*4882a593Smuzhiyun============ 59*4882a593Smuzhiyun 60*4882a593SmuzhiyunYou will require a serial connection to the board and a TFTP server on 61*4882a593Smuzhiyunyour Host PC. Assuming your server is configured for exporting 62*4882a593Smuzhiyun/tftpboot/ directory, you will have to copy the generated images to 63*4882a593Smuzhiyunit: 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun $ cp output/images/uImage /tftpboot/apfxx-linux.bin 66*4882a593Smuzhiyun $ cp output/images/*.dtb /tftpboot/ 67*4882a593Smuzhiyun $ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunwhere "apfxx" is the version of your SOM, as used with _defconfigs. 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunThen on your serial terminal, all you have to do is: 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun* interrupt the boot process and access U-Boot console by pressing any 74*4882a593Smuzhiyun key when booting, 75*4882a593Smuzhiyun* configure board and server IP addresses with "ipaddr" and "serverip" 76*4882a593Smuzhiyun environment variables, 77*4882a593Smuzhiyun* if you want to update kernel: 78*4882a593Smuzhiyun BIOS > run update_kernel 79*4882a593Smuzhiyun* if you want to update device tree: 80*4882a593Smuzhiyun BIOS > run update_dtb 81*4882a593Smuzhiyun* if you want to update rootfs: 82*4882a593Smuzhiyun BIOS > run update_rootfs 83*4882a593Smuzhiyun 84*4882a593SmuzhiyunThat's it ! 85