NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
IcyK
Jun 08, 2013Tutor
Q: compiling kernel modules on OS6 (dvb_hdhomerun)
I'm trying to get the hdhomerun working under OS6 but no success... 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...
Cliff_MI
Mar 27, 2015Guide
I am trying to get TVheadend and a Silicon Dust homerun tuner to work with the ReadyNAS to be a DVR.
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
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
- IcyKJul 22, 2015Tutor
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-12-OLD/td-p/931949
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.
Related Content
NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!