StepanTheFlowey / ev3dev-buildscripts

scripts for cross-compiling ev3dev kernel and boot script
https://www.ev3dev.org
GNU General Public License v2.0
1 stars 0 forks source link

[Question] "sharing-your-kernel": do I really only need to install just the linux-image-*.deb #1

Open Growflavor opened 5 months ago

Growflavor commented 5 months ago

Hi!

1) Would you recommend that I try this kernel with my tinker "Buster" image or wait a bit longer? & if so, should I install the "16" or the "178" version?

2) Are there key features that I should expect to be absent/different/added verses the .85 version?

3) Per these instructions, do I really just need to install only one .deb (image)?
If so, I am curious for what purpose does dlech's build scripts create the other two .deb (libc & headers)?

Thank you!

https://github.com/StepanTheFlowey/ev3dev-buildscripts#sharing-your-kernel

"Then, we build a Debian package.

~/work/ev3dev-buildscripts $ ./build-kernel bindeb-pkg KDEB_PKGVERSION=1 ...

... ~/work/ev3dev-buildscripts $ ls ./build-area/*.deb ./build-area/linux-headers-3.16.7-ckt9-5-ev3dev-your-name-ev3_1_armel.deb **./build-area/linux-image-3.16.7-ckt9-5-ev3dev-your-name-ev3_1_armel.deb** ./build-area/linux-libc-dev_1_armel.deb Now, send the linux-image-* file to your friend with these instructions: Copy the .deb file to your EV3 Install the package Reboot the EV3 Example: user@host ~ $ scp linux-image-*.deb otheruser@ev3dev:~ user@host ~ $ ssh otheruser@ev3dev **otheruser@ev3dev:~$ sudo dpkg --install ~/linux-image-*.deb** otheruser@ev3dev:~$ sudo reboot" "
StepanTheFlowey commented 4 months ago

Would you recommend that I try this kernel with my tinker "Buster" image or wait a bit longer?

It should work. But i never have tested it on original ev3dev.

If so, should I install the "16" or the "178" version?

152-186 is 4.14.x builds. They must be more stable, because original kernel was finished. 16-18 is 4.19.x builds. Their original source is still in beta. They may not be as stable as 4.14.x series. But in 4.19.x unlike 4.14.x Bluetooth is much more stable (It worked in each tenth reboot for me on 4.14. But in 4.19 it works always).

Are there key features that I should expect to be absent/different/added verses the .85 version?

If you talking about rise of third number in kernel version, then no. These minor kernel patches only bug fixing.

The LEGO Device Drivers also didn't change, as i didn't alter their source at all.

Originally i have applied patches to 4.14 to fix WiFi driver (Sometimes when plugging in dongle EV3 hangs forever). But then i decided to apply all the patches just for no reason.

Per these instructions, do I really just need to install only one .deb (image)?

You need to install other two packages only if you do compiling programs on ev3dev which do interact with the kernel. Although i did cross-compiled such C++ programs without these packages installed, so i am not sure there is need in them at all.

If so, I am curious for what purpose does dlech's build scripts create the other two .deb (libc & headers)?

dlech's build-kernel script forwards bindeb-pkg argument to kernel build system. To it bindeb-pkg means build Debian packages except source package. That is, Debian packages built not by build-kernel, but by Makefile in kernel source.

https://github.com/StepanTheFlowey/ev3dev-buildscripts#sharing-your-kernel

Sorry. I am too lazy to update README.

wait this issue been here for more than month already... how did i missed it?

Growflavor commented 3 months ago

Great! Thank you for the detailed clarifications.

RE: "152-186 is 4.14.x builds. 16-18 is 4.19.x builds." Will try these this week!

& Thank you for your fork/edits to the build scripts...we will also try building some custom configurations of the 4.19 kernel.

Growflavor commented 2 months ago

RE: "WARNING: Latest builds includes only RTL8818EU USB driver for WiFi. Any other WiFi adapter won't work. Also make sure lz4 is installed in your ev3dev and initramfs-tools configured to compress initrd in lz4 as of kernel supports only lz4 compressed initramfs."

I installed LZ4 & set initramfs to use lz4 & installed your 19 .deb 4.19.318-ev3dev-3-beta2-ev3+ kernel...

Debian Buster boots into Brickman & LEGO core set sensors appear to be recognized...

I am using EV3dev Brickman 10.3 since we are using OpenRobertaLab Artificial Neural Networks to control our EV3 units with some of our projects...

Does your EV3 with this kernel have Bluetooth & USB/USB ethernet functionality?

With 4.19.318-ev3dev-3-beta2-ev3+ in Brickman (EV3dev 10.3) I am seeing: Bluetooth: not available USB ethernet: not available USB mini: not available Wifi nano (RTL8818US) not detected -- though I suspect this is more related to a USB issue since seems odd the EU driver would not also detect this Netis Nano RTL8818 adapter...

Thanks!

StepanTheFlowey commented 2 months ago

Does your EV3 with this kernel have Bluetooth & USB/USB ethernet functionality?

My 4.19 build has bluetooth support, but not USB Ethernet. To make bluetooth work on 4.19 you need to put bluetooth firmware to initramfs, because 4.19 kernel loads firmware at boot (not with hciattach like 4.14 did).

Put following into /etc/initramfs-tools/hooks/bluetooth_fw on brick:

#!/bin/sh
PREREQ=""

prereqs()
{
   echo "$PREREQ"
}

case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac

. /usr/share/initramfs-tools/hook-functions

echo "I: Adding ti-connectivity firmware..."
mkdir -p "$DESTDIR/lib/firmware/ti-connectivity"
cp -pr /lib/firmware/ti-connectivity/TIInit* "$DESTDIR/lib/firmware/ti-connectivity"

than make bluetooth_fw executable (chmod +x bluetooth_fw) and execute

sudo update-initramfs -u

Wifi nano (RTL8818US) not detected -- though I suspect this is more related to a USB issue since seems odd the EU driver would not also detect this Netis Nano RTL8818 adapter..

The driver for RTL8818US is staging, so i suspect it is some kind of bug within it. As far as i know there is exists alternative driver for RTL8818US in 4.19, but i haven't tried it.

...we are using OpenRobertaLab...

oops...

Growflavor commented 2 months ago

My 4.19 build has bluetooth support, but not USB Ethernet. To make bluetooth work on 4.19 you need to put bluetooth firmware to initramfs, because 4.19 kernel loads firmware at boot (not with hciattach like 4.14 did).

Thank you very much for the detailed clarification...I will add that to get the bluetooth working on the SDcard that uses your build...

...we are using OpenRobertaLab... oops...

Only for the Artificial Neural Network GUI :-) e.g. see EV3dev discussion #1646 Open Roberta Lab Artificial Neural Networks for EV3 We use VScode for everything else... (I am aware that you removed ORL from the menu in your updated Brickman ;-)