[RESOLVED] UNDOO >> USB-Storage-as-Rootfs !!



  • I used a USB-Stick as additional memory as described here:
    https://wiki.onion.io/Tutorials/Using-USB-Storage-as-Rootfs

    I wanted to do a factory reset on my Omega but this was not possible. I booted it without stick and i was able to do an update do the actual image. I was believing that an update is deleting everything except the /etc folder where config-files are stored.

    But if i list the content there are still the folders i had made with the Tutorial mentioned on the top.

    Reset Device (Switch device on and keep reset button hold)

     *********************************************
     *   U-Boot 1.1.4  (Sep 14 2015, 08:21:31)   *
     *********************************************
     AP121 (AR9331) U-Boot for Onion Omega
     DRAM:   64 MB DDR2 16-bit
     id read ox100000ff
     FLASH: 16MCLOCKS: 400/400/200/20 MHz (CPU/RAM/AHB/SPI)
     LED on during eth initialization...
    
     Press reset button for at least:
     - 3 sec. to run web failsafe mode
     - 5 sec. to run U-Boot consol
     - 7 sec. to run U-Boot netconsole
    
     Reset button is pressed for:  7 
     Button was pressed for 7 sec...
     Starting U-Boot netconsole...
    

    If i press the reset button within 3 seconds after switch on it boots and after a while it shows "Factory Reset" in the log... but after restarting everything is as before ...

    How is the procedure to bring the Onion in the factory state back?
    I just do have mini docks for my two onions and do also not have a Ethernet expansion!

    I can log in to the Omega over the onion-console but can not store changes ... not for the Wifi (set a pw for AP) nor for the Time Zone.

    if i do a ls in root it looks like this:

     root@Omega-269D:/# ls -ahl
     drwxr-xr-x    1 root     root           0 Apr  2 23:07 .
     drwxr-xr-x    1 root     root           0 Apr  2 23:07 ..
     drwxr-xr-x    2 root     root         722 Apr  2 23:11 bin
     drwxr-xr-x    5 root     root         920 Apr  4 20:37 dev
     drwxrwxr-x    1 root     root           0 Apr  2 23:06 etc
     drwxr-xr-x   11 root     root         807 Apr  2 23:01 lib
     drwxr-xr-x    2 root     root           3 Apr  2 23:05 mnt
     drwxr-xr-x    5 root     root           0 Jan  1  1970 overlay
     dr-xr-xr-x   48 root     root           0 Jan  1  1970 proc
     drwxrwxr-x   16 root     root         235 Apr  2 23:11 rom
     drwxr-xr-x    2 root     root           3 Apr  2 23:05 root
     drwxr-xr-x    2 root     root         742 Apr  2 23:11 sbin
     dr-xr-xr-x   11 root     root           0 Jan  1  1970 sys
     drwxrwxrwt   17 root     root         500 Apr 10 20:37 tmp
     drwxr-xr-x    1 root     root           0 Jan 31 12:17 usr
     lrwxrwxrwx    1 root     root           4 Apr  2 23:11 var -> /tmp
     drwxr-xr-x    9 root     root         159 Apr  2 23:11 www

  • administrators

    @Luciano-S.
    If I understand correctly:

    • Your Omega successfully boots
    • But any changes you make to the file system aren't persistent
    • And you would like to perform a factory restore

    The Factory Restore using the Reset Button will only work when you've booted into the Omega's OS. Once it boots you can hold the Reset Button for 10 seconds, then release and that will trigger a Restore. Note that in this scenario, factory restore means deleting all data on the device and writing the data from the most recent firmware upgrade.

    If pressing the button doesn't work, you can try running the firstboot command from the terminal (after the Omega has finished booting).

    Please let me know how it works out or if I've misunderstood what you're trying to accomplish.



  • Yes ... it looks like as you are mentioning.
    i was trying firstboot ... i get the message:
    /dev/mtdblock3 is mounted as /overlay, only erasing files
    I don't understand this message?
    In reality i just should have the undo steps of Using-USB-Storage-as-Rootfs.

    It looks like that I boot in /dev/mtdblock3, so unmount and delete /overlay?


  • administrators

    Running firstboot will take care of everything for you, no need to delete anything manually.

    What behaviour are you seeing now?



  • If i do firstboot and say yes, comes the message:
    "/dev/mtdblock3 is mounted as /overlay, only erasing files"
    No automatic reboot ... i do it manualy (switch off / on)

    ... brings everything up to the same as before!

    It seems my system is now just read only
    opkg update brings:

    root@Omega-269D:/rom# opkg update
    Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.gz.
    Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.sig.
    Signature check failed.
    Remove wrong Signature file.
    ...



  • Firstboot definitely not works.
    Is there a other way to solve the problem?


  • administrators

    @Luciano-S. When I run firstboot i have to manually reboot as well, but it wipes out all of the changes to the filesystem since the last firmware flash.

    Can you try running oupgrade -f to force an install of the most recent stable firmware?
    After that, you should be able to use the reset button to perform a factory restore.



  • I made the update to 0.0.8 (b297) mine was 0.0.8 (b296).
    With the new version it is possible to set a Password for the AP.

    Tomorrow i will test the rest. Checking if i can firstboot and then do a Factory Reset.

    Was there a problem with the Firmware 0.0.8 (b296)?


  • administrators

    @Luciano-S. There shouldn't be a problem with b296, there's a very small difference between b296 and b297 (just added tmux back into the firmware).

    In any case, I'm glad to hear there's progress! Let me know how the rest of it goes.



  • When I press 10Seconds after booting, it writes with the Serial connection "Factory Reset" on the screen ... after led not blinking anymore i don't see a difference. This is after i made with success the update to the newest release as mentioned yesterday.

    firstboot still brings "/dev/mtdblock3 is mounted as /overlay, only erasing files"

    I dont know if i activated the debug mode 1 or a alternative reset (7 sec. hold)
    it came upt this:

    Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
    - failsafe button reset was pressed -
    - failsafe -
    
    BusyBox v1.23.2 (2016-04-05 00:44:03 UTC) built-in shell (ash)
    ash: can't access tty; job control turned off
     _______                     ________        __
    |       |.-----.-----.-----.|  |  |  |.----.|  |_
    |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
    |_______||   __|_____|__|__||________||__|  |____|
             |__| W I R E L E S S   F R E E D O M
     -----------------------------------------------------
         CHAOS CALMER (Chaos Calmer, r49117)
    -----------------------------------------------------
    * 1 1/2 oz Gin            Shake with a glassful
    * 1/4 oz Triple Sec       of broken ice and pour
    * 3/4 oz Lime Juice       unstrained into a goblet.
    * 1 1/2 oz Orange Juice
    * 1 tsp. Grenadine Syrup
    -----------------------------------------------------
    ================= FAILSAFE MODE active ================
    special commands:
    * firstboot          reset settings to factory defaults
    * mount_root     mount root-partition with config files
     after mount_root:
    * passwd                         change root's password
    * /etc/config               directory with config files
     for more help see:
    http://wiki.openwrt.org/doc/howto/generic.failsafe
    =======================================================
    
    root@(none):/# ls
    bin      etc      mnt      proc     root     sys      usr      www
    dev      lib      overlay  rom      sbin     tmp      var
    root@(none):/# [   77.530000] random: nonblocking pool is initialized
    root@(none):/# 
    


  • @Lazar-Demin said:

    In any case, I'm glad to hear there's progress! Let me know how the rest of it goes.

    Every change I do is undone after reboot. (firstboot & factory reset)
    Need a tutorial how to undo Using-USB-Storage-as-Rootfs !



  • @Luciano-S. said:

    @Lazar-Demin said:

    In any case, I'm glad to hear there's progress! Let me know how the rest of it goes.

    Every change I do is undone after reboot. (firstboot & factory reset)
    Need a tutorial how to undo Using-USB-Storage-as-Rootfs !

    Consider this tutorial made when I get home from work tonight!

    EDIT> Tutorial finished I did a pull request to the wiki but here it is for you now cause for some projects time is an essence.

    How to perform a real factory reset


    We all love our Onion Omega's and there are tons of things you can do with them. But because of the versatility you may find your self in a situation where you would like to start-over and get it to it's original out of the box state.

    Step one:

    Download the default firmware to your /tmp/ directory (This has a 16mb capacity) using this command.

    wget http://repo.onion.io/omega/images/omega-v0.0.1-b156.bin /tmp/openwrt-ar71xx-generic-onion-omega-squashfs-factory.bin
    

    Me downloading factory firmware on my webcam server

    Step two:

    Install the factory firmware with the option to overwrite /etc/

    sysupgrade -n /tmp/openwrt-ar71xx-generic-onion-omega-squashfs-factory.bin
    

    Warning after following this tutorial YOU WILL NEED TO UPDATE YOUR FIRMWARE. This tutorial will show you how to reset it to factory firmware (0.0.1 b156)

    If you would like to skip this updating to newest firmware step than for step one do not use the command

    wget http://repo.onion.io/omega/images/omega-v0.0.1-b156.bin /tmp/openwrt-ar71xx-generic-onion-omega-squashfs-factory.bin
    

    Replace http://repo.onion.io/omega/images/omega-v0.0.1-b156.bin with the newest firmware provided from the Offical-Repo



  • Firs of all, thanks a lot for your time and the tutorial!
    I could follow the first two steps and as far as i can see it worked.

    1. Just for your information, I had to rename the file > omega-v0.0.1-b156.bin to openwrt-ar71xx-generic-onion-omega-squashfs-factory.bin manually with mv even if i copied and pasted your command.
    2. Step two worked after rename the file.

    But it looks like that the firmware upgrade not works when i connect with Chrome to the IP 192.168.3.1. Login as root works and the the WiFi connection get established after selecting the right one but the progress bar not grows. For me it looks like that the new firmware not can be downloaded resp. not be saved ?!. The network activity goes from 50byte to 1kb up and down.
    Switching the omega off and on brings him up again:

    [   14.280000] xt_time: kernel timezone is -0000
    [   14.320000] cfg80211: Calling CRDA to update world regulatory domain
    [   14.350000] cfg80211: World regulatory domain updated:
    [   14.350000] cfg80211:  DFS Master region: unset
    [   14.350000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [   14.360000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [   14.370000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [   14.380000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    [   14.390000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [   14.400000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
    [   14.410000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
    [   14.410000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [   14.420000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    [   14.520000] PPP generic driver version 2.4.2
    [   14.520000] NET: Registered protocol family 24
    [   14.610000] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2
    [   14.620000] cfg80211: Calling CRDA for country: US
    [   14.620000] cfg80211: Regulatory domain changed to country: US
    [   14.620000] cfg80211:  DFS Master region: FCC
    [   14.630000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [   14.640000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
    [   14.650000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A)
    [   14.660000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
    [   14.670000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
    [   14.670000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
    [   28.460000] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
    [   28.860000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
    [   30.300000] wlan0: authenticate with 64:70:02:5c:88:56
    [   30.320000] wlan0: send auth to 64:70:02:5c:88:56 (try 1/3)
    [   30.330000] wlan0: authenticated
    [   30.340000] wlan0: associate with 64:70:02:5c:88:56 (try 1/3)
    [   30.340000] wlan0: RX AssocResp from 64:70:02:5c:88:56 (capab=0x411 status=0 aid=2)
    [   30.350000] wlan0: associated
    [   30.350000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    [   30.390000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
    
    
    
    BusyBox v1.23.2 (2015-09-03 10:48:38 UTC) built-in shell (ash)
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/
     -----------------------------------------------------
     CHAOS CALMER (Chaos Calmer, r46767)
     -----------------------------------------------------
    root@Omega-269D:/# [   52.940000] random: nonblocking pool is initialized
    

    With this messages seams to show that someting is missing:
    nonblocking pool is initialized ?

    If I display the mounts with mount i get:

    root@Omega-269D:/# mount
    rootfs on / type rootfs (rw)
    /dev/root on /rom type squashfs (ro,relatime)
    proc on /proc type proc (rw,noatime)
    sysfs on /sys type sysfs (rw,noatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
    /dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
    overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
    tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    debugfs on /sys/kernel/debug type debugfs (rw,noatime)
    

    It seams that the overlayfs still is active ?! In witch fstab file could i check?

    at least i have a fdisk -l to show the partitions:

    root@Omega-269D:/# fdisk -l
    
    Disk /dev/mtdblock0: 0 MB, 131072 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock0 doesn't contain a valid partition table
    
    Disk /dev/mtdblock1: 1 MB, 1135104 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock1 doesn't contain a valid partition table
    
    Disk /dev/mtdblock2: 15 MB, 15444992 bytes
    255 heads, 63 sectors/track, 1 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock2 doesn't contain a valid partition table
    
    Disk /dev/mtdblock3: 11 MB, 11141120 bytes
    255 heads, 63 sectors/track, 1 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock3 doesn't contain a valid partition table
    
    Disk /dev/mtdblock4: 0 MB, 65536 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock4 doesn't contain a valid partition table
    
    Disk /dev/mtdblock5: 16 MB, 16580608 bytes
    255 heads, 63 sectors/track, 2 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock5 doesn't contain a valid partition table
    

    I also was trying oupdate

    root@Omega-269D:/# oupgrade
    > Device Firmware Version: 0.0.1
    > Checking latest version online...
    Failed to parse message data
    > Repo Firmware Version: 
    > Comparing version numbers
    sh: 0: unknown operand
    sh: 0: unknown operand
    sh: 0: unknown operand
    > Device firmware is up to date!
    

    So , I'm a step further to the undoing processes ... hope we can complete the tutorial so that i will be able to run my omegas again.


  • administrators

    @Luciano-S. Ok, lets try installing the latest firmware then:

    cd /tmp
    wget http://repo.onion.io/omega/images/omega-v0.0.8-b299.bin
    

    Once the download is complete...

    sysupgrade -n omega-v0.0.8-b299.bin
    


  • Having similar problems when I return from firstboot, reboot and install my usb stick.
    I run fdisk -l this shows ( and don't get sda1 in /dev am i supposed to reformat my usb stick at his point.)

    root@Omega-xxxx:/dev# fdisk -l
    
    Disk /dev/mtdblock0: 0 MB, 131072 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock0 doesn't contain a valid partition table
    
    Disk /dev/mtdblock1: 1 MB, 1150464 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock1 doesn't contain a valid partition table
    
    Disk /dev/mtdblock2: 15 MB, 15429632 bytes
    255 heads, 63 sectors/track, 1 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock2 doesn't contain a valid partition table
    
    Disk /dev/mtdblock3: 7 MB, 7929856 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock3 doesn't contain a valid partition table
    
    Disk /dev/mtdblock4: 0 MB, 65536 bytes
    255 heads, 63 sectors/track, 0 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock4 doesn't contain a valid partition table
    
    Disk /dev/mtdblock5: 16 MB, 16580608 bytes
    255 heads, 63 sectors/track, 2 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Disk /dev/mtdblock5 doesn't contain a valid partition table
    root@Omega-xxxx:/dev# ls /dev
    bus                 mtd1ro              mtdblock3           shm
    console             mtd2                mtdblock4           snd
    cpu_dma_latency     mtd2ro              mtdblock5           tty
    full                mtd3                network_latency     ttyATH0
    i2c-0               mtd3ro              network_throughput  ttyS0
    kmsg                mtd4                null                uinput
    log                 mtd4ro              port                urandom
    mem                 mtd5                ppp                 watchdog
    memory_bandwidth    mtd5ro              ptmx                zero
    mtd0                mtdblock0           pts
    mtd0ro              mtdblock1           random
    mtd1                mtdblock2           sda
    
    and 
    
    

    root@Omega-xxxx:# mkfs.ext4 /dev/sda
    /bin/ash: mkfs.ext4: not found

    Even though this was run before running above:

    opkg update
    opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras


  • @Lazar-Demin , ok this works too thx. This i saw in the Tutorial from @Chris McCaslin that i could have let out the pass to the older firmware. But i wanted to see if i get rid of the /overlay folder and mount.

    Now i need a detective who can tell me how to get rid of /overlay mount/folder.


  • administrators

    @Luciano-S. I think the /overlay mount is normal, I have it on my Omega and I've never used/setup pivot-overlay or pivot-root:

    root@Omega-18C2:/# mount
    rootfs on / type rootfs (rw)
    /dev/root on /rom type squashfs (ro,relatime)
    proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
    /dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
    overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
    tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600)
    debugfs on /sys/kernel/debug type debugfs (rw,noatime)
    


  • Ok, then I probably was misunderstanding the Tutorial.
    Thx anyway.

    I should have made researches before posting here ... at least i made them now 😉
    How the whole thing works is explained and illustrated in the openWRT Wiki:
    The OpenWrt Flash Layout

    To summarize the topic:

    1. Using a USB-Storage to put the rootfs on it,
      1.1 pivot-overlay moves writable part of filesystem only to a USB-storage.
      1.2 pivot-root copies the whole root filesystem to the USB-storage
    2. Undoo this behavior (1.1 & 1.2) we copy a untouched firmware back to the Omega (How to perform a real factory reset in terminal).

  • administrators

    @Luciano-S. Nice, thanks for the summary!
    Can you add [RESOLVED] to the topic title?



Looks like your connection to Community was lost, please wait while we try to reconnect.