shadoweo / ravpower_wd09_entware Goto Github PK
View Code? Open in Web Editor NEWEntware distribution builder for the Ravpower WD009 mini-router
Entware distribution builder for the Ravpower WD009 mini-router
Just tried this out and had a partial success. On Ubuntu 18.04 and a Ravpower WD09.
Firmware 2.000.008
Linux rav 2.6.36+ #507 Thu Nov 15 17:14:27 CST 2018 mips unknown
About the RoboFile.php:
The chroot command kept failing for me. Had to change the following line:
- $this->_copy('/usr/bin/qemu-mipsel-static','build/usr/bin/qemu-mipsel');
+ $this->_copy('/usr/bin/qemu-mipsel-static','build/usr/bin/qemu-mipsel-static');
I do not have robo.phar installed in /usr/local/bin. Would have been nicer to wget it in the script.
Apparently my device does not support ext4 (missing in /proc/filesystems). So changed it to ext2:
- $this->_exec("mkfs.ext4 ./output/extern_package");
+ $this->_exec("mkfs.ext2 ./output/extern_package");
About the WD09 device:
The rc.local script on the device does not seem to work. It tries to mount to /extern but that directory does not exist. I changed it to /mnt and updated the init scripts.
Dropbear is started correctly but I could not login as root because the default home dir /root does exist. Also changing the root password requires manual merging of /etc/passwd and /etc/shadow. And perhaps login as root should be disabled :-)
It would be nice if startup.sh also added /opt/bin to the PATH.
Lastly I wanted to add a swap file but the swapon function always fails with 'Function not implemented'. It seems the kernel is build without support for this :-(
Hey!
Following your PHP script, I've created an installer package that does the same, without the need of a PHP runner, or a separate server with qemu, but rather, right on the FileHub.
The script set is available here. As you can see, it follows your script step by step:
$(pwd)/build
/dev
and /proc
$(pwd)/build
, retrieves Entware install script, and runs itbusybox
, entware-opt
and dropbear
packagesextern_image
, a 128MB EXT2 image, and mounts it to $(pwd)/entware
$(pwd)/build/opt
folder to $(pwd)/entware
rc.local
to /etc
, and runs etc_tools p
to persist this changeThe image is created properly, and for some mysterious reasons, my firmware (2.000.018) came with /opt
existing, but /extern
does not - which is why the rc.local
changes are necessary. I also took some liberty to make the script itself a bit more dynamic.
This new rc.local
runs fine on boot, however... When it is executed, the /data/*DiskN
mounts do not exist yet, meaning it never succeeds on its own to mount these.
As you've previously managed to get it working, would you mind giving a few pointers on how to get this mount to work? I thought about adding some repeat retries to the script (try in first few minutes of boot), or possibly patching the script responsible for mounting the disk partitions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.