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.
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.
Thanks for hanging out enough to confirm if this was indeed an actual issue or not.
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.
@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
Closing this topic now, since 18.06.3 is coming and this topic starts to attract spammers.