offensive-security / kali-arm-build-scripts

Kali Linux ARM build scripts
874 stars 374 forks source link

usbarmory wrong dts files #95

Closed scaery closed 6 years ago

scaery commented 7 years ago

PLS UP!

while building u will c what i am referring... have a look here!

https://github.com/inversepath/usbarmory/tree/master/software/kernel_conf

the old files remain in dts-4.8

example: wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/dts-4.8/imx53-usbarmory-common.dtsi -O arch/arm/boot/dts/imx53-usbarmory-common.dtsi

btw, pl0x up the u-boot too ;)

wget ftp://ftp.denx.de/pub/u-boot/u-boot-2017.03.tar.bz2

steev commented 7 years ago

Yep, will be pushing the latest soon (tm), moving to 4.10 kernel, and 2017.01 (not 03 yet)

scaery commented 7 years ago

This is my last working patch.

--- usbarmory.sh    2017-06-24 23:47:47.128975637 +0200
+++ usbarmory-patch.sh  2017-08-21 00:39:03.931912279 +0200
@@ -162,9 +162,9 @@

 # Create the disk and partition it
 echo "Creating image file for USB Armory"
-dd if=/dev/zero of=${basedir}/kali-$1-usbarmory.img bs=1M count=7000
+fallocate -l 3500MiB ${basedir}/kali-$1-usbarmory.img
 parted kali-$1-usbarmory.img --script -- mklabel msdos
-parted kali-$1-usbarmory.img --script -- mkpart primary ext2 5M 100%
+parted kali-$1-usbarmory.img --script -- mkpart primary ext4 5M 100%

 # Set the partition variables
 loopdevice=`losetup -f --show ${basedir}/kali-$1-usbarmory.img`
@@ -174,7 +174,7 @@
 rootp=${device}p1

 # Create file systems
-mkfs.ext2 $rootp
+mkfs.ext4 -F $rootp

 # Create the dirs for the partitions and mount them
 mkdir -p ${basedir}/root
@@ -212,9 +212,9 @@

 allow-hotplug usb0
 iface usb0 inet static
-address 10.0.0.1
+address 10.10.10.1
 netmask 255.255.255.0
-gateway 10.0.0.2
+gateway 10.10.10.2
 EOF

 cat << EOF > ${basedir}/root/etc/apt/sources.list
@@ -251,8 +251,8 @@
 log-facility local7;

 # A slightly different configuration for an internal subnet.
-subnet 10.0.0.0 netmask 255.255.255.0 {
-  range 10.0.0.2 10.0.0.2;
+subnet 10.10.10.0 netmask 255.255.255.0 {
+  range 10.10.10.2 10.10.10.2;
   default-lease-time 600;
   max-lease-time 7200;
 }
@@ -349,42 +349,37 @@

 # Kernel section. If you want to use a custom kernel, or configuration, replace
 # them in this section.
-git clone -b linux-4.2.y --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git ${basedir}/root/usr/src/kernel
+git clone -b linux-4.10.y --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git ${basedir}/root/usr/src/kernel
 cd ${basedir}/root/usr/src/kernel
 git rev-parse HEAD > ../kernel-at-commit
 touch .scmversion
 export ARCH=arm
 export CROSS_COMPILE=arm-linux-gnueabihf-
-patch -p1 --no-backup-if-mismatch < ${basedir}/../patches/mac80211.patch
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-common.dtsi -O arch/arm/boot/dts/imx53-usbarmory-common.dtsi
+# fix kali wifi patches for 4.10.y // TODO patch tx.c
+mkdir ${basedir}/patches
+rm -rf ${basedir}/patches/kali-wifi-injection-4.10.patch> /dev/null 2>&1
+cp ${basedir}/../patches/kali-wifi-injection-4.4.patch ${basedir}/patches/kali-wifi-injection-4.10.patch
+sed -i '13,48d' ${basedir}/patches/kali-wifi-injection-4.10.patch
+sed -i 's/wireless\/zd1211rw/wireless\/zydas\/zd1211rw/g' ${basedir}/patches/kali-wifi-injection-4.10.patch
+patch -p1 --no-backup-if-mismatch < ${basedir}/patches/kali-wifi-injection-4.10.patch
 wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-host.dts -O arch/arm/boot/dts/imx53-usbarmory-host.dts
 wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-gpio.dts -O arch/arm/boot/dts/imx53-usbarmory-gpio.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-i2c.dts -O arch/arm/boot/dts/imx53-usbarmory-i2c.dts
 wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-spi.dts -O arch/arm/boot/dts/imx53-usbarmory-spi.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory.dts -O arch/arm/boot/dts/imx53-usbarmory.dts
-cp ${basedir}/../kernel-configs/usbarmory-4.2.config .config
-cp ${basedir}/../kernel-configs/usbarmory-4.2.config ../usbarmory-4.2.config
-make LOADADDR=0x70008000 -j $(grep -c processor /proc/cpuinfo) uImage modules imx53-usbarmory-gpio.dtb imx53-usbarmory-i2c.dtb imx53-usbarmory-spi.dtb imx53-usbarmory.dtb imx53-usbarmory-host.dtb
+wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-i2c.dts -O arch/arm/boot/dts/imx53-usbarmory-i2c.dts
+wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-scc2.dts -O arch/arm/boot/dts/imx53-usbarmory-scc2.dts
+wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/usbarmory_linux-4.10.config -O ${basedir}/../kernel-configs/usbarmory_linux-4.10.config
+sed -i 's/ip\=off/ip\=off console\=ttyACM0\,115200 console\=ttyGS0\,115200/g' ${basedir}/../kernel-configs/usbarmory_linux-4.10.config
+cp ${basedir}/../kernel-configs/usbarmory_linux-4.10.config .config
+cp ${basedir}/../kernel-configs/usbarmory_linux-4.10.config ../usbarmory_linux-4.10.config
+make LOADADDR=0x70008000 -j $(grep -c processor /proc/cpuinfo) zImage modules imx53-usbarmory.dtb imx53-usbarmory-host.dtb imx53-usbarmory-gpio.dtb imx53-usbarmory-spi.dtb imx53-usbarmory-i2c.dtb imx53-usbarmory-scc2.dtb
 make modules_install INSTALL_MOD_PATH=${basedir}/root
-cp arch/arm/boot/uImage ${basedir}/root/boot/
-cp arch/arm/boot/dts/imx53-usbarmory-gpio.dtb ${basedir}/root/boot/
-cp arch/arm/boot/dts/imx53-usbarmory.dtb ${basedir}/root/boot/
-cp arch/arm/boot/dts/imx53-usbarmory-host.dtb ${basedir}/root/boot/
-cp arch/arm/boot/dts/imx53-usbarmory-i2c.dtb ${basedir}/root/boot/
-cp arch/arm/boot/dts/imx53-usbarmory-spi.dtb ${basedir}/root/boot/
+cp arch/arm/boot/zImage ${basedir}/root/boot/
+cp arch/arm/boot/dts/imx53-usbarmory*.dtb ${basedir}/root/boot/
 make mrproper
-# Since these aren't integrated into the kernel yet, mrproper removes them.
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-common.dtsi -O arch/arm/boot/dts/imx53-usbarmory-common.dtsi
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-host.dts -O arch/arm/boot/dts/imx53-usbarmory-host.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-gpio.dts -O arch/arm/boot/dts/imx53-usbarmory-gpio.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-i2c.dts -O arch/arm/boot/dts/imx53-usbarmory-i2c.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory-spi.dts -O arch/arm/boot/dts/imx53-usbarmory-spi.dts
-wget https://raw.githubusercontent.com/inversepath/usbarmory/master/software/kernel_conf/imx53-usbarmory.dts -O arch/arm/boot/dts/imx53-usbarmory.dts
-cp ../usbarmory-4.2.config .config
+cp ../usbarmory_linux-4.10.config .config
 make modules_prepare
 cd ${basedir}

-
 rm -rf ${basedir}/root/lib/firmware
 cd ${basedir}/root/lib
 git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git firmware
@@ -395,18 +390,19 @@
 cp ${basedir}/../misc/zram ${basedir}/root/etc/init.d/zram
 chmod +x ${basedir}/root/etc/init.d/zram

-wget ftp://ftp.denx.de/pub/u-boot/u-boot-2015.04.tar.bz2
-tar -xf u-boot-2015.04.tar.bz2
-cd ${basedir}/u-boot-2015.04
+git clone git://git.denx.de/u-boot.git u-boot-current
+cd ${basedir}/u-boot-current
 make distclean
 make usbarmory_config
 make
-dd if=u-boot.imx of=$loopdevice bs=512 seek=2 conv=fsync
+dd if=u-boot.imx of=$loopdevice bs=512 seek=2 conv=fsync conv=notrunc
 cd ${basedir}

-# Unmount partitions
-umount $rootp
+# Unmount partitions and give some time
+umount -l $rootp
+sleep 1
 kpartx -dv $loopdevice
+sleep 1
 losetup -d $loopdevice

 # Clean up all the temporary build stuff and remove the directories.
@@ -429,3 +425,13 @@
 echo "Generating sha1sum for kali-$1-usbarmory.img.xz"
 sha1sum kali-$1-usbarmory.img.xz > ${basedir}/kali-$1-usbarmory.img.xz.sha1sum
 fi
+
+echo -ne "[+] CAUTION: Use on your own risk! \n"
+echo -ne "[+] Example to burn image to SDCARD by USB Adapter on /dev/sdX:\n\nxzcat usbarmory-$1/kali-$1-usbarmory.img.xz | dd of=/dev/sdX bs=1M\n\n"
+echo -ne "[+] Example to burn image to SDCARD by SD Adapter on /dev/mmcblkX:\n\nxzcat usbarmory-$1/kali-$1-usbarmory.img.xz | dd of=/dev/mmcblkX bs=1M\n\n"
+echo -ne "[+] Login credentials: root/toor\n"
+echo -ne "[+] Host communication:\n\nip link set usb0 up\nip addr add 10.10.10.2/24 dev usb0\n/sbin/iptables -t nat -A POSTROUTING -s 10.10.10.1/32 -o eth0 -j MASQUERADE\necho 1 > /proc/sys/net/ipv4/ip_forward\n\n"
+echo -ne "[+] SSH conection: ssh root@10.10.10.1\n"
+echo -ne "[+] Now boot up, connect and expand the filesystem.\n"
+echo -ne "[+] Have a nice day with Kali Linux on USBARMORY! \n"
+echo -ne "[+] Finished.\n"

BTW, i used ext4 as filesystem, corrected the new path`s and changed previous IP settings, just sayin. I had some problems with the wifi tx patch, but it works for me anyways. Finally just...

patch -p1 usbarmory.sh < patch

and build usbarmory.sh as usual.