Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [EN] siduction - where is the cow?  (Read 6668 times)

ian_s

  • Guest
[EN] siduction - where is the cow?
« on: 2012/01/05, 02:53:45 »
Hi all siducers, I've just discovered siduction ( oops that sound a bit odd - sorry )

( I'm not sure where to post this )

I just downloaded siduction (siduction-11.1-OneStepBeyond-kde-i386-201112302148.iso ) it works great, pleasing artwork, runs and boots fast, I thought I want to use this as my new main os.

But the problem is where is the "/fll/cow" directory? Let me try to explain why I need this.

For years I have used exclusively "live" systems on the Hard Drive (also pendrive) based on kanotix then sidux then aptosid, all aditional software is installed on additional layers in the aufs filesystem (formerly unionfs). I'm not very good at explaining, for example my current system has the aufs filesystem shown layered like this:-

aptosid@aptosid:/fll/160gLrp1/aptosid-112-kde/test32/scripts$ ./unionctl /fll/aufs/ --list
        /fll/cow (rw-)
        /fll/160gLrp1/aptosid-112-kde/test32/l0 (r--)
        /fll/160gLrp1/aptosid-112-kde/test32/h1 (r--)
        /fll/160gLrp1/aptosid-112-kde/test32/arduino-1-aoss (r--)
        /fll/160gLrp1/aptosid-112-kde/test32/i8 (r--)
        /fll/aptosid (---)

the layers between /fll/cow (in memory) and /fll/aptosid (the mounted squashfs file) contain all the added packages and some links.

the relevant lines from the command to display mounts are:-

aptosid@aptosid:~$ mount
...
/dev/sdb1 on /fll/160gLrp1 type reiserfs (ro,noatime)
/dev/loop0 on /fll/aptosid type squashfs (ro,relatime)
aufs on /fll/aufs type aufs (rw,relatime,si=8a85f4a2,ins:1:../0/=ro,ins:1:../1/=ro,ins:1:../2-2=ro,ins:1:../3-3=ro)
...

Details of the layers (or branches) of the aufs can be found in files in the "/sys/fs/aufs" directory. On my current system:-

aptosid@aptosid:~$ ls /sys/fs/aufs/* -l
-r--r--r-- 1 root root 4096 Jan  4 21:15 /sys/fs/aufs/config

/sys/fs/aufs/si_8a85f4a2:
total 0
-r--r--r-- 1 root root 4096 Jan  4 18:50 br0
-r--r--r-- 1 root root 4096 Jan  4 18:50 br1
-r--r--r-- 1 root root 4096 Jan  4 18:50 br2
-r--r--r-- 1 root root 4096 Jan  4 18:50 br3
-r--r--r-- 1 root root 4096 Jan  4 18:50 br4
-r--r--r-- 1 root root 4096 Jan  4 18:50 br5
-r--r--r-- 1 root root 4096 Jan  4 21:15 xi_path

(there is none indicated here in siduction)

I have "live" installed siduction and will be experimenting and investigating and dare I say playing with it to try and get to know it better ( computers are not just for work, they should also be fun and stimulating ). I already have more questions than answers.

Like why no "cow" directory in /fll/ , where is this live info stored? how is this implemented.

Is aufs or similar needed or used?

The main squashfs file siduction.686 instead of just containing directories now seems to contain a large ext4 filesystem that contains the directories? It would be interested to know the thinking and advantages behind this.

In startup scripts in the initrd0.686 seem to be identical to the ones in aptosid, is there some way to change the defaults or even boot codes at alter this behaviour?

Thanks for listening

I will be investigating but any pointers or insights appreciated.

ian_s

ian_s

  • Guest
siduction - where is the cow?
« Reply #1 on: 2012/01/05, 20:13:28 »
Hi all

I found a solution to my problem, I found a way to revert back to the use of aufs instead of dmsetup which siduction now uses.

For those that are interested I will post soon for those who are interested in having a live system with lots of layers, using aufs. Not sure where it should go, I think experimental forum

ian_s

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.870
siduction - where is the cow?
« Reply #2 on: 2012/01/05, 20:16:10 »
aptosid also uses dmsetup, since Oct 2010 iirc. But please let us know what you found.

greetz
devil

ian_s

  • Guest
siduction - where is the cow?
« Reply #3 on: 2012/01/05, 20:45:45 »
Hi

Devil the latest aptosid and previous(which I am currently using) both boot up in live mode with aufs and cow directory in /fll.

Where is the best place to post what i found. and a method to revert to aufs and cow instead of snapshot file in /fll.

ian_s

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.870
siduction - where is the cow?
« Reply #4 on: 2012/01/05, 20:54:33 »
its fine right here.

greetz
devil

ian_s

  • Guest
siduction - where is the cow?
« Reply #5 on: 2012/01/06, 02:42:51 »
Hi all

In the current version of siduction it seems does not use aufs in the same way as previously. Now in the "/fll" directory there is:-
   siduction directory
   a siduction.mnt directory( containing a file siduction.686 - an ext2 filesystem)
   a snapshot file( LVM Snapshot (CopyOnWrite store))
   and a directory mountpoint of the dvd or source HD

But what is required to use aufs as it was used previously would be:-
  an aufs/ direcrory ( same purpose as suduction directory as above )
  a seduction/ directory ( confusingly same purpose as siduction.mnt directory as above )
  a cow/ directory ( to hold live changes same purpose as the snapshot file above )
  and a dvd or HD mountpoint as above

this means device mapper and LVM seems to be used for the same purpose as aufs was used previously. ( I do not have a good understanding how device mapper works - sorry )

( below filenames are for 32bit systems I don't have a 64bit system )

On live systems the base operating system files are usually contained in a highly compressed squashfs file here called siduction.686, this is contained in the /siduction directory on the dvd and usually copied into /siduction directory on the hard drive partition for poor mans install.

( In my case I was in a "poor mans install of siduction" examining the files that the computer was actually running on.)

Now usually in previous versions the siduction.686 ( siduction.amd for 64bit) would just contain the base root filesystem, but confusingly upon inspection the squashfs file siduction.686 contains another file also called siduction.686 which is a sparse exe4 filesystem and this is what contains the root filesystem. ( pause for breadth and wipe my brow )

I converted it to the usual standard squashfs file. Here's how.

Because I'm actually in the in the live partition that I'm running from, I have to make the partition rw.

All commands below are executed as root

Code: [Select]
su                                      # become root
mount -o remount,rw /fll/160gLrp1/      # 160gLrp1 is my hd partition name
cd /fll/160gLrp1/siduction/
mkdir img img2                          # make temp directories
mv siduction.686 siduction-orig.686     # rename the squashfs file
mount -o loop siduction-orig.686 img/   # mount the squashfs file to img direcrory
mount -o loop img/siduction.686 img2/   # mount the ext2 image file to img2 directory
( img2 now contains all the files and directories for the root filesystem. We need to make a new squashfs file from it)
mksquashfs img2/ siduction-new.686
( Wait 20 minutes or so - get a cup of coffee - bang head against wall )
( Now make a link to the new file so that it will be found on next boot )
ln -s siduction-new.686 siduction.686
umount img2
umount img


when you reboot you will have add the cheatcode aufs
when you reboot you will have add the cheatcode aufs
when you reboot you will have add the cheatcode aufs


My boot menu entry that works with the changed squashfs file is:-

title NEW SIDUCTION-11-1-kde live on 160gLrp1
find --set-root --ignore-floppies /160gLrp1.tag
kernel /siduction11-1-kde/vmlinuz0.686 boot=fll quiet vga=791 keytable=gb tz=Europe/London fromhd=LABEL=160gLrp1  aufs
initrd /siduction11-1-kde/initrd0.686

As you can see I'm still using grub4dos, adapt to suit for your boot manager.

There almost certainly a way to update the startup scripts in initr0 to change the type of live mount by changing how the file are mounted just by adding the appropriate bootcode alone, without the need to convert the squashfs file. Unfortunately I'm not expert enough myself, I get very confused looking at those scripts. So it is a really really heartfelt request to the devs for it to be possible for a future release.

Anyway I'm happy now that I can build a live system based on the new distro.

I know Im not very good at explaining things so I will not be at all offended by helpful critisism of the above, and questions of things I didn't explain clearly, or got wrong. I'm not used to posting on forums.

ian_s