ARM – Kernel 4.4-rc3 – OK with Odroid U3 (and Fan..)
Tested Kernel 4.4-rc3 with the Odroid U3, and – finally – the fan works correctly.. Kernels from 4.2 onward booted successfully, but the fan ran continuously… And now I can add the U3 to the (small!) list of my ARM devices that work with the standard unpatched kernel.org kernel (the others are the DreamPlug (ARMv5) and the CuBox i4-Pro (ARMv7)..
Fedora 23 (Twenty Three) Kernel 4.4.0-rc3 on an armv7l (ttySAC1) .............]# uname -a Linux rgodroid 4.4.0-rc3 #1 SMP PREEMPT Mon Nov 30 13:03:03 PST 2015 armv7l armv7l armv7l GNU/Linux
Details of changes from -rc2 are here: http://lkml.iu.edu/hypermail/linux/kernel/1511.3/03588.html
Robert Gadsdon. December 3, 2015.
Hello!
Can you tell me please how to upgrade from kernel 3.8.13-30 to 4.4-rc3/4 ?
I am on U3 (not XU3) and wanted to know… 🙂
Thnx & bye
tom
Hi,
do you have an example .config that you could share with us?
Thanks!
never mind, Thanks, I found it in your post here: http://rglinuxtech.com/?p=1297
Hello and many thx for this information.
I used your Information to upgrade my odroid xu4 to 4.4-rc8. (ubuntu 15.10_server)
Now the fan runs very nice without the script (https://github.com/nthx/odroid-xu3-fan-control)
A nice howto is to use this tutorial to upgrade your kernel.
https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device
i used the odroidxu4_defconfig from here https://github.com/tobetter/linux
not 100% sure if there have to be a change in the config, but it rans great.
I run stress –cpu8 about some minutes, everything is fine.
Hi David and everyone else,
have you been able to use the AES hardware acceleration with 4.4 or 4.2 kernel? The guys here http://forum.odroid.com/viewtopic.php?f=95&t=15574&p=120722#p120722 have >400mb/s with their standard kernel, while I can only get 15mb/s with the 4.4, maybe there’s a config option I missed?
thanks for any help
Could you please share the config file that you used to compile linux kernel 4.4 for odroid-u?
Many thanks in advance.
I’ve just uploaded a copy from my Odroid U3, to Pastebin, at http://pastebin.com/NveRajaZ
RG.
Thank you, much appreciated.
I have compiled this exact version, and my kernel gets stuck at “Starting kernel …”
Any idea how to troubleshoot this?
You could check the address where u-boot is loading the kernel… Sometimes these will load OK, but not boot…
I had found in the past that some published info on this was wrong, for my particular device..
RG.
Thanks for your reply. I moved forward by enabling earlyprintk (and setting the Samsung UART to 1, not 2 or 0). Initially it was a problem due to wrong .dtb loaded (one must use the kernel-genererated one with make dtbs, not the u-boot one). The only issue that I have left is about network not working, I opened a forum thread at the official forums here: http://forum.odroid.com/viewtopic.php?f=81&t=24123
I can’t get 4.4 to boot on my U3, here’s contents of my boot.scr:
if test -n ${oneshot}; then
setenv oneshot
setenv filesize
saveenv
setenv experimental 1
fi
# kernel image and dtb load addresses
setenv zimg_addr “0x40008000”
setenv fdt_addr “0x43f00000”
setenv fdt_high “0xffffffff”
setenv initrd_addr “0x42000000”
setenv initrd_high “0xffffffff”
# video config: 1280x720M@50, 1920x1080M@60
# console config
# rootfs config
setenv vid_config “video=HDMI-A-1:1280x720M@60”
setenv con_config “console=ttySAC1,115200n8”
setenv rfs_config “root=/dev/sdb1 rootfstype=ext4 rootwait=10 rw mem=2047M”
if test -n ${experimental}; then
setenv zimg_file “zImage-4.1-odroid”
setenv fdt_file “odroid-u3-4.1.dtb”
setenv bootargs “${vid_config} ${con_config} ${rfs_config} earlyprintk”
else
setenv zimg_file “zImage-4.0-odroid”
setenv fdt_file “odroid-u3-4.0.dtb”
setenv bootargs “${vid_config} ${con_config} ${rfs_config}”
fi
setenv initrd_file “uInitrd-4.1”
setenv uloadcmd “fatload mmc 0:1 ${zimg_addr} ${zimg_file}; fatload mmc 0:1 ${fdt_addr} ${fdt_file}; fatload mmc 0:1 ${initrd_addr} ${initrd_file}”
setenv bootcmd “run uloadcmd; fdt addr ${fdt_addr}; fdt resize; bootz ${zimg_addr} ${initrd_addr} ${fdt_addr}”
boot
~
What am I doing wrong ?
For troubleshooting, I would suggest using a simpler set of U-boot commands.. I use this:
setenv initrd_high “0xffffffff”
setenv fdt_high “0xffffffff”
setenv fb_x_res “1920”
setenv fb_y_res “1080”
setenv hdmi_phy_res “1080”
setenv kerneladdr 0x40008000
setenv fdtaddr 0x41f00000
setenv bootargs “console=tty1 console=ttySAC1,115200n8 fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} hdmi_phy_res=${hdmi_phy_res} root=/dev/mmcblk0p3 rootfs=ext4 rootwait rw mem=2047M selinux=0”
setenv bootcmd “fatload mmc 0:1 ${kerneladdr} zImage; fatload mmc 0:1 ${fdtaddr} exynos4412-odroidu3.dtb; bootz ${kerneladdr} – ${fdtaddr}”
I have seen several _different_ values quoted for kerneladdr, and fdtaddr, but these work, on my U3.. I am still running Kernel 4.4 (from kernel.org) as I haven’t had time to update it, yet.. I should also mention that I don’t use an hdmi connection, at the moment – just the UART/USB for console, and vncserver for any sessions..
RG.
Just a short note that several of parameters in bootargs are not necessary and not even parsed by the upstream kernels:
fb_x_res, fb_y_res and hdmi_phy_res
Also for debugging adding earlyprintk is recommended.
– Tobias
Would you post an image with this kernel working? I don’t have the uart cable and can’t guess why it’s not booting. I have standard (old) debian image from HK, flashed uboot and built 4.6 kernel. No dice, the heartbeat led stays on (doesn’t flash) and that’s it.
I’m not able to post kernel images..
I would strongly recommend getting a UART connection, as working on these system is next-to-impossible without one..
For compiling the kernel, my workflow looks like this:
make exynos_defconfig
make xconfig… select ‘SAMSUNG EXYNOS4412’ under System Type.. etc..
make -j4 zImage
make dtbs
make -j4 modules
make modules_install
make firmware_install
cp arch/arm/boot/zImage /boot
cp arch/arm/boot/dts/exynos4412-odroidu3.dtb /boot
cp System.map /boot
– Then check that U-Boot has the correct corresponding parameters (which needs a UART console connection..) and reboot..
RG.
Yeah I also advise getting the UART cable.
If one could enable network console in U-boot, which I have not been able to, you could afterwards get rid of it even for experimentation with kernels
Last time i build up a new kernel, i used a “new” tutorial.
It worked pretty good and some old problems disappeared.
Maybe it helps for some guys, who still miss the same knowledge like me.
https://blogs.s-osg.org/install-ubuntu-run-mainline-kernel-odroid-xu4/