Hello, I was trying to do pentesting on my device through kali linux 2.0. I successfully installed kali linux via linix deploy ,but i was unable to use reaver as my chipset doesn't support monitor mode. So I tried to use external usb wifi adapter( tplink tl wn 722n, chipset atheros ar9271). I tried to install driver myself but when i gave make command i found this error:
make defconfig-ath9k
[email protected]:/usr/src/backports-3.15-rc1-1# make defconfig-ath9k
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
| make KLIB=/lib/modules/3.1.7/ | to compile/install for the installed kernel 3.1.7
| (that isn't currently running.) \--
Makefile:40: recipe for target 'defconfig-ath9k' failed make: *** [defconfig-ath9k] Error 1
CAN ANYONE HELP ME HOW TO OVERCOME THIS? HOW TO COMPILE KERNEL IN THIS SPECIFIC CASE ?Or HOW TO ENABLE MONITOR MODE WITH AR9271 CHIPSET?
MY KERNEL IS 3.10.54+
Related
Download Sources Huawei Sonic U8650
Download the Kernel Sources of Huawei Sonic from this link ---> Here
Direct Link ---> Here
There are about 430 mb as the source contains more Huawei terminal.
Configuration file (. Config)
This file is not present inside the Huawei's rom and not present into boot.img.
But we can find this file into the kernel that we have previously downloaded.
We can find this file in this directory ---> kernel/arch/arm/configs/hw_msm7227_defconfig of 70,4 kb
Take this file ---> hw_msm7227_deconfig copy it into the kernel directory and now change in .config.
hw_msm7227_deconfig ---> .config
Done.
Now we are ready to compile our kernel.
Good Work.
Bye
where can i download the kernel sources for sonic?
carlonchete said:
where can i download the kernel sources for sonic?
Click to expand...
Click to collapse
Try Direct link.....
Hello.
I have downloaded these sources. Setting the crossdev environment in Gentoo was a breezed, and I had no problem compiling the kernel. Well, to tell the truth, I got an error, but was able to pass through by setting CONFIG_NO_ERROR_ON_MISMATCH=y'
Code:
LD vmlinux.o
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0xe474): Section mismatch in reference from the function msm_map_io.clone.0() to the (unknown reference) .init.data:(unknown)
The function msm_map_io.clone.0() references
the (unknown reference) __initdata (unknown).
This is often because msm_map_io.clone.0 lacks a __initdata
annotation or the annotation of (unknown) is wrong.
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
(NOTE: This is not recommended)
make[1]: *** [vmlinux.o] Error 1
make: *** [vmlinux.o] Error 2
I have no idea if that can have further implications, but that's not what I wanted to ask you anyway.
My question is, what do I do with this thing now?
I've managed to cat /dev/mtd/mtd0 to /sdcard/mtd0, but that gives me a file that is not recognized by Gentoo as an fs of any kind. It could be some kind of custom file with a kernel plus an initrd inside of it, because that's what I read some mobiles do on their boot partition, but there's really no info about this, that I can find.
I guess that if you posted to compile the kernel you also know how to disassemble this boot image. So, can you, please, give me any pointers?
PS. I also tried to mount this as yaffs2, as that seems to be the format for the other fs's inside the phone, as per the output for "mount | grep mtd". Unfortunately, in linux, it doesn't work (yes, I compile yaffs2 myself as a kernel module). I also tried mounting it in my phone, two times, the result was that the boot was corrupted and the next time I booted my phone I had to reflash it with the stock rom to get it booting again with factory settings
I am trying to compile perf tool for arm. I have followed the instructions provided in the tool (tools/perf in the linux kernel and also tried compiling it in external/linux-tools-perf). I am getting errors like:
make ARCH=arm CROSS_COMPILE=${NDK_TOOLCHAIN} CFLAGS="--sysroot=${NDK_SYSROOT}"
Makefile:409: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
Makefile:424: *** No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static. Stop.
But, when I try to compile it for x86 in linux kernel, there are no issues for x86. Why is that it is very hard for building this tool for arm ?
If anybody has successfully built it, please provide me tips of how to built perf tool for arm.
Thanks,
Malarand
I am also having the same problem
i tried to follow the instructions showed in perf/documentation/android.txt
but i failed with a error saying
Android NDK: NDK_TOOLCHAIN is defined to the unsupported value android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
Android NDK: Please use one of the following values: arm-linux-androideabi-4.6 arm-linux-androideabi-4.8 arm-linux-androideabi-clang3.2 arm-linux-androideabi-clang3.3 mipsel-linux-android-4.6 mipsel-linux-android-4.8 mipsel-linux-android-clang3.2 mipsel-linux-android-clang3.3 x86-4.6 x86-4.8 x86-clang3.2 x86-clang3.3
build/core/init.mk:555: * Android NDK: Aborting . Stop.
Click to expand...
Click to collapse
then later i though this is not gona work like this, as the perf is part of kernel the perf should be built while the kernel source is being compiled so i tried to go to kernel directory there i have run
make -C tools/ perf_install ARCH=arm CROSS_COMPILE=arm-eabi-
Click to expand...
Click to collapse
which again resulted an error saying like yours
Makefile:592: *** No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static. Stop.
Click to expand...
Click to collapse
my kernel version 3.10.65
i am struggling with this error from days not able build perf for android, i am urgently in need of it
Any solutions?
Any solutions?
shyam.sunder91 said:
i tried to follow the instructions showed in perf/documentation/android.txt
but i failed with a error saying
then later i though this is not gona work like this, as the perf is part of kernel the perf should be built while the kernel source is being compiled so i tried to go to kernel directory there i have run
which again resulted an error saying like yours
my kernel version 3.10.65
i am struggling with this error from days not able build perf for android, i am urgently in need of it
Click to expand...
Click to collapse
I recently got an ASIX AX88179 USB 3.0 to Gigabit Ethernet adapter for my Android device running CyanogenMod based on Android 5.1.1 and the 3.4.* kernel.
The drivers for the device are provided as source code and are available:
http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_LINUX_DRIVER_v1.14.2_SOURCE.tar.gz
ASIX represents that the drivers are "For Android 1.x/2.x/3.x/4.x/5.x, Linux kernel 2.6.25 and later".
I attempted to compile the drivers using the CyanogenMod-included Terminal emulator App, but could not get anything to compile. It seemed that the "make" command or tool is not recognized.
I found a note in the drivers source readme file:
Code:
Prepare to build the driver, you need the Linux kernel sources installed on the
build machine, and make sure that the version of the running kernel must match
the installed kernel sources.
I found kernel sources on https://www.kernel.org/ . How do I make use of the kernel sources?
The version 3.4.* kernel is frequently updated. Should I be recompiling the driver with new, updated kernel sources every time a new kernel version is installed?
Must the drivers be compiled on the system they are to be used on?
Is there a better way to handle driver preparations or acquisitions?
1) requirements:
good brain (recommanded)
laptop/phone (must be 64bit)
kernel source (optionnal)
2) basics:
familiar with linux cmds such as git/make
in case building C is not important
know the right clang/gcc to use
3) before compiling:
in casd your kernel is old 2017- and your kernel version is 3.x or 2.x then 98% you should use gcc else use clang
use the right clang version you can check it from kernel string (settings>about phone>kernel version)
for gcc use linux x86 gcc for android like lineage/linaro/eva gcc and for android use arm64 gcc
4) compiling
first you need a config file you can use make ARCH=arm64 CROSS_COMPILE="path where you cloned the gcc/clang /bin/aarch64-linux-android-" ....defconfig it will load the gcc i.e:
make ARCH=arm64 CROSS_COMPILE=/root/gcc/bin/aarch64-linux-android- exynos7870-m10lte_defconfig
=> the defconfig file is stored on arch/arm64/configs so use your own
then compile make ARCH=arm64 CROSS_COMPILE=/root/gcc/bin/aarch64-linux-android-
the kernel will be stored on arch/arm64/boot
I have:
Downloaded the exact kernel version running on my device from an AOSP mirror (4.9.170) (https://github.com/aosp-mirror/kernel_common.git)
Downloaded the exact compiler used to compile the kernel from my device:
Ran `cat /proc/version`, which returns "Linaro GCC 5.3-2016.05", which I downloaded from https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/aarch64-linux-gnu/
Took the kernel configuration from `/proc/config.gz`, copied it to the kernel source directory `kernel_common` as `.config`
Ran `make ARCH=arm64 CROSS_COMPILE=xxx oldconfig`
What I'm seeing:
First, the downloaded kernel source for 4.9.170 seems to think that my `config` is incomplete, since it will prompt me to answer ~15 extra configuration questions.
Second, this old Linaro compiled doesn't appear to support `-fstack-protector-strong` despite it being explicitly enabled in the `/proc/config.gz` file. So I end up disabling it with `./scripts/config --disable CONFIG_CC_STACKPROTECTOR_STRONG`
Finally, after successfully compiling, I take `net/ipv4/tcp_westwood.ko`, just as a test module, and try to load it on my Android device, and it fails:
`insmod: failed to load tcp_westwood_5.ko: Exec format error`
And in dmesg output: `tcp_westwood: disagrees about version of symbol module_layout`
My questions:
Can I assume that the `/proc/config.gz` file is not the actual file used to compile the running kernel, considering it doesn't completely configure the 4.9.170 kernel?
Am I on the right path to getting a kernel module that my kernel will load?
Background information:
I'm hoping this isn't very relevant, but just to head off some questions
This is a T95 Android TV device running what appears to be, to this newbie's eyes, a very Frankenstein'd Android 10 install (See https://www.cnx-software.com/2020/0...-comes-with-mali-g31-gpu-supports-android-10/)
I can't find any official - or unofficial - source for this device, which is why I'm going to all the trouble above.
I really appreciate any help, thank you!