Tl-mr3020 + lede + extroot?

Hi, I have a mr3020 using openwrt 15.xx and extroot, I used a custom img to configure the extroot first then installed back all the missing packages.
is there anyway to make the same with LEDE 17.xx ? the img already don't have Luci so what can I remove else to free up space for extroot requirements ?
any already build extroot-capable LEDE img ?

1 Like

https://lede-project.org/faq/before_installation#which_packages_can_i_safely_remove_to_save_space

Easy to do.

What I don't understand, is why LUCI is not included by default with the MR3020 image, I was able to make one with defaults packages (no extroot) AND luci ..

LuCI is inlcuded in the release images, but not in the snapshot/trunk images.

If anyone need an image with LEDE + EXTROOT feel free to ask, unfortunatly no way to upload binaries here.

1 Like

@xaviiz - I am comfortable with the Image Builder, but I am curious what 'recipe' you use for the MR3020 extroot image.

I've been using the following recipe (up through 17.0.2) with success (after flashing this image, I run the extroot process, configure networking, and install packages):

make image PROFILE=tl-mr3020-v1 PACKAGES="block-mount kmod-usb-storage kmod-usb-core kmod-usb2 kmod-fs-ext4 kmod-scsi-generic kmod-usb-uchi kmod-usb-ohci"

But now, with 17.0.4, I get an error on kmod-usb-uhci (see below)... is the uhci module needed?

> Collected errors:
>  * opkg_install_cmd: Cannot install package kmod-usb-uchi.
> Makefile:140: recipe for target 'package_install' failed
> make[2]: *** [package_install] Error 255
> make[2]: Leaving directory '/home/peter/Lede_IB/lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64'
> Makefile:110: recipe for target '_call_image' failed
> make[1]: *** [_call_image] Error 2
> make[1]: Leaving directory '/home/peter/Lede_IB/lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64'
> Makefile:196: recipe for target 'image' failed
> make: *** [image] Error 2

Is uchi a new USB protocoll variant?

Actually, it's old. As I read through the description on wikipedia, maybe so old that it is not relevant anymore since we don't usually care about USB 1.1

Universal Host Controller Interface

Universal Host Controller Interface (UHCI) is a proprietary interface created by Intel for USB 1.x (full and low speeds). It requires a license from Intel. A USB controller using UHCI does little in hardware and requires a software UHCI driver to do much of the work of managing the USB bus.[2] It only supports 32-bit memory addressing,[4] so it requires an IOMMU or a computationally expensive bounce buffer to work with a 64-bit operating system. UHCI is configured with port-mapped I/O and memory-mapped I/O, and also requires memory-mapped I/O for status updates and for data buffers needed to hold data that needs to be sent or data that was received.[4]

You didn't get my hint: compare your writing with the correct one, ie.

You are writing uchi
Correct would be uhci

Read out loud each letter on its own, and you will recognize your mistake :slight_smile:

1 Like

@tmomas -- you got me. I read it and commented before having my coffee :wink:

I think the SoC contains a rate match hub, so the only USB driver you need is usb2. A USB1 device plugged in will be converted by hardware to appear to the kernel at USB2 standards.

In any event you will never need uhci and ohci at the same time. One or the other depending on the hardware you have.

1 Like

So for the purposes of this and the extroot-ready image, I think that the following is a reasonable image recipe. Please comment/correct if there are any thoughts/concerns about it:

make image PROFILE=tl-mr3020-v1 PACKAGES="block-mount kmod-usb-storage kmod-usb-core kmod-usb2 kmod-fs-ext4 kmod-scsi-generic kmod-usb-ohci"

This will create an image with the necessary components for the extroot, but that process must still be done manually. I believe that some people have made images that include scripts that auto-extroot to a 'new' USB stick (or more accurately, post-boot insertion of a usb thumb drive initiates a script that formats the drive and performs the extroot process). I have not bothered to create auto-extroot scripts, but I have created some scripts that streamline my own installation process for use as a portable wifi + VPN router.

The one I use is
PROFILE=tl-mr3020-v1 PACKAGES=“block-mount kmod-fs-ext4 kmod-usb-storage f2fsck kmod-usb-ohci kmod-usb-uhci"

In fact, to not get borring with manual configuration, I first flash an image without extroot and with luci, configure it to suit my needs, save the "opkg list-installed" somewhere.
When I'm done, I flash the minimal extroot image I made and concerve the configuration, then I set up extroot on usb:

# mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt
# block detect > /etc/config/fstab; \
   sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \
   sed -i s#/mnt/sda1#/overlay# /etc/config/fstab; \
   cat /etc/config/fstab; 

Reboot and then opkg install all the packages from opkg list-installed saved before. working wonderfull so far, planty of place on the usb and I also set up a swap partition and storage FAT32 partition (on the begining of the usb to be readable on without).

1 Like

Hi xaviiz,

when i try your version i get the following error message:

[mktplinkfw] *** error: images are too big by 138719 bytes

Even when i try to remove some paketages (including your setup):

-ppp -ppp-mpd-pppoe -ip6tables -ohcp6c -kmod-ipv6 -kmod-ip6tables

Its not realy bedder:

[mktplinkfw] *** error: images are too big by 45687 bytes

Can someone give me a hint?

@peterm - in my experience, f2fsck can be skipped assuming that you usb stick is already partitioned and formatted ext4 before you start the extroot process.

Which version image builder are you using (LEDE version, target)? Can you post the exact command you were using to create the image?

Hello again,

for testing purpuse i set up a new VM with ubuntu 17.10 and now it works fine
with @xaviiz make string!

used lede version:
lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64

Sorry for my post :wink:

Hi Xaviiz,
I would like to have an image like that for my mr3020, can you send it to me?
Thank you!
Gaston

Hello Xaviiz,
can I get your image for tp-link3020 too?
Thanks in advance

Hi xaviiz,
can you send me your MR3020 image with LEDE + EXTROOT image?
best wishes,
Rick

Sur, just tell me how to upload them here, don't wana use a thirdpartie upload service.