PCsuggest

  • Quick tip
  • SECURITY
  • NETWORKING
  • OpenWrt
  • HARDWARE

How to setup OpenWrt extroot, rootfs on USB storage

Updated - September 25, 2018 by Arnab Satapathi

Here I'm going to share my experience with OpenWrt extroot on a TP-Link MR-3220 v2.4 router.

Though I did this on a MR-3220, this guide also applies to other routers like TP-Link WR703N, MR3020, D-Link DIR-505 etc etc. Just make sure you have downloaded the correct firmware for your router.

Probably you know all about it's hardware specifications, here is a short recap again

  • AR9331-AL3A 400MHz SoC
  • 32 MB DDR RAM chip
  • 4 MB SPI NOR flash memory
  • One 10/100M ethernet WAN port
  • Four 10/100M ethernet switches
  • 150Mbps b/g/n Wi-Fi
  • One USB 2.0 port

Little about MR 3220 v2.4 hardware quality, I teared it apart within 1 hour of receiving, the hardware quality is average with average quality components.

Enough hardware introduction, lets start the main topic, installing OpneWrt and configuring extroot on a USB pendrive. OpwnWrt firmware installation is very easy through the web interface and openwrt extroot part is same for almost any other router too.

Contents

  • Which OpenWrt firmware version should I choose ?
  • Which filesystem should I use for OpenWrt extroot ?
  • Installing OpenWrt on TP-Link MR3220
  • Initial OpenWrt setup
  • Installing necessary packages
  • Partitioning the USB drive
  • Configuring the OpenWrt extroot
  • Check if the extroot is working or not
  • Conclusion

Which OpenWrt firmware version should I choose ?

This is one of the most important question, choosing the correct OpenWrt version is absolutely crucial. This router works perfectly with the latest OpenWrt trunk (Designated Driver), stable 15.05, 14.07 or 12.09 .

But OpenWrt is bloating day by day while limited NOR flash storage is not, the stable firmware is also bloated with LUCI web interface. The free JFFS2 space after installing OpenWrt is decreasing too. So you can't install more than a few package with this limited space, that's when putting extra files on a external drive is necessary.

After about 12-14 hour  experiment with various OpenWrt versions, I figured out that only OpenWrt 14.07 (Barrier Breaker) or earlier versions have the right amount of free JFFS2 space to install required bare minimal minimal packages to setup an extroot.

Note: There's another little difficult way to run latest OpenWrt on your router, then you've to build OpenWrt custom firmware.

Which filesystem should I use for OpenWrt extroot ?

Another very important question, the official OpenWrt extroot guide says that you could any UNIX-like filesystem of your choice, forget about FAT32 or NTFS. But the reality is extroot is only and only possible with ext4/ext3 or ext2 filesystem. I tested with almost every slim (I mean which equips less NOR flash space) filesystem

amazon prime logo
Try AmazonPrime for free
Enjoy free shipping and One-Day delivery, cancel any time.
  1. minix, not supported
  2. HFS, not supported
  3. HFS+, not supported
  4. JFS, not supported
  5. XFS, not sopported
  6. reiserfs, not supported

There are other UNIX-like filesystems like BTRFS, LVM2 PV , UFS etc. but none of them will fit in the 288 KB free JFFS2 space, so I didn't tested them.

So the final choice is for a router with 4MB flash, choose only OpenWrt 14.07 or earlier and ext4 as extroot filesystem.

Request to OpenWrt pro users, if you had ever setup chroot with any other filesystem except ext4/ext3/ext2, please mention.

Installing OpenWrt on TP-Link MR3220

Assuming you have a PC running a Linux distribution, this is required for flashing the firmware and

Download the OpenWrt 14.07 firmware from here .

wget -c https://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin

WARNING: Do it at your own risk, event with great precautions there is a chance of bricking the router. If possible connect the router to an UPS before flashing it.

  1. Power on the router and connect a PC through a ethernet straight cable (patch cord) to one of four the LAN ports(the yellow ones).
  2. Open up a browser and go to this address; 192.168.0.1 to access the web interface and login. Username: admin Password: admin .
  3. Go to the System Tools > Firmware Upgrade choose the previously downloaded OpenWrt firmware with the Browse button and Hit the Upgrade button.
  4. Wait for few minutes to let the flashing complete and automatic reboot.

Installation is complete now your PC will automatically receive a different IP via DHCP.

Initial OpenWrt setup

For first time we have to use telnet to login into OpenWrt,

telnet 192.168.1.1

or if you don't have telnet try this

busybox telnet 192.168.1.1

after login, change the password to enable ssh

passwd root

now exit from the telnet session with exit command and re-login with SSH,

ssh root@192.168.1.1

Installing necessary packages

At this step the router must be connected to the internet, you could use your existing DSL/cable internet for this purpose or share an existing connection from your PC. I personally did it by sharing my 3G connection with Network-Manager from my laptop.

Make sure that the router could connect to the internet

ping -c 4 8.8.8.8

Update opkg package repository

opkg update

Install necessary packages to support USB storage device

opkg install kmod-usb-storage kmod-scsi-core block-mount

Install ext4 filesystem kernel module

opkg install kmod-fs-ext4

That's all, check free flash space with df -h , do not install anything more ! if you try to do so, any packages larger than 10KB will return no space left on device error.

OpenWrt df command

Now load all necessary kernel modules with modprobe command.

modprobe sd_mod
modprobe usb-storage
modprobe ext4

Or simply reboot the device with reboot command.

Partitioning the USB drive

Lets partition the USB drive, another question, how much space should I use for extroot partition? Just 100-200 MB is more than enough, I allocated a 200 MB ext4 partition for extroot, you could use more if you wish.  I used Gparted for partitioning a 4 GB USB drive.

OpenWrt extroot disk partitioningNow safely remove the USB drive and plug it in the routers USB port.

Configuring the OpenWrt extroot

After plugging the USB drive, it should show up as a storage device under the /dev directory as /dev/sda1 , /dev/sda2 etc. Simply go through the commands bellow

Mount the USB drive, change /dev/sda2 according to yours

mount /dev/sda2 /mnt

Copy data from /overlay partition to the USB drive

tar -C /overlay/ -c . -f - | tar -C /mnt/ -xf -

Un-mount the USB drive

sync && umount /dev/sda2

Configure /etc/config/fstab to mount the USB drive as /overlay partition

block detect > /etc/config/fstab

Now edit the /etc/config/fstab with vi to mount the etxt4 partition, /dev/sda2 at /overlay partition at startup,

vi /etc/config/fstab

have a look on a sample fstab configuration,

config 'global'
       option  anon_swap       '0'
       option  anon_mount      '0'
       option  auto_swap       '1'
       option  auto_mount      '1'
       option  delay_root      '5'
       option  check_fs        '0'

config 'mount'
       option  target  '/overlay'
       option  uuid    '7669178c-3f77-4fb1-b421-6ec6f61be672'
       option  enabled '1'

Set the target to /overlay, and change the option enabled line from 0 to 1 . Now enable the fstab service at startup

/etc/init.d/fstab enable

and check it

readlink -f /etc/rc.d/*fstab

reboot the router with the reboot command

reboot

Check if the extroot is working or not

After the reboot is complete login to the router with ssh again and check the free disk space with df and mount command.

df -h

mount

The df commnd should return a lot of free space available at rootfs, that means extroot is working fine.

OpwnWrt extroot free spaceNow check it again by installing some big packages, example >

opkg install e2fsprogs

Conclusion

I hope this simple beginner friendly tutorial will help you to start your experiment with OpenWrt.

If you have any question or suggestion, just leave a comment. Also don't forget to share this article with friends.

Filed Under: networking, openwrt Tagged With: extroot, openwrt

Your comments
  1. vellun says

    May 18, 2020

    Hi, fantastic tutorial. Works like a charm until 2nd reboot (no matter soft or hard), at which point file system gets mangled and needs fixing which has to happen on another device...

    I have fstab.@global[0].check_fs='1', but that doesn't help.

    Any ideas if there is a way to make sure resets are handled better?

    Could this be because im running 19.07.2 on my poorly F@st2704N 8M/32M?

    Tried both ext4 and f2fs with same result.

    Reply
  2. Richard says

    February 24, 2020

    Great, worked first time, thanks.

    OpenWrt 15.05.1, r48532 working on a RAVPower RP-WD02

    Reply
  3. Dzung Nguyen says

    October 29, 2019

    Hi, Arnab
    Thanks for your introductions.
    But I've just installed your openwrt-mini for MR3220 and now I can not login
    Could you please give me your default username and password

    Thank you so much, and have a good day.

    Reply
    • Arnab Satapathi says

      October 31, 2019

      The default password is blank, you've to telnet and enable the root password.

      Reply
      • Dzung Nguyen says

        October 31, 2019

        Thanks you so much

        Reply
  4. Rodrigo says

    July 24, 2019

    The best and most practical tutorial I've ever found on the internet to set up extroot!

    Congratulations on sharing with us!

    As an addendum, I would just add this to the tutorial - It is present in the OpenWRT workshop documentation located at https://openwrt.org/docs/guide-user/additional-software/extroot_configuration

    Preserving software package lists across boots
    Saving opkg status in the /usr/lib/opkg/lists stored on the extroot, instead of in RAM, saves some RAM and keeps package lists available after a reboot.

    Web interface
    1. LuCI → System → Software → Configuration

    Change

    lists_dir ext /var/opkg-lists
    to

    lists_dir ext /usr/lib/opkg/lists
    so that it looks like this:

    dest root /
    dest ram /tmp
    lists_dir ext /usr/lib/opkg/lists
    option overlay_root /overlay
    option check_signature

    2. LuCI → System → Software → Actions → Update lists to do an initial build of the package list onto extroot

    Command-line interface
    sed -i -r -e "s/^(lists_dir\sext\s).*/\1\/usr\/lib\/opkg\/lists/" /etc/opkg.conf
    opkg update

    Hugs, from Brazil!

    Reply
  5. Lucas Bogado says

    May 13, 2019

    I have two requests:

    I found this autoextroot script on GitHub at /attila-lendvai/openwrt-auto-extroot
    Do you think you can use his code to simplify your steps?

    If not, can you analyse what I would need to do with your steps if I build an image for a Netgear r6220 ramips/mt7621 considering it has usb3 port? I don't understand how much package fit un it because when I use the normal release image it fills up with just installling miniupnp and minidlna. I basically wanted to have an openwrt without any missing feature that normal Netgear firmware has but I can't seem to do it

    Reply
    • Arnab Satapathi says

      May 13, 2019

      As a general rule, you should install the bare minimal firmware. Then install required packages one by one.

      Reply
  6. Ahmet says

    January 6, 2019

    tl-mr3020-lede-extroot
    Source https://forum.openwrt.org/t/tl-mr3020-lede-extroot/8311/22

    LEDE 17.01.4 TL-MR3020-V1 extroot

    FACTORY https://drive.google.com/file/d/1qZfzjrCnvTIU801DxvzH6K7bY8rxTBf8/view 51
    MD5SUM e88d670f57ea36e4d8bd378188cd70ef

    SYSUPGRADE https://drive.google.com/file/d/1UvnuQ3HmL_HyCSUA2xcuRaJtcX983INd/view 58
    MD5SUM 5cce84e7f14be89a2768f20dc3bb8b27

    with usb2 storage + fs ext4 + block-mount
    without LUCI (WEB)

    access to SSH root@192.168.1.1 cable rj45

    Before doing a backup of your configurations
    and insert it into your USB flash drive and then mount and recover settings
    https://wiki.openwrt.org/doc/howto/generic.backup 14

    after doing the extroot

    opkg update
    opkg install luci
    I test on my TL-MR3020-V1 and is working perfectly

    Reply
    • Damar A says

      March 23, 2019

      you are saint thank you for best tutorial ever
      tried it on my mr3220 works like charm !
      THANK YOU VERY MUCH

      Reply
  7. VovS says

    July 24, 2018

    Isn't it possible to install newer firmware and then remove some packages to free up space? Say, removing web interface and IPv6 support?

    Reply
    • Arnab Satapathi says

      July 24, 2018

      Unfortunately it's not possible.

      Reply
  8. chop says

    May 1, 2018

    Thanks finally something that works 🙂

    Reply
  9. hicham bouhia says

    April 24, 2018

    thanksss bro

    Reply
  10. Alexander says

    October 20, 2017

    Hi, the tutorial is very clearly written, good job!
    I have a problem with extrooting on Zyxel Keenetic Omni: it does the extroot part fine, after reboot I can see a lot of free space on /, but for some reason I have internet access only on the router itself (ping google.com works from ssh), but not on devices connected to hotspot or directly to ethernet port on router. It works fine before extrooting. Can you please help me with the problem?

    Reply
    • Arnab Satapathi says

      October 20, 2017

      What happens if you remove the USB drive before booting the router?
      There might be some bad network configuration, which you can find in the /etc/sysconfig/network file.
      Better try to setup openwrt extroot again if everything fails.

      Reply
  11. massive says

    September 6, 2017

    Excellent, thank you so much, even on gargoyle which is openwrt based, and have integrated "Wizard" for doing this, there were some limitations, you can only format HDD with 75/25% ratio for / and swap and that is not acceptible, because I am using 500GB hdd. Finally i am able to partition HDD the way I want (/, swap and smb storage ) and to perfectly use it following this tutorial. Thank you man again so much, I only had to install nano because I don't like Vi

    Reply
    • Arnab Satapathi says

      September 6, 2017

      Thanks ! It's a great feedback.

      Reply
  12. Jerry says

    May 8, 2017

    Hi Arnab,

    Thanks for your clearly written and informative tutorial.
    Worked great for me on an older TP-Link TL-WDR4300.

    Nice work!

    Jerry

    Reply
  13. Alex says

    April 5, 2017

    Thanks Arnab for a brilliant turtorial!
    I've followed your build turtorial as well. Everything works well up until I reboot after fstab configuration. When issuing the df command, I still haven't got very much space under rootfs. Any tips you can give me?

    Filesystem 1K-blocks Used Available Use% Mounted on
    rootfs 576 244 332 42% /
    /dev/root 2304 2304 0 100% /rom
    tmpfs 14288 76 14212 1% /tmp
    /dev/mtdblock3 576 244 332 42% /overlay
    overlayfs:/overlay 576 244 332 42% /
    tmpfs 512 0 512 0% /dev

    Reply
    • Arnab Satapathi says

      April 6, 2017

      Hi Alex, seems like the extroot is not configured properly.

      Double check your fstab configuration.

      Reply
      • Alex says

        April 6, 2017

        Thanks for your suggestion.

        I triple checked fstab, still didn't work.
        This morning I reset everything and re-flashed my own compiled bin, followed your tutorial yet again .Still doesn't work 🙁
        The USB drive is present before un-mounting and configuring fstab, but afterwards, nothing. Same result.
        I'm running a TL-MR3420 by the way. And the USB drive is an old 500MB drive (hardly used), formatted as EXT4 in Minitools Partition Wizard under Windows 7.

        Thanks again for you time and effort!

        Reply
        • Arnab Satapathi says

          April 6, 2017

          Another thing I want to say you, use ext2 formatted USB drive instead of ext4.

          Reply
        • Alex says

          April 6, 2017

          Nevermind, seems like perhaps my USD drive was faulty. Not sure, but now it's working nevertheless.

          Thanks again!

          Reply
  14. Mahesh says

    March 3, 2017

    Thanks, its really good tutorial.

    Reply
  15. tassapan says

    February 22, 2017

    Could you please build OpenWrt 15.05.1 with LUCI that works with extroot?
    By remove some unnecessary package.

    Thank you in advance.

    Reply
    • Arnab Satapathi says

      February 22, 2017

      Which router ? I'll remove the IPv6 related packages.

      Reply
      • tassapan says

        February 22, 2017

        Tp-link MR3220 v1.

        Reply
  16. ahmed says

    February 16, 2017

    Thank you. I use your img. Also same problem. I can't enter by web only by ssh.

    Reply
    • Arnab says

      February 16, 2017

      It's because no web control interface is installed, install LuCI after setting up the extroot.
      And why it's not installed ? You can't setup extroot on MR3220 with OpenWrt 15.05.1 if LuCI is installed, too little free space left on the 4 MB NOR flash.

      Reply
      • ahmed says

        February 16, 2017

        Thank you I do all setting it's OK now. Thank you very much

        Reply
  17. ahmed says

    February 15, 2017

    I tried to build custom img to my tplink Mr3220 v1. But I didn't. If you can do it to with extroot to accept my usb

    Reply
    • Arnab says

      February 15, 2017

      Hi Ahmed, surely I'll try to free up some time to build your firmware.

      Reply
      • ahmed says

        February 15, 2017

        Thanks. Also I'm trying. I do 1 img. But didn't recognize my USB at all .. USB format ext4. But also not appearing. There is mount point in software but no USB device. I will try and if I do it I will tell you . If you do it before me tell me. Thank you very much

        Reply
        • ahmed says

          February 16, 2017

          I make 1 but the problem I can't entet login by web. But I can't enter through ssh. I don't know what to do

          Reply
          • Arnab says

            February 16, 2017

            Which configuration you're using to make your custom firmware ? Does it include the web interface ?

          • Arnab says

            February 16, 2017

            Hey, I just forgot that a custom firmware for MR3220-v1 is already in my HDD, here it is, https://drive.google.com/open?id=0B0Sy87thl-LtWFZ1X01TQXZTUmc

            Without the LuCI web interface to save flash space, supports extroot out of the box.
            Build profile>

            PROFILE=TLMR3220 make -j4 image PACKAGES="-kmod-ppp -kmod-pppoe -kmod-pppox -ppp -ppp-mod-pppoe -libiwinfo-lua -liblua -libubus-lua -libuci-lua -lua -luci -luci-app-firewall -luci-base -luci-lib-ip -luci-lib-nixio -luci-mod-admin-full -luci-proto-ipv6 -luci-proto-ppp -luci-theme-bootstrap -uhttpd -uhttpd-mod-ubus kmod-fs-ext4 kmod-usb-storage kmod-scsi-core block-mount kmod-lib-crc32c kmod-crypto-crc32c"

  18. Saadat says

    January 1, 2017

    Hello Arnab,
    After installing extroot, can I upgrade OpenWRT to CC, keeping extroot intact? Thanks.

    Reply
    • Arnab says

      January 1, 2017

      Unfortunately you can't !
      The upgrading process through sysupgrade works in a odd way, it creates a backup configuration file via UCI and restores that after finishing. Another point to remember, each OpenWrt major release are quite different.

      Reply
      • serkan uz says

        October 9, 2018

        hi arnab what is the password of the image you give at this address
        https://drive.google.com/open?id=0B0Sy87thl-LtWFZ1X01TQXZTUmc

        tyy

        Reply
        • Arnab Satapathi says

          October 9, 2018

          There's no password.
          If it repeatedly asking for password, let me know.
          Thanks!

          Reply
  19. Derper says

    December 20, 2016

    Hi,

    I got everything running.
    But is seems that some packages that I need are only supported with 15.X
    is it possible to upgrade to Chaos Calmer or will it just delete all configurations for extroot?

    Reply
    • Arnab says

      December 20, 2016

      You can upgrade to CC with sysupgrade command with all changes from extroot, but that's not perfect.
      You may run out of space if your router have 4MB flash, in that case you've to build your custom OpenWrt image, have a look>
      https://www.pcsuggest.com/build-openwrt-minimal-image-custom-firmware/

      Reply
      • Derper says

        December 21, 2016

        Thanks for the reply!
        I'm bit confused, because I assumed that OpenWrt will handle the USB-drive now as part of system and therefore does not differentiate between the flash storage and the USB-drive...

        Reply
  20. Veerendra says

    December 14, 2016

    Hi Arnab,
    I tried to follow your instructions to install OpenWRT on my router. firmware upgrade is successful. However I am struck with mounting the partition for copying overlay files. getting error while using mount command:

    root@OpenWrt:~# mount /dev/sda1 /mnt
    mount: mounting /dev/sda1 on /mnt failed: No such file or directory

    The USB device is detected as sdb-> sdb1,sdb2
    sdb1 is the partition I had prepared for extroot with ext4 file system. I had tried both gparted and fdisk utilities.

    Request direct me. Thanks in advance.

    Reply
    • Arnab says

      December 14, 2016

      Hi, thanks for feedback.
      Perhaps yo're missing the proper drivers for ext4 partition.
      Try with a ext2 formatted partition.
      What's the output of the dmesg command just after running the mount /dev/sda1 /mnt command ?
      Missing kernel drivers could be located from this log.

      Reply
  21. Khorshed Alam says

    December 10, 2016

    Hi Arnab,
    I am actually using my 4G wimax modem with MR3020 router. I also have 2TB USB HDD. After installing openwrt can I use both (HDD+4G modem) at the same time using a USB hub?

    Thanks,
    Khorshed

    Reply
    • Arnab says

      December 11, 2016

      It may work or may not, depends on the USB hub, cable length and some other unknown parameters.
      In my case, the exact setup like your with a 500GB HDD and 3G modem(Micromax brand)) failed to work, while a CDMA modem(MTS, ZTE AC2766) worked perfectly.

      Reply
      • Khorshed Alam says

        February 4, 2017

        Thanks for your comments

        Reply
  22. Kklimo says

    November 23, 2016

    Hey do you know how to return it back from previous version?

    Reply
    • Arnab says

      November 24, 2016

      Please clarify your question, did you mean that how could you go back to an older version of OpenWrt ?

      Reply
  23. killerjatt says

    October 13, 2016

    hi can i install multiwan mw3 on it?. i have mr3220 2.4 router..

    Reply
    • Arnab says

      October 13, 2016

      I think you can't setup multiwan using two Ethernet ports, as far as I know TP-Link MR3220 doesn't support VLAN.
      But WAN connection from a 3G modem could do multiwan.
      Anyway you could check the OpenWrt forum.

      Reply
  24. zordon says

    October 7, 2016

    Oh by the way, works fine with my MR-3220 V2.0 (and not 2.4) version.

    Reply
  25. zordon says

    October 7, 2016

    I've tried a lot, Thank you, very important info that TP-LINK MR3220 v2 works only with 14.07 barrier breaker 🙂 Algoritmh works like a charm. Greetings from Hungary

    Reply
    • Arnab says

      October 8, 2016

      Thanks 🙂

      Reply
  26. ali yazdani says

    September 6, 2016

    hi i want to turn my router into wifi marketing router . for sharing my videos and ... i need to install LAMP on my router at least . i wonder if this tutorial give me a chance to install php,mysql,apache on a usb stick?

    Reply
    • Arnab says

      September 6, 2016

      Hi, it depends on your routers available system resources, LAMP is very IO intensive, specially mysql. And Apache is a known memory eater.

      You could try that with uhttpd , or better lighttpd.

      For sharing videos, I'll suggest you to have a look at Piratebox. https://piratebox.cc/

      Reply
      • ali yazdani says

        September 7, 2016

        tnx i tried piratebox last week,in my case it's so complicated solution for developing
        i found a chinese router called "Xiaomi Mi Wi-Fi Router" 128MB ram , this router use's Mediatek MT7620A which offer's excellent usb data transfer speed.
        i will use lighttpd and sqlite , if you are interested in this case , i'll be happy to share with you my experiense,wish me luck dude!!!

        Reply
        • Arnab says

          September 7, 2016

          Yeah, sure ! I'm wishing you a very very good luck and please share your experience here.

          But a little confusion, as far as I know that Xiaomi router doesn't supports OpenWrt very well, I may be wrong. You might want to look at TP-Link WR1043ND, gigabit ethernet ports and excellent OpenWrt support.

          Reply
          • ali yazdani says

            September 8, 2016

            tnx for your attention , can you tell me about TP-Link WR1043ND usb data transfer performance ? i searched it and found 9 Mb/sec , i need high usb performance , see this product
            http://nis-store.com/wifi-routers/xiaomi-mi-wifi-router-2-1tb-white/

  27. N says

    September 5, 2016

    Hi, Thanks a lot for this great tutorial, I have a router with open wrt installed on it and i want to re install the version that you mentioned, i am new to linux so can you please show me how to do that.

    Thanks

    Reply
    • Arnab says

      September 6, 2016

      Which version you want to install ?

      Reply
  28. km says

    September 1, 2016

    Well, I wasnt able to get any other fs to work with extroot too. True to that.
    And when 15.05 came out, it started taking more space and overlayfs was pretty full, so ext4fs tools just aint gonna squeeze in there (even if it barely did before)
    So I started building my own openwrt image for the mr3220 and it turned out to be extremely simple if you got some basic knowledge about linux.
    You need x64 linux system and just read about it in openwrt documentation. Download the tools, run one command where you specify the routers model and hw version, and the needed packages.
    The self built image takes less space, because its compressed and is being uncompressed when you boot the router.
    Here I made one image for the v1 version of mr3220. Includes base stuff and ext4 utils.
    https://www.dropbox.com/s/swbiuulgbtb9igp/openwrt1505-mr3220v1-ext4.bin?dl=0

    Reply
    • Arnab says

      September 2, 2016

      Hi thanks for the great feedback.

      MR3220 v1 was great, but sadly it's not available anymore.

      You might also want to check my another tutorial, https://www.pcsuggest.com/build-openwrt-minimal-image-custom-firmware/

      Reply
      • km says

        September 3, 2016

        I tought it was nothing special at first. It was very unstable with the stock tplink firmware. With dd-wrt it became a bit better, but still somehow I wasnt able to get it stable. Hasnt crashed once while running openwrt.
        Nice tutorial.
        I soldered usb to rs232 adapter to its built in serial port and flashing the firmware is really easy to do.

        Reply
        • Arnab says

          September 3, 2016

          Thanks "Km", it's great to know that you also like to tinker your devices with a soldering Iron 😀 .
          I think you should subscribe to my blog, more like this coming soon, I'll add an electronics section in this blog.

          Reply
  29. Vuhongthao says

    August 2, 2016

    How to save vi /etc/config/fstab in putty....Thanks

    Reply
    • Arnab says

      August 2, 2016

      After editing the /etc/config/fstab , press the Esc key and then type :wq , that will be enough.

      Reply
  30. Jason says

    July 8, 2016

    Great instructions, man. Very clear, and *super* helpful. Thanks very much! Works perfectly on the TLMR3020

    Reply
    • Arnab says

      July 8, 2016

      Thanks Jason 🙂

      Reply
  31. Z says

    June 15, 2016

    With the initial "opkg update" I keep getting "wget bad address 'downloads.openwrt.org" error. Any ideas on why this may be?

    Reply
    • Arnab says

      June 15, 2016

      Hi, thanks for your comment.
      It may be due to DNS error, try to change the DNS servers of the OpenWrt device, which are at /etc/resolv.conf, anyway it's symlinked to /tmp/resolv.conf , use 8.8.8.8 it's pretty good.

      Reply
      • Z says

        June 16, 2016

        Thanks. That seemed to be the problem but now I've run into another issue. First I ran the "block info" command to get the name of my usb and verified it inside the dev folder. Then when running the mount command, it returns "No such file or directory". I have confirmed both file and directory but yet I continue to get this error. I also tried running from inside "dev" and at root. I feel like it's something simple which usually is with this type of error but I'm out of ideas. What do you think?

        (Link to a screenshot of the input.)
        https://postimg.org/image/jv3thqeon/

        Reply
        • Arnab says

          June 17, 2016

          Sorry for late reply, you may need to install these two extra packages for ext4 filesystem support kmod-lib-crc32c and kmod-crypto-crc32c , or format the USB drive to ext2/ext3 .

          Using the dmesg command will be helpful and thanks again for feedback.

          Reply
  32. Ruben Cancho says

    May 28, 2016

    This is a very well explained step by step tutorial. I also have a TL-MR3220 and I was stuck not being able to install ext4 module. Changing to Breaking Barrier was the key and following your steps was super-easy! Thank you!

    Reply
    • Arnab says

      May 29, 2016

      Thanks Ruben, it's good to hear from you, and I'm glad that you liked the tutorial.

      Reply
  33. Jim Jameson says

    April 22, 2016

    Works great with CC 15.05.1 on a A5-V11 3G/4G Router. I used your image builder command so I could fit all the packages into the image. I had to format the drive ext3 because I was getting "cannot load crc32c driver" with ext4. These $7USD routers make great file servers. Just install vsftpd or even samba. They have 4MB flash and 32MB RAM and run on < 1 watt power. The SOC architecture isn't the newest, but the USB bus is very stable, unlike the ar7xx.

    Reply
    • Arnab says

      April 22, 2016

      Thanks Jim, for valuable feedback. It's a real value for money router, but flashing OpenWrt seems a bit tricky.

      Reply
      • Jim Jameson says

        April 23, 2016

        Sort of. Tricky is a good word I suppose. I had to overwrite the old boot loader, but the login shell they left open makes it easy. Easy, but nerve wracking.

        Once it is running, the wifi isn't nearly as efficient as atheros, so it gets pretty hot. Makes a great little wired server with a USB drive attached. Wireless is fine too, but probably want to vent the enclosure a little better.

        Reply
        • Arnab says

          April 23, 2016

          Again a superb comment, ya, it will be better after making some vents and a little heatsink on the Mediatek SoC.

          Reply
  34. Isra says

    April 18, 2016

    Worked perfectly on a Huawei HG553 with OpenWrt CHAOS CALMER (15.05, r46767). Thank you!!!

    Reply
    • Arnab says

      April 18, 2016

      Cheers Isra !!! I'm glad to know that it worked for you.

      Reply
  35. loggerhead says

    April 17, 2016

    Thank you! I have try every methods people says, but none of them works except yours!

    Reply
    • Arnab says

      April 18, 2016

      I'm glad that it worked, thanks buddy for reply.

      Reply
  36. Jeb Bushmaster says

    April 10, 2016

    Yes, worked. Thanks!
    Spent hours thinking it was messed up, trying different images, kernel modules, etc. Turns out that it works, but the USB port is so weak it can't even power a pen drive. Put on a powered USB hub and away we go.

    Reply
  37. Jeb Bushmaster says

    April 8, 2016

    Did you try using the image builder to get the required packages in the image without LUCI? I made this image from Chaos Calmer 15.05.1, but am afraid to flash it:

    make image PROFILE=TLMR3420 PACKAGES="blkid block-mount kmod-fs-ext4 kmod-usb2 kmod-usb-uhci kmod-usb-ohci kmod-usb-storage"

    Reply
    • Arnab says

      April 8, 2016

      Thanks for your feedback, yes I'd build my custom Chaos Calmer image, without LuCI, lua, jshons, and few other stuffs stripped off.

      For routers with 4MB NOR flash, if the image size is 3932160 bytes or less, it's safe to flash.
      Check it with
      du -b openwrt-15.05-factory.bin
      Or this wc -c openwrt-15.05-factory.bin

      I'm using this build profile>

      DEVICE_TYPE= PROFILE=TLMR3220 make -j4 image
      PACKAGES="dnsmasq iptables ppp kmod-fs-ext4 kmod-usb-storage kmod-scsi-core block-mount"

      The packages kmod-usb-uhci and kmod-usb-ohci are unnecessary, hope this will be useful, 🙂

      Reply
  38. banga says

    March 22, 2016

    Hi
    Have used your methods to extroot a USB with a Dragino Yun shield. Was having mad trouble before finding this tutorial. Thanks for your effort in sharing

    Reply
    • Arnab says

      March 22, 2016

      Hey, thanks for your feedback, your board is awesome, 🙂 .

      Reply
  39. QordaZ says

    March 18, 2016

    Superb! Thank you!

    Reply
  40. MetalCat says

    March 13, 2016

    Your tutorial is awesome, worked perfectly on a MR-3420 with OpenWrt barrier breaker 14.07 .

    Reply
    • Arnab says

      March 15, 2016

      I'm glad to know this tutorial helped you, thanks a lot.

      Reply
  41. acank says

    December 6, 2015

    thanks alot dude... very helpful...

    Reply
    • Arnab says

      December 6, 2015

      thank you liked it, keep visiting.

      Reply
  42. Itanim says

    November 20, 2015

    Loved the tutorial! I had done this before on a 3020/703 but I missed couple steps. Your tutorial guided me perfectly.

    Reply
    • Arnab says

      November 21, 2015

      I'm glad you liked it ! keep visiting !

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © PCsuggest.com · All rights reserved.

  • Home
  • About
  • Contact
  • Privacy Policy
  • Sitemap