can not instal ext4 -- want to use USB as root
-
I'm trying to mount my USB drive as root. I started following the instructions at https://wiki.onion.io/Tutorials/Using-USB-Storage-as-Rootfs and got as far as trying to install kmod-fs-ext4, and got the following error:
**root@Omega-9C9A:/# opkg install kmod-fs-ext4
Upgrading kmod-fs-ext4 on root from 4.4.46-1 to 4.4.74-1...
Downloading http://repo.onion.io/omega2/packages/core/kmod-fs-ext4_4.4.74-1_mipsel_24kc.ipk
Collected errors:- satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ext4:
-
kernel (= 4.4.74-1-97eec485b1ee24d5b1ca0357d1dd7304)
- opkg_install_cmd: Cannot install package kmod-fs-ext4.**
The kernel is not 4.4.74, it's 4.4.46 ....
root@Omega-9C9A:/# uname -r
4.4.46However, the settings tells me I'm uptodate with the firmware.
Any ideas how I get around this?
-
Solution was already given in http://community.onion.io/topic/1139/omega2-cannot-install-kmod-fs-ext4-kmod-usb-storage-extra-kernel-version-mismatch :
wget http://repo.onion.io/omega2/packages/core/kmod-fs-ext4_4.46-1_mipsel_24kc.ipk opkg install kmod-fs-ext4_4.4.46-1_mipsel_24kc.ipk --nodeps
-
thx!!! Must have missed that one
-
@Maximilian-Gerhardt Spoke too soon, didn't work. It installs just fine. Or it seems to. After I've done the install (and double checked it) and rebooted, uname still shows the version as 4.4.46 and I can not install the fs-ext4 package
root@Omega-9C9A:~# opkg install kmod-fs-ext4_4.4.74-1_mipsel_24kc.ipk --nodeps
Upgrading kmod-fs-ext4 on root from 4.4.46-1 to 4.4.74-1...
Removing obsolete file /lib/modules/4.4.46/ext4.ko.
Removing obsolete file /lib/modules/4.4.46/mbcache.ko.
Removing obsolete file /lib/modules/4.4.46/jbd2.ko.
Configuring kmod-fs-ext4.
root@Omega-9C9A:~# uname -r
4.4.46
-
@david-silver I have definitely verified this to be working on my own Omega2+ a few weeks ago using it to boot from a 16GB microSD card. I just noticed that you have linked to the old wiki domain, which is for the Omega (1), but you do have a Omega2(+), right? The above commands should be all you need to install it, you should then be able to use commands like
mkfs.ext4 /dev/sda1
(see: https://docs.onion.io/omega2-docs/boot-from-external-storage.html for booting from USB or microSD). Do not try to install the newest (4.47-1) via the repositories, just force the installation of the downloaded 4.46-1 package as instructed above and use it. Also the installation of that module does not upgrade your kernel version! It just forces the package to install on a non-matching kernel version. If I misunderstood anything, please let me know.
-
@Maximilian-Gerhardt I realised my error about not downloading the kernel itself (and did consider upgrading the kernel but chickened out),
yes I do have an onion 2. However, I don't know what you mean by the omega 1 wiki vs the omega 2 wiki. I just following the links in the documentation or on here.
Following the link in your reply seems to go to a different place, but the same instructions.
I tried installing all of kmod-fext4, kmod-usb-storage-extras and and kmod-e2f-sprogs all with --nodep but the last one would not install so I could not get any further
-
@david-silver error message:
Collected errors:
- opkg_install_cmd: Cannot install package ef2sprogs.
- pkg_run_script: package "kmod-usb-storage-extras" postinst script returned status 255.
- opkg_configure: kmod-usb-storage-extras.postinst returned 255.
-
@david-silver Ah, now I see your point. The package
kmod-usb-storage
gives the same type of error askmod-fs-ext4
.. I never noticed that error because I did microSD card install, so I didn't even try to install that package. I also tried to install it using the--nodeps
method and a manual download, but I get hung up on the same error..# remove any old installations you might have opkg remove kmod-usb-storage # download latest repos opkg update #install e2fsprogs (throws no error) opkg install e2fsprogs # manually install the correct package for kmod-fs-ext4 (skip if you already have this one) wget http://repo.onion.io/omega2/packages/core/kmod-fs-ext4_4.46-1_mipsel_24kc.ipk opkg install kmod-fs-ext4_4.4.46-1_mipsel_24kc.ipk --nodeps # manually install the correct package for kmod-usb-storage wget http://repo.onion.io/omega2/packages/core/kmod-usb-storage-extras_4.4.46-1_mipsel_24kc.ipk opkg install kmod-usb-storage-extras_4.4.46-1_mipsel_24kc.ipk --nodeps Configuring kmod-usb-storage-extras. ums-alauda is already loaded ums-cypress is already loaded ums-datafab is already loaded ums-freecom is already loaded ums-isd200 is already loaded ums-jumpshot is already loaded ums-karma is already loaded ums-sddr09 is already loaded ums-sddr55 is already loaded ums-usbat is already loaded Collected errors: * pkg_run_script: package "kmod-usb-storage-extras" postinst script returned status 255. * opkg_configure: kmod-usb-storage-extras.postinst returned 255.
The error is due to the post-install script trying to
modprobe
all the modules, but as you can see all of them are already loaded, thus the usedinsert_modules
command will return an "error" making the post-installation fail. You can fix it by editing the file/usr/lib/opkg/info/kmod-usb-storage-extras.postinst-pkg
to:#!/bin/sh [ -z "$IPKG_INSTROOT" ] || exit 0 . /lib/functions.sh insert_modules ums-alauda ums-cypress ums-datafab ums-freecom ums-isd200 ums-jumpshot ums-karma ums-sddr09 ums-sddr55 ums-usbat #force clean exit code (0) exit 0
You should then get
root@Omega-17FD:~# opkg configure kmod-usb-storage-extras Configuring kmod-usb-storage-extras. ums-alauda is already loaded ums-cypress is already loaded ums-datafab is already loaded ums-freecom is already loaded ums-isd200 is already loaded ums-jumpshot is already loaded ums-karma is already loaded ums-sddr09 is already loaded ums-sddr55 is already loaded ums-usbat is already loaded root@Omega-17FD:~#
Ofcourse I don't know whether it actually fixes the problem - it just forces the installation to go through. You have to see yourself if you can get it to boot from the USB stick then, but now all the tools should be in place so that you can follow the Omega2 documentation I posted above. BTW: The https://wiki.onion.io website is for the old Omega, not the new Omega2, that's what I meant. If you have an Omega2 or Omega2+, you need to follow the instructions I posted above.
-
thanks, that worked!
I didn't get exactly the same output spew, and the diskcheck spew looks a little odd, however, it did work and I can use the differences as a learning event.
thx for your help.