- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Q: compiling kernel modules on OS6 (dvb_hdhomerun)
I downloaded the GPL sources for 6.0.6 and unpacked them in /home/admin/linux.
then made a symlink in usr/src/linux pointing to /home/admin/linux
did ap-get install build-essentials
Then in /usr/src/linux:
- make oldconfig (lots of questions, did 'enter' on each one of them)
- make
- make modules
Did NOT make install any of it.
Then downloaded the dvbhdhomerun stuff per cvs, according to http://sourceforge.net/apps/trac/dvbhdhomerun/ , http://sourceforge.net/apps/trac/dvbhdh ... i/Building and http://dvbhdhomerun.cvs.sourceforge.net ... iew=markup .
In the end tried modprobe dvb_hdhomerun but :
# modprobe dvb_hdhomerun
modprobe: can't load module dvb_hdhomerun_core (extra/dvb_hdhomerun_core.ko): invalid module format
However:
# modinfo dvb_hdhomerun_core.ko
filename: dvb_hdhomerun_core.ko
description: HDHomeRun Driver Core Module
author: Villy Thomsen
license: GPL
vermagic: 3.0.74.RNx86_64.2.1 SMP mod_unload
parm: hdhomerun_debug_mask:Mask for debug output
depends:
# modinfo dvb_hdhomerun_fe.ko
filename: dvb_hdhomerun_fe.ko
description: DVB frontend for HDHomeRun
author: Villy Thomsen
license: GPL
vermagic: 3.0.74.RNx86_64.2.1 SMP mod_unload
depends: dvb_hdhomerun_core
# modinfo dvb_hdhomerun.ko
filename: dvb_hdhomerun.ko
description: HDHomeRun Driver
description: HDHomeRun driver
description: HDHomeRun Driver Core Module
author: Villy Thomsen
author: Villy Thomsen
author: Villy Thomsen
license: GPL
license: GPL
license: GPL
vermagic: 3.0.74.RNx86_64.2.1 SMP mod_unload
parm: adapter_nr:DVB adapter numbers
depends: dvb_hdhomerun_fe,dvb_hdhomerun_core
Can anyone give me a pointer on what's going wrong?
I'm trying this on the NAS itself.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
Can anyone give me a pointer whether (and how) it is possible to hack a homebrew kernel in the Readynas?
It will be a kernel built on the nas itself with the kernel and .config from the Netgear GPL package for OS 6.0.6, the only change being CONFIG_DVB_CORE=m
I bought this (used) Ultra 2 specific for this purpose (to play with, that is) and if all goes wrong the only loss is the purchase price.
I do have some experience with soldering and RS232/TTL connections.
Or is it possible to hack the homebrew kernel in a regular firmware binary?
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
With some help I managed to boot another kernel with dvb_core enabbled (first as boot option, later on as default). HDHomerun is doing fine on the nas now (the uptime being 7 days).
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
I hope you don't mind me raising this thread again. Can you please advise the steps you use to compile the kernal modules. I have os 6.1.1 on my readynas ultra 2 and I am trying to install virtualBox.
I have the 6.6.6 src.zip image downloaded from the GPL.
Any help is greatly appreciated, anyone for that matter.
Regards,
Gurinder.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
Had anyone be able to get dvb_hdhomerun to install and work?
I have OS 6.2.2 and I tried to get the config files form the GPL code but did not see it.
I get the errors with /lib/module/build no config created.
I installed and used the linux-headers-amd64
I used the headers for 3.2 kernel and copied them to the /usr/src/3.0.101X/build location (just copied the build directory)
It ran through the make process but nothing else
but it would not install using make install (says it did but nothing in modules.dep)
I tried to modprobe the dvb_hdhomerun driver after that
Error I got -modprobe: module dvb_hdhomerun not found in modules.dep
I am still a newbie with all the module things with linux.
If anyone has a good process describing how to get the build environment to work I would appreciate it. All the searches that I did for build modules leave
something out that I am missing.
I know a little of the apt-get and digging around with linux, but I just don't understand all the dependencies and location of files
also the kernel version for the readynas is a little odd 3.0.104.X is it really a 3.0 kernel vs current 3.2. Also do I need to rebuild the kernel to get the dvb stuff into it.
Where can I find the correct configuration for the kernel? do I need to make the kernel from scratch?
Thanks for any help.
Cliff
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Q: compiling kernel modules on OS6 (dvb_hdhomerun)
It's probably best to keep it simple: use the 6.3.3 firmware image and kernel sources from this post: https://community.netgear.com/t5/ReadyNAS-Beta-Release/OLD-EARLY-ACCESS-ReadyNASOS-6-3-3-T153-Beta-1...
Be aware you have to change the kernel on the hidden internal flash. If this goes wrong, you probably end up with a bricked nas.
Upgrade firmware to 6.3.3
Just to be sure: backup your module tree after nas is back online, running 6.3.3 :
cp -Rpv /lib/modules/3.12.36.RNx86_64.2.2 /lib/modules/3.12.36.RNx86_64.2.2-backup
Install utils to built from source:
apt-get install build-essential libncurses5-dev
Download kernel sources and extract to /home/cliff/linux-3.12.36-38
copy the Netgear config to the kernelsource root:
cd /home/cliff/linux-3.12.36-38 cp .arch/x86/configs/readynas_defconfig ./.config
Be sure to keep the original readynas_defconfig intact and unchainged.
Then add the DVB_core module to the kernel:
From /home/cliff/linux-3.12.36-38 :
make nconfig
go to Device Drivers --> Multimedia support
select Digital TV support and press space bar
then select DVB Network Support and press space bar
Both should show an asterisk between the brackets now.
Press F6 (Save) and F9 (exit).
The kernel config is OK now.
Now enter
make
and grab some lunch. Process could take 45 - 60 minutes.
after completion, the new compressed kernel image can be found in
linux-3.12.36-38/arch/x86/boot
with the name bzImage.
You now have to boot your nas with this new kernel. This is the tricky part that can lead to a bricked unit. If it goes wrong your nas won't boot anymore. Ever.
First you have to make the internal flashdrive to show up. Arter done that, be very careful what you do. You have to edit SYSLINUX.CFG, and I've experienced twice that the file got scrambled. In that case, the nas won't boot anymore. I found the following procedure to work.
First, let the internal flash show:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usb-storage/bind
This makes the internal flash show up in /media/USB_FLASH_1
Now copy the new compressed kernel to the flash, under a UNIQUE name; mine is k3-12-36.dvb
cp /home/cliff/linux-3.12.36-38/arch/x86/boot/bzImage /media/USB_FLASH_1/k3-12-36.dvb
Be sure to use old-school MS-DOS 8.3 file name format.
Now you have to add an option to the boot menu in SYSLINUX.CFG.
First, copy the oringinal file. Go to /media/USB_FLASH_1 and
cp SYSLINUX.CFG SYSLINUX.CFG.org
Now add a boot item, using a editor (vi or nano), so the last lines of SYSLINUX.CFG look like
label TestDisks kernel kernel append initrd=initrd.gz console=ttyS0 reason=test_disks label Kernel-DVB kernel k3-12-36.dvb append initrd=initrd.gz console=ttyS0 reason=normal
(the label TestDisks is the last label from the original SYSLINUX.CFG).
Save the file and go back one directory (to /media).
Check the file SYSLINUX.CFG is still readable:
from /media:
cat ./USB_FLASH_1/SYSLINUX.CFG
if the file is readable, do
sync sync
(so twice)
and reboot immedaitely after that.
If the file is not readable, start over from the original one you copied.
After reboot, the nas still uses the 'old' kernel. To change to the new one, shutdown and let it boot in the bootmenu. Using the led patterns from the manual, you can detect when the cycle has vome to TestDisks; the one after that is your new kernel.
When it boots the new kernel without problems (and has ran for hlf a day or so), you can change the default boot option at the top of SYSLINUX.CFG to Kernel-DVB.
And while you're at it, change the baudrate in the first line from 9600 to 115200 if you want to use a serial connection (OS6 uses 115200, where 4.x.x. uses 9600).
At last, when the new kernels seems to work OK, install the new modules.
Go to the sourceroot /home/cliff/linux-3.12.36-38 and enter
make modules make modules_install
make modules_install will overwrite the original modules in /lib/modules/3.12.36.RNx86_64.2.2 so you need to verify yourself whether all modules from the backup directory are still in the new directpory and if not, copy them yourself.
In the new /lib/modules/3.12.36.RNx86_64.2.2 is a link to the location of the source you used, so when you compile dvb_hdhomerun it will find the correct kernel files.
The hdhomerun kernel modules are kernel-dependent, so when you upgrade to a new kernel you have to recompile them.
Good luck, please let us know how it worked out.