OpenWrt 18.06.0 release

What's the result of "block info" and "blkid" on your router?

They report the usual info, as mentioned above I didn’t have blkid installed and most likely libblkid were needed but no errors in dmesg or logread.

Did u need the specific output for a reason? (Just or be clear my issue is resolved)

Block & blkid output
 -----------------------------------------------------
root@zgw:~# block info
/dev/mtdblock5: UUID="2f99a5e5-97a6689c-adec99f4-e6cd10f4" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock6: MOUNT="/overlay-boot" TYPE="jffs2"
/dev/sda1: UUID="52d45a7e-3dd8-4ec9-8b0b-1f518ce352fb" VERSION="1.0" MOUNT="/overlay" TYPE="ext4"
/dev/sda2: UUID="4db78f6e-11b8-4331-bf47-8b2090a39e14" VERSION="1" TYPE="swap"
root@zgw:~# blkid
/dev/mtdblock5: TYPE="squashfs"
/dev/sda1: UUID="52d45a7e-3dd8-4ec9-8b0b-1f518ce352fb" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="1aebcfce-c428-49e5-8615-658dabb1c11e"
/dev/sda2: UUID="4db78f6e-11b8-4331-bf47-8b2090a39e14" TYPE="swap" PARTLABEL="Linux swap" PARTUUID="dfda18ca-1366-47dd-a053-ee204a4bf650"

And

matching fstab
root@zgw:~# cat /etc/config/fstab
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  '/mnt/sda1'
        option  uuid    '52d45a7e-3dd8-4ec9-8b0b-1f518ce352fb'
        option  enabled '0'

config 'swap'
        option  uuid    '4db78f6e-11b8-4331-bf47-8b2090a39e14'
        option  enabled '1'

config mount
        option target   /overlay-boot
        option device   /dev/mtdblock6
        option fstype   jffs2
        option options  rw,sync
        option enabled  1
        option enabled_fsck 0

The uuid ef34e5db... that you are using in fstab is in neither of these outputs. How did you get it? It seems to me it should have been 52d45a7e-3dd8-4ec9-8b0b-1f518ce352fb.

Indeed, the fstab in my first post 88 was for another USB drive, that after I installed blkid,... it also worked for that drive. This is the fstab for the current drive that matches the blkid output in post 90. (I changed bcoz I received the tiny sandisk USB ultra fit instead of a larger one)

Fstab for current drive
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  '/mnt/sda1'
        option  uuid    '52d45a7e-3dd8-4ec9-8b0b-1f518ce352fb'
        option  enabled '0'

config 'swap'
        option  uuid    '4db78f6e-11b8-4331-bf47-8b2090a39e14'
        option  enabled '1'

config mount
        option target   /overlay-boot
        option device   /dev/mtdblock6
        option fstype   jffs2
        option options  rw,sync
        option enabled  1
        option enabled_fsck 0

Ok. The blkid package was actually included in the required packages for extroot in the beginning, but about two years ago it was removed by @bobafetthotmail.
https://openwrt.org/docs/guide-user/additional-software/extroot_configuration?rev=1476554035&do=diff

I have seen no traces of anyone else requiring it for extroot in the mean time, so it's a bit curious.

Yeah that's a bit weird as block-mount is using "libblkid-tiny" library, which comes from the same source repo as block-mount, and is maintained by OpenWrt core devs. https://github.com/openwrt/openwrt/blob/openwrt-18.06/package/system/fstools/Makefile

Afaik blkid was only used as part of the installation in the old tutorial. When I removed it from the tutorial I did test it on real hardware and it was working fine without blkid.

@aboulfad you said that you are "rebuilding an image", you mean compiling or using the Image Builder?

If you are compiling maybe the linux host lacks blkid/libblkid, https://github.com/openwrt/openwrt/commit/fb58cd2fed9f9f6caef061a892bb1811e3faa11d#diff-1fd90636bb4185c4fbf0da62b90dcc94

Anyway, I'm recompiling a firmware to run a few tests myself, thanks for reporting.

1 Like

And I can't reproduce the issue on my test device (ramips Nexx WR-3020 8M ) with a clean build from latest sources (master branch).

And also with a 18.06 build made with the Image Builder.

this is the output from the 18.06 build, I installed, and then rebooted. After reboot as you can see the system is extrooting successfully.

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    '7cc3c5f9-d54c-4ab7-8b83-1e3fdd47c5e2'
        option  enabled '1'

root@OpenWrt:~# block info
/dev/mtdblock5: UUID="59504b96-30b272d0-ae5645d5-be93c2e7" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock6: MOUNT="/overlay" TYPE="jffs2"
/dev/sda1: UUID="7cc3c5f9-d54c-4ab7-8b83-1e3fdd47c5e2" VERSION="1.0" TYPE="ext4"
root@OpenWrt:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 3072      3072         0 100% /rom
tmpfs                    30228        64     30164   0% /tmp
tmpfs                    30228        36     30192   0% /tmp/root
tmpfs                      512         0       512   0% /dev
/dev/mtdblock6            3472       192      3280   6% /overlay
overlayfs:/overlay        3472       192      3280   6% /
root@OpenWrt:~# reboot
root@OpenWrt:~# Connection to 192.168.1.1 closed by remote host.
Connection to 192.168.1.1 closed.
alby@openSUSE-xeon:~> ssh root@192.168.1.1


BusyBox v1.28.3 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06.1, r7258-5eb055306f
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 3072      3072         0 100% /rom
tmpfs                    30228        56     30172   0% /tmp
/dev/sda1              3775544     15336   3548704   0% /overlay
overlayfs:/overlay     3775544     15336   3548704   0% /
tmpfs                      512         0       512   0% /dev

@Per, @bobafetthotmail, thanks for your comments.
So yes I was using the old tutorial but funny enough I missed the word blkid, and only after many hours of searching online that I found a thread that mentions the need of libblkid-tiny and that the error only shows with serial conn.

I am using the tiny A5-V11 and it was super tough to fit what I needed, finally w this custom image builder options that I was able to come up with an image that fit all the required packages so I can use extroot successfully. (basically removing lots of unneeded pkgs and installing the following: blkid block-mount kmod-fs-ext4 kmod-usb2 kmod-usb-uhci kmod-usb-ohci kmod-usb-storage)

Image builder make
make -j4 image PROFILE="a5-v11" PACKAGES="-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 \
   -ip6tables -kmod-ip6tables -kmod-ipv6 -kmod-nf-conntrack6 \
   -kmod-nf-ipt6 -libip6tc -odhcp6c -odhcpd -ppp -ppp-mod-pppoe \
   -libip6tc -odhcpd-ipv6only -kmod-scsi-core blkid block-mount kmod-fs-ext4 kmod-usb2 kmod-usb-uhci kmod-usb-ohci kmod-usb-storage"

I may be wrong, and chances are I am, but one different thing I did (adding blkid) vs the previous failed attempts when I had just block-mount, but most likely in between the dozens of attempts that I botched something! I finally gave up on adding pkgs by hand and cleaning up space, and generated images using image builder.

I have another one of those A5-V11, and I can start from scratch if you care to provide a well scripted procedure so the results are valid, or I can run another imager builder and remove the blkid pkg and check if extroot works as expected?

I was using the old tutorial

This should not matter much, instructions are mostly the same. blkid was not really required in Chaos Calmer for sure as I did use that.

I found a thread that mentions the need of libblkid-tiny and that the error only shows with serial conn.

It's probably old stuff. As you can see in the package makefile, block-mount package includes libblkd-tiny in the same package as block , so if you selected that package you should have that library already. https://github.com/openwrt/openwrt/blob/openwrt-18.06/package/system/fstools/Makefile#L91

check that you have it by ls /lib and it should be right in that folder.

Image builder make

Thanks for providing the package list you used, that's what I needed to try what you did on my side too.

I built another firmware for my test router using your list (without blkid of course), and my device can still extroot as normal.

I also connected over serial console and I'm not seeing any error, it finds and mounts the partition.

I can run another imager builder and remove the blkid pkg and check if extroot works as expected?

Yes, delete the image builder extracted folder and extract it again, then build another image without blkid.

Reformat the usb drive and start fresh.

Or use the other device and another USB drive. The point here is avoiding to have old stuff from previous attempts left in the way.

Then if you still have the issue I'm adding this to the wiki in the Troubleshooting section since it does not appear to be needed by everyone (none complained since I edited that page, and in my tests everything is good) but might be useful if someone else encounters the same issue.

@bobafetthotmail, appreciate your keenness for getting to the bottom of this. Unfortunately I think I bricked that other A5-V11, I'll need to solder the serial connection and see whats happening. I have a third one w CC R15 that I could also flash R18 and try.

To be honest, I did so many things that I am unsure If I can recall all the steps but I will give it another go. One thing for sure is the dmesg errors I got over and over again but weren't too helpful. One thing I learned is that manually installing packages is not a good approach, especially when close to running out of space and some packages install partially.

dmesg error

[ 13.034123] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[ 13.061991] block: extroot: device not present, retrying in 15 seconds
[ 28.083918] block: extroot: cannot find device with UUID ef34e5db-7aff-49d7-8960-b048f482ea5b
[ 28.103240] mount_root: switching to jffs2 overlay'

ok, I was able to sysupgrade the 3rd A5-V11 to R18 image using my options above and was able to successfully extroot without blkid and I verified that /lib/libblkid-tiny.o exists.

In retrospect, it is possible I had an in-partially installed block-mount package when I was installing USB required pkgs manually one by one, and it all worked only when I generated a proper image containing the required packages, and nothing to do with blkid

That's the most logical conclusion, apologize for the time wasted looking at this and I updated my original post.

1 Like

Thanks for hanging out enough to confirm if this was indeed an actual issue or not.

1 Like

Is it true that the upgrade process now preserves configuration and packages? or is just the configuration preserved?

No, that is not true. Just the configuration can be preserved.
Packages need to be re-installed separately after the upgrade.

1 Like

@hnyman thank you! :pray:

@justme123 Does wireguard work or is it at least included in the Openwrt 18.06.1 tiny official build?

Wireguard is not included on any default OpenWrt firmware, you have to install it:

  • kmod-udptunnel4
  • kmod-udptunnel6
  • kmod-wireguard
  • wireguard-tools
  • wireguard

And if you have LuCI, also install:

  • luci-proto-wireguard
  • luci-app-wireguard

Works for me in 18.06.1.

"Tiny" build -- meaning you've probably got a relatively ancient or underpowered router -- which either or both won't have enough flash and RAM to install and run wireguard, or enough CPU power for more than a trickle.

I'd suggest reading up on a new device and then, if you've got questions about specific units, searching on the forums here for opinions. If they aren't already answered, opening a new thread with your question would be a next step.

Many opinions on devices in the US $20-50 range (or less) that are likely going to be a better option for you in the long thread

1 Like

Closing this topic now, since 18.06.3 is coming and this topic starts to attract spammers.

1 Like