Page 1 of 1

[SOLVED] Porteus 2.0 - Read only filesystem

Posted: 07 Mar 2013, 12:41
by nixlower0
Hello forum-mates! I'm very grateful for your previous help.
I'm very sorry but now I need some help, again.
Here is my error. After boot into a new Porteus v 2.0 i486 I got next message (watch the image below):
Image
I don't know why it happened. Maybe after many saves into save .dat in one session or for other reason.
I don't want to repeat this error and I want to know where was my error. Is there any way to fix it without deleting a save .dat file or I need to create a new one and loose all settings I saved?
I hope I have posted in a right place on this forum, if not - please sorry, I will change to other place.
Thanks in advance for your answers!

Re: Porteus 2.0 - Read only filesystem

Posted: 07 Mar 2013, 13:32
by fanthom
hello nixlower0,

your porteussave.dat seems to be ok as fsck and posix test passed (which also means that save.dat is writable).
are you able to boot in 'always fresh' mode?
if yes then please boot in 'always fresh' -> mount porteussave.dat with 'mloop' cli utility -> show me output of 'cat /proc/mounts' command -> check if you are able to create files/directories in /mnt/loop

also - did you make any modifications to initrd and/or kernel?

Re: Porteus 2.0 - Read only filesystem

Posted: 07 Mar 2013, 14:06
by nixlower0
OK, here what I did:
I navigate to my flash drive and save .dat file:

Code: Select all

guest@porteus:~$ cd /mnt/sdb1/porteus/changes
then I mounted the .dat file using a cli command - mloop

Code: Select all

guest@porteus:/mnt/sdb1/porteus/changes$ mloop porteussave.dat
Please enter root's password below
Password: 
using /dev/loop8

Please wait while i gather some info ....



#################################
Your data file has been mounted at:
/mnt/loop

You can unmount it by typing uloop

Here is a list of the files:
etc  home  lib	lost+found  mnt  opt  root  usr  var
Then I used a 'cat' command you asked:

Code: Select all

guest@porteus:/mnt/sdb1/porteus/changes$ cat /proc/mounts
rootfs / rootfs rw 0 0
tmpfs /mnt/live tmpfs rw,relatime,mode=755 0 0
proc /mnt/live/proc proc rw,relatime 0 0
sysfs /mnt/live/sys sysfs rw,relatime 0 0
none /mnt/live/dev devtmpfs rw,relatime,size=1035900k,nr_inodes=221276,mode=755 0 0
/dev/sda1 /mnt/sda1 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
/dev/sda5 /mnt/sda5 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
/dev/sda6 /mnt/sda6 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
/dev/sda7 /mnt/sda7 vfat rw,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,check=s,utf8,errors=remount-ro 0 0
/dev/sda8 /mnt/sda8 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/sdb1 /mnt/sdb1 vfat rw,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,check=s,utf8,errors=remount-ro 0 0
tmpfs /mnt/live/memory/changes tmpfs rw,relatime,size=1243736k 0 0
aufs / aufs rw,relatime,si=c21711de,nowarn_perm 0 0
/dev/loop0 /mnt/live/memory/images/000-kernel.xzm squashfs ro,relatime 0 0
/dev/loop1 /mnt/live/memory/images/001-core.xzm squashfs ro,relatime 0 0
/dev/loop2 /mnt/live/memory/images/002-xorg.xzm squashfs ro,relatime 0 0
/dev/loop3 /mnt/live/memory/images/004-razor.xzm squashfs ro,relatime 0 0
/dev/loop4 /mnt/live/memory/images/005-apps.xzm squashfs ro,relatime 0 0
/dev/loop5 /mnt/live/memory/images/006-abiword.xzm squashfs ro,relatime 0 0
/dev/loop6 /mnt/live/memory/images/007-devel.xzm squashfs ro,relatime 0 0
/dev/loop7 /mnt/live/memory/images/008-firefox.xzm squashfs ro,relatime 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=1035900k,nr_inodes=221276,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,relatime,mode=755 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/sdc1 /media/UBEROID vfat rw,nosuid,nodev,noexec,noatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/loop8 /mnt/loop ext4 rw,relatime,data=ordered 0 0
I don't know if I did the right way...
BTW, I write from 'Always Fresh Mode' and I created a text file on /porteus directory to test if I have write permission.

Re: Porteus 2.0 - Read only filesystem

Posted: 07 Mar 2013, 18:48
by fanthom
I'm wrote from 'Always Fresh Mode' and I created a text file on /porteus directory to test if I have write permission.
i asked you for doing this test in /mnt/loop directory where save.dat was mounted.
please do this test once again:

Code: Select all

mount your save.dat with mloop utility -> create some file in /mnt/loop as root
and let me know if you were able to do it.

despite of the result of previous test please use 'save file manager' -> 'resize' function which will create new .dat container and copy data from the old one.
please boot with this new save.dat and check if all is ok.

thanks

Re: Porteus 2.0 - Read only filesystem

Posted: 09 Mar 2013, 10:48
by nixlower0
Sorry to have made ​​that mistake, I misunderstood what I should do previously. If I commit the same error, please guide me step by step - what should I do?
OK, here I tried again (I hope I did right):
mount your save.dat with mloop utility -> create some file in /mnt/loop as root

Code: Select all

guest@porteus:/mnt$ mloop sdb1/porteus/changes/porteussave.dat
Please enter root's password below
Password: 
using /dev/loop8

Please wait while i gather some info ....



#################################
Your data file has been mounted at:
/mnt/loop

You can unmount it by typing uloop

Here is a list of the files:
etc  home  lib	lost+found  mnt  opt  root  usr  var

guest@porteus:/mnt$ cd loop
guest@porteus:/mnt/loop$ ls
etc/  home/  lib/  lost+found  mnt/  opt  root/  usr/  var/
guest@porteus:/mnt/loop$ cd home
guest@porteus:/mnt/loop/home$ ls
guest/

[u]here I created a file as you asked:[/u]
root@porteus:/mnt/loop/home/guest/wtf# cat> foo.txt
This is a test.
Hello world!
then pressed Ctrl+D to save
guest@porteus:~$ uloop /mnt/loop
Password: 

/mnt/loop has been unmounted
the file was created and edited without any problems
Also I have created a new save.dat by modifying a size of an existing .dat:
despite of the result of previous test please use 'save file manager' -> 'resize' function which will create new .dat container and copy data from the old one.
please boot with this new save.dat and check if all is ok.
I created a new file and changed the name of the old one, looked at porteus.cfg - all was OK. But when I booted with a modified porteussave.dat, same error appeared :(
What should I try now?
Tnank you!

Re: Porteus 2.0 - Read only filesystem

Posted: 09 Mar 2013, 12:07
by fanthom
looks like it's something inside your save.dat blocking aufs from working properly.
please create completely new save.dat and check if it's working ok.

also - any chance you could upload your old porteussave.dat for me?
if yes then please delete private data from it (remove /mnt/loop/home/guest folder) -> compress .dat container with xz utility -> upload somewhere -> send me PM with download link

i'm really wondering why your .dat container is causing an aufs issue and would like to recreate your problem on my PC.

thanks

Re: Porteus 2.0 - Read only filesystem

Posted: 09 Mar 2013, 12:22
by nixlower0
OK, thank you. I will try a completly new "save.dat" and I will try to boot with it.
Aslo, I will upload my "bad" save.dat to DropBox, Ubuntu One or Mediafire (which you want).

Re: Porteus 2.0 - Read only filesystem

Posted: 09 Mar 2013, 18:56
by fanthom
mediafire is ok.
btw: dont forget to check if new save.dat works ok for you.

thanks

Re: Porteus 2.0 - Read only filesystem

Posted: 10 Mar 2013, 08:51
by nixlower0
Hello!
I succeed to boot with a new save.dat file.
Then, when I was preparing the broken .dat file to send, I remove all personal data from my /home directory:

Code: Select all

root@porteus:/mnt/loop/home# rm -rf guest
Now I need to compress this .dat file with xz or tar or even with 7z?
Other question I have is - which filesystem chose for save.dat - xfs, ext4 (like I chose) or reiserfs?
If all is OK, I can send you that without those removed directories.
(sorry I modified this post, but after I tried to compress a .dat - $ xz /"path"/orig_porteussave.dat it deleted the original and I made a copy of the modified "broken.dat" (which I made previously with "Porteus save file manager". I repeated all steps and successfully deleted guest directory on home (/mnt/loop/home/guest) and now I nee to try to compress it, then I will PM You).

Re: Porteus 2.0 - Read only filesystem

Posted: 10 Mar 2013, 14:46
by brokenman
It should be enough to remove your guest directory files and then unmount the /mnt/loop.
Then you compress the save.dat file.

Code: Select all

xz --lzma2 /path/to/save.dat

Re: Porteus 2.0 - Read only filesystem

Posted: 10 Mar 2013, 14:47
by fanthom
thanks for providing save.dat for testing.
aufs whiteout files got damaged and were containing part of other files - main reason of your troubles. i have removed them with following command:

Code: Select all

rm /mnt/loop/.wh.*
and was able to boot with your save.dat on my PC.

unfortunately other files may also be damaged (fsck is not able to fix everything, especially when you save large file and then remove AC) so i would recommend copying most important files to new container and use it instead of old one.

which fs is the best: reiserfs is slowest but reiserfsck does really good job. if you care about stability then give it a go.

how to prevent similar situations in the future:
a) shut down your PC the correct way (reboot/shutdown button in GUI)
b) if your data are most important then buy UPS to prevent occasional power failures
c) if you get a message that 'union' was not unmounted correctly and fsck is needed (fsck runs automatically on .dat containers) then let me know how it happened. hopefully i'll be able to fx it in next release.

Thanks

Re: Porteus 2.0 - Read only filesystem

Posted: 10 Mar 2013, 17:11
by nixlower0
brokenman wrote:It should be enough to remove your guest directory files and then unmount the /mnt/loop.
Thanks, I did that way.
brokenman wrote:Then you compress the save.dat file.

Code: Select all

xz --lzma2 /path/to/save.dat
And next time I need to compress something, I will use that command.

@fanthom
Thanks for your big help. Next time I will try to prevent similar situation by using your tips. There was not any important information in that save.dat file, only some updated modules and nVidia 310 driver, I was asking for help with that file just in case in a near future I will have something important to lose. Now I know the safest FS is reiserfs (I was thinking it is ext4 is more resistaint and stable to power failures). But if I want to have a faster FS (for example for games) I need to use other FS - ext4 or xfs?

Thanks once again to fanthom and brokenman! I'll mark this topic as SOLVED.