
Recently, I won
Zyxel Keenetic . And my sympathy for Linux could not help but reach out to this Internet device. In this topic, I will tell you how you can get a full-fledged root and expand the capabilities of Keenetic.
')
Toolchain, cross-compilation and many other scary words
There are many ways to get root on this device, but they are all associated with flashing or compiling: from using
unsquashfs to compiling using
toolchain . By the way, zyxel laid out the official toolchain for this version. It can be found on
the manufacturer's website .
A small digression. Let me just say that if you decide to compile your applications, it is better to take a third-party toolchain. Download it
here . It disables the compilation of the kernel and the assembly of the firmware file and many other edits. Read more
here . Compiling applications is beyond the scope of this topic. On Habré about it you can read
here and
here .
I hope I scared you enough with links about toolchain and cross-compilation and we can go to the easy version of getting root :)
Respect and Respect
Looking for info about the hero of this topic, I came across a topic in one
forum . I will not force you to reread the entire branch, just describe the sequence of actions. By the way, it is worth saying
many thanks to
zyxmon 's. Whose efforts we can easily get root and many different goodies on Zyxel Keenetic. About delicacies, I'll tell you next.
Let's get started
To get root, we need only a usb flash drive or HDD. Format it in
ext2 or
ext3 . Download ext_init.sh.tar.gz
from here or
ext_init.sh.zip . Let's unpack the archive and place on our formatted media, in the
system / bin directory , the
ext_init.sh file. Don't forget to do
chmod + x ext_init.sh . Next, we simply insert our usb storage media into the device and wait until the following appears in the logs:
root Downloading busybox
root Unpacking busybox
root Downloading system
root Unpacking system
root Generating rsa/dss keys for dropbear
root Starting dropbear
dropbear[4261] Running in background
These joyful lines say that now we can access our devite via ssh. Login -
root ,
password -
zyxel .
Immediately after the call, execute
finish_install.sh in the console. This script will create a swap file for us, since RAM on keenetic'e not so much. We should see something like this:
/media/DISK_A1/system/root # finish_install.sh
Creating swap file. Please wait...
128+0 records in
128+0 records out
Setting up swapspace version 1, size = 134213633 bytes
If errors sprinkle the first time - run again. I only got it from the 3rd. The swap file is created once - no more need to run
finish_install.sh .
Do not forget to change the standard password using
passwd .
Buns
In addition to root, we also get a large list of packages of applications and libraries for keenetic. The entire list can be found
here .
We can
update the package list with the
opkg update command and view it with the help of
opkg list .
Now finally we can put the midnight commander:
opkg install mc .
Unfortunately, there are not so many goodies at the moment, however now we can install
lighttpd + php for ourselves :) Yes, and install an updated
transmission . Especially I want to mention
minidlna , with which we can watch downloaded movies on TV directly from keenetic.
After installing minidlna, you should edit the path to your media files in system / etc / minidlna.conf. Then we do the first launch after installation:
/media/DISK_A1/system/etc/init.d/S50minidlna start . If you have firmware without INOTIFY, then the added files will not be automatically indexed. It is necessary to make
touch file_name .
Lastly, I will say that all files, packages are on our usb media. And after pulling it out and rebooting, we again get the most common keenetic.
The list of packages is periodically updated, and if there is a wish, then
zyxmon can help with this :)
UPD. Zyxmon began to describe in more detail
here .