mrreboot Posted December 9, 2013 Report Posted December 9, 2013 (edited) We’re always on the lookout for and interesting ARM hardware for Kali Linux. Whether it’s a Galaxy Note or a USB stick sized SS808, we want to see Kali run on it. You can therefore imagine our excitement, when we first laid our eyes on the Utilite pro.Utilite Pro is a quad core ARM cortex-A9 machine with up to 4 GB of RAM, up to 512 GB mSATA SSD, HDMI and DVI-D output, dual (2x) 1GB nics, a built in wireless card and 4 USB ports. And its fanless. With those type of specs, this little beauty was unlikely to skip our radars. We wanted Kali Linux on that baby, real bad.We took this opportunity to create and publish the Offensive Security Kali Linux contributed ARM images, and thought we’d demonstrate the use of these scripts, and show you how to get Kali linux on the Utilite Pro. From there, the options are endless.The Utilite Pro came with Ubuntu preinstalled. The first thing we wanted to do, is update the machines uBoot bootloader image, to allow for support of 1.8V microSD cards.root@utilite:~# apt-get install mtd-utilsroot@utilite:~# git clone https://github.com/offensive-security/kali-uboot-images.git ubootroot@utilite:~/uboot# ./cm-fx6-bootloader-update.shCompuLab CM-FX6 (Utilite) boot loader update utility 1.1 (Nov 25 2013)>> Checking for utilities...>> ...Done>> Board CPU: mx6q>> Board DRAM: 2gb>> Looking for boot loader image file: cm-fx6-u-boot-mx6q-2gb>> ...Found>> Looking for SPI flash: mtd0>> ...Found>> Current U-Boot version in SPI flash: U-Boot 2009.08-cm-fx6-0.87+tools (Oct 06 2013 - 13:46:27)>> New U-Boot version in file: (248K)>> Proceed with the update?1) Yes2) No#? Yes** Do not power off or reset your computer!!!>> Erasing SPI flash...Erasing 4 Kibyte @ bf000 -- 100 % complete>> ...Done>> Writing boot loader to the SPI flash..............>> ...Done>> Checking boot loader in the SPI flash....>> ...Done>> Boot loader update succeeded!root@utilite:~/uboot#Once that was done, we whipped out our Offensive Security Trusted Contributed ARM image scripts, and let our Utilite image builder script loose. On a separate 32 bit Kali Linux machine, we set up all the pre-requisites to build our ARM image, and make sure we have at least 10GB of free space. We start with downloading and setting up the ARM cross compiler and the build scripts:root@builder:~# git clone https://github.com/offensive-security/kali-arm-build-scripts.gitCloning into 'kali-arm-build-scripts'...remote: Counting objects: 95, done.remote: Compressing objects: 100% (57/57), done.remote: Total 95 (delta 62), reused 70 (delta 37)Unpacking objects: 100% (95/95), done.root@builder:~# git clone https://github.com/offensive-security/gcc-arm-linux-gnueabihf-4.7.gitCloning into 'gcc-arm-linux-gnueabihf-4.7'...remote: Counting objects: 5839, done.remote: Compressing objects: 100% (3105/3105), done.remote: Total 5839 (delta 2559), reused 5837 (delta 2559)Receiving objects: 100% (5839/5839), 74.64 MiB | 3.38 MiB/s, done.Resolving deltas: 100% (2559/2559), done.root@builder:~#Once that’s done, we next run the build-deps scripts, which will install all the dependencies required for the build:root@builder:~# cd kali-arm-build-scripts/root@builder:~/kali-arm-build-scripts# ./build-deps.shReading package lists... DoneBuilding dependency tree Reading state information... Doneabootimg is already the newest version....Now with everything in place, we kick off our Utilite image builder script, and go for a coffee, or six. The script requires a version parameter for the image, which is something we use to tag our ARM image versions. Once ready, you should get a *full* Kali Linux image which can then be dd’ed to a microSD card. Of course, you are encouraged to read the build script, and edit any installation parameters or packages to your needs.root@builder:~/kali-arm-build-scripts# ./utilite.sh 1.0I: Retrieving ReleaseI: Retrieving Release.gpgI: Checking Release signatureI: Valid Release signature (key id 44C6513A8E4FB3D30875F758ED444FF07D8D0BF6)I: Retrieving PackagesI: Validating PackagesI: Resolving dependencies of required packages...I: Resolving dependencies of base packages............Cloning into 'firmware'...remote: Counting objects: 874, done.remote: Compressing objects: 100% (685/685), done.remote: Total 874 (delta 181), reused 849 (delta 167)Receiving objects: 100% (874/874), 30.17 MiB | 4.84 MiB/s, done.Resolving deltas: 100% (181/181), done.del devmap : loop0p2del devmap : loop0p1Removing temporary build filesGenerating sha1sum for kali-1.0-utilite.imgCompressing kali-1.0-utilite.imgGenerating sha1sum for kali-1.0-utilite.img.xzroot@builder:~/kali-arm-build-scripts#Once the image is ready, you can find it in the utlite subdirectory created by the script:root@builder:~/kali-arm-build-scripts# ls -l utilite-1.0/total 334720-rw-r--r-- 1 root root 63 Dec 7 23:48 kali-1.0-utilite.img.sha1sum-rw-r--r-- 1 root root 342742176 Dec 7 23:52 kali-1.0-utilite.img.xz-rw-r--r-- 1 root root 66 Dec 7 23:53 kali-1.0-utilite.img.xz.sha1sumroot@builder:~/kali-arm-build-scripts#Extract the compressed image file, and dd it to the microSD card (in our case, sdb). Once done, pop the microSD card into the Utilite, and boot it up!root@proxy:~/kali-arm-build-scripts# cd utilite-1.0/root@proxy:~/kali-arm-build-scripts/utilite-1.0# 7z x kali-1.0-utilite.img.xz7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)Processing archive: kali-1.0-utilite.img.xzExtracting kali-1.0-utilite.imgEverything is OkSize: 7340032000Compressed: 342742176root@proxy:~/kali-arm-build-scripts/utilite-1.0# dd if=kali-1.0-utilite.img of=/dev/sdb bs=1MOnce booted, you can log into the Utlite image with root / toor credentials. root@kali:~# uname -aLinux kali 3.0.35-cm-fx6-4 #1 SMP Sat Dec 7 23:47:48 EST 2013 armv7l GNU/Linuxroot@kali:~# cat /proc/cpuinfoProcessor : ARMv7 Processor rev 10 (v7l)processor : 0BogoMIPS : 790.52processor : 1BogoMIPS : 790.52processor : 2BogoMIPS : 790.52processor : 3BogoMIPS : 790.52Features : swp half thumb fastmult vfp edsp neon vfpv3CPU implementer : 0x41CPU architecture: 7CPU variant : 0x2CPU part : 0xc09CPU revision : 10Hardware : Compulab CM-FX6Revision : 63012Serial : 0b0991d4d81917c9root@kali:~# cat /proc/meminfoMemTotal: 2006440 kBMemFree: 1922864 kB....More info & buy: Home | UtiliteSource: Kali LinuxDocumentation Edited December 9, 2013 by kandykidd Quote