IRC chat logs for #ltsp on irc.freenode.net (webchat)


Channel log from 11 December 2015   (all times are UTC)

01:30vagrantc has left IRC (vagrantc!~vagrant@unaffiliated/vagrantc, Quit: leaving)
03:09vagrantc has joined IRC (vagrantc!~vagrant@unaffiliated/vagrantc)
05:23adrianorg has left IRC (adrianorg!~adrianorg@177.18.168.69, Ping timeout: 240 seconds)
05:25adrianorg has joined IRC (adrianorg!~adrianorg@177.156.227.203)
07:02ricotz has joined IRC (ricotz!~ricotz@p5B2AA7DA.dip0.t-ipconnect.de)
07:02ricotz has joined IRC (ricotz!~ricotz@ubuntu/member/ricotz)
07:40uXus has joined IRC (uXus!~uXus@217.77.222.72)
07:40mikkel has joined IRC (mikkel!~mikkel@mail.dlvs.dk)
07:53Softeisbieger has joined IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net)
07:55vagrantc has left IRC (vagrantc!~vagrant@unaffiliated/vagrantc, Quit: leaving)
08:13work_alkisg is now known as alkisg
08:20uXus has left IRC (uXus!~uXus@217.77.222.72, Quit: ail bi bek)
08:24uXus has joined IRC (uXus!~uXus@217.77.222.72)
08:41
<alkisg>
gehidore: cool, I now have a sparse btrfs image under vbox, completely avoiding ltsp-update-image!
08:41
Thanks!
08:41
*compressed as well
08:41
<gehidore>
very very nice
08:43
<alkisg>
bb in 1h...
08:43alkisg is now known as work_alkisg
08:43
<gehidore>
I'm almost to the point where I can actually get back to implementing LTSP at the office, only going to be 5-6 machines to the start, but will make for much easier maintenance
08:43
cheers
09:26work_alkisg is now known as alkisg
09:30
<alkisg>
Heh, and it has the nice side-effect of supporting snapshots for the "chroot"
09:30
I.e. vbox manages the .diff, and when one is ready to ship it, he can delete the previous snapshot and merge it with the .raw image
09:33lbssousa has joined IRC (lbssousa!~laercio@177.143.28.89)
09:49
<alkisg>
gehidore: Do you have a bit time to explain some btrfs things to me, so that I make ltsp-update-kernels support btrfs loopback images better?
09:49
$ ls /mnt
09:49
@ @home ubiquity-apt-clone var
09:49
Those are the contents of /opt/ltsp/images/xenial-i386.img
09:50
@ is the root subvolume, @home is the home subvolume, why are the others there?
09:50
Also, is "@" standard? If the loopback image is btrfs, is "@" always the "default subvolume"?
09:57
Just passing the subvol=@ to ltsp-update-kernels did it: if mark_mount -o loop,ro,subvol=@ "$BASE/images/$name.img" "$mnt"; then
10:05limbe has joined IRC (limbe!29cd1638@gateway/web/freenode/ip.41.205.22.56)
10:05
<limbe>
hello am i not the right channel for pinet
10:06
<alkisg>
pinet uses ltsp, but the pinet developer mentioned that he wants users to mail him instead of coming here to this channel
10:06
The mail is somewhere in his site
10:06
!raspberrypi
10:06
<ltsp`>
raspberrypi: (#1) Ubuntu/LTSP on Pi 2: https://help.ubuntu.com/community/UbuntuLTSP/RaspberryPi, or (#2) Debian/LTSP (with raspbian chroot) on Pi: http://cascadia.debian.net/trenza/Documentation/raspberrypi-ltsp-howto/, or (#3) unofficial Ubuntu/LTSP (with raspbian chroot) on Pi: http://pinet.org.uk/
10:12
<limbe>
ok thanks
10:52Faith has joined IRC (Faith!~paty_@unaffiliated/faith)
10:59adrianorg has left IRC (adrianorg!~adrianorg@177.156.227.203, Quit: leaving)
10:59robb_nl has joined IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be)
11:00adrianorg has joined IRC (adrianorg!~adrianorg@177.156.227.203)
11:05alkisg is now known as work_alkisg
11:28mikkel has left IRC (mikkel!~mikkel@mail.dlvs.dk, Quit: Leaving)
11:51gvy has joined IRC (gvy!~mike@altlinux/developer/mike)
12:49Softeisbieger has left IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net, Ping timeout: 240 seconds)
12:51fiesh_ has left IRC (fiesh_!~fiesh@hq.wsoptics.de, Quit: server restart)
12:57fiesh has joined IRC (fiesh!~fiesh@hq.wsoptics.de)
13:56limbe has left IRC (limbe!29cd1638@gateway/web/freenode/ip.41.205.22.56, Ping timeout: 252 seconds)
14:58ben_roose has joined IRC (ben_roose!~roose@roose.cs.wichita.edu)
15:43work_alkisg is now known as alkisg
15:51Faith has left IRC (Faith!~paty_@unaffiliated/faith, Quit: Leaving)
16:02
<alkisg>
lbssousa: nice!!! http://phoronix.com/scan.php?page=news_item&px=Xephyr-7-GPU-Multi-Seat
16:04
<lbssousa>
alkisg: thanks!
16:05
However, it's taking a long long way to get reviewed.
16:07
It seems I'm the only one interested in this use case.
16:08
<alkisg>
It's a shame, multiseat wouldn't be that hard to be implemented correctly in linux and it would have 3d and everything if done properly
16:08
One pc for e.g. 3 kids ==> one full lab with just 4 pcs, it would be fine
16:17
<lbssousa>
Multi-seat in Linux is currently feasible if you have a modern CPU+motherboard so you can have a dedicated GPU for each seat (integrated+additional PCI-e cards).
16:17
Unfortunately, it's not my case.
16:18
My multi-seat lab consists of old hardware, where I can't use a PCI-e card concomitantly with integrated Intel graphics.
16:19
<alkisg>
some laptops have 3 different video outs with a single graphics card
16:20
<lbssousa>
Instead, I have a dual-head old-fashion PCI card (Silicon Motion SM-501 based), so I can configure up to 3 seats using Xephyr or Xorg with nested video driver.
16:20
<alkisg>
it'd be nice to have 3 monitors * 2 students == 6 students working from a single 300 € laptop
16:20
<lbssousa>
Yes, laptop-based multi-seat would be another use case for Xephyr.
16:22
I wonder it my patches can get upstreamed in time for Xenial, but I'm losing my hopes...
16:24
I don't like keeping a forked xorg-server package in a PPA just for it.
16:33alkisg is now known as work_alkisg
16:35robb_nl has left IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be, Ping timeout: 250 seconds)
16:46dtcrshr has left IRC (dtcrshr!~datacrush@unaffiliated/datacrusher, Quit: Saindo)
17:42dtcrshr has joined IRC (dtcrshr!~datacrush@2801:88:f7a:100:240:a7ff:fe2d:d7c0)
17:42dtcrshr has joined IRC (dtcrshr!~datacrush@unaffiliated/datacrusher)
17:43NeonLich1 has left IRC (NeonLich1!~NeonLicht@darwin.ugr.es, Ping timeout: 260 seconds)
17:48Softeisbieger has joined IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net)
18:15robb_nl has joined IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be)
18:45vagrantc has joined IRC (vagrantc!~vagrant@unaffiliated/vagrantc)
18:53gvy has left IRC (gvy!~mike@altlinux/developer/mike, Quit: Leaving)
18:54TatankaT has left IRC (TatankaT!~tim@193.190.253.114, Quit: hw failure, trying reboot)
19:05Softeisbieger has left IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net, Ping timeout: 256 seconds)
19:09lbssousa has left IRC (lbssousa!~laercio@177.143.28.89, Quit: lbssousa)
19:41
<gehidore>
work_alkisg: let me know when you're around, I'll helps yuou
20:22work_alkisg is now known as alkisg
20:22
<alkisg>
gehidore: hello
20:23
I've managed to reach the point where ltsp-update-kernels runs fine and pulls the kernel/initrd from the loopback btrfs image
20:23
My problem is that when the client tries to boot, overlayfs over btrfs fails, and the client can't boot
20:24
<gehidore>
what's the error by chance?
20:24
<alkisg>
I was able to easily reproduce it without ltsp; just make an overlay of (lowerdir=btrfs,ro and upperdir=tmpfs,rw)
20:24
<gehidore>
I've used overlayfs plenty of times with machinectl and systemd-nspawn
20:24
<alkisg>
At that point, I'm able to read/write anything under the root dir of the overlay
20:24
So e.g. mkdir /test or touch /test/hi work
20:24
But all the existing dirs are read only!
20:24
So touch /etc/hi doesn't work
20:24
It says operation not supported
20:25
<gehidore>
hrm
20:25
<alkisg>
I couldn't locate a bug report about it though in the kernel bugzilla
20:25
So I want to try with some other kernel, maybe in another distro than ubuntu
20:25
<gehidore>
let me finish up this other task right quick, and I'll try that out here as well, though we may have differentiating kernel/progs etc
20:25* gehidore is on archlinux "stable"
20:25
<alkisg>
If it works for you, then it should be easier to solve, if it's an ubuntu bug...
20:26
gehidore: to make ltsp-update-kernels work, I had to put "-o subvol=@" in the mount command line
20:26
But it won't always be named "@", will it?
20:26
Is there any way to tell btrfs to mount the "default subvolume"?
20:28* alkisg should better wait with the questions until gehidore finishes that other task :)
20:28
<vagrantc>
gehidore: systemd-nspawn probably mounts the filesystem before starting the machine
20:31
<alkisg>
vagrantc: to sum up, I made a 10G sparse file, mkfs.btrfs, passed it to vbox as a virtual hard disk, installed ubuntu in it while enabling compression (only grub failed, the rest worked fine), and then exposed it via nbd normally by putting it in /opt/ltsp/images/
20:31
So, no need for ltsp-update-image, it supports snapshots (through vbox) etc
20:32
If overlayfs won't work, I'll use nbd-server -c instead
20:32
(cow mode in the server side)
20:32
The only change in the ltsp code needed so far was a "-o subvol=@" in ltsp-update-kernels, nothing more
20:33* gehidore returns
20:34
<alkisg>
Ah and of course I installed ltsp-client inside vbox, and ran dpkg-reconfigure grub-pc to have grub installed to /dev/sda
20:34
<gehidore>
the subvolumes can be named however you want
20:34
though ubuntu defaults to @ and @home
20:34
<alkisg>
Is there a "default" one?
20:34
<gehidore>
@ for root
20:35
http://ix.io/mKM but as you can see, anything can be used
20:35
<alkisg>
So if we put "-o subvol=@" in the ltsp code, it'll work in all cases?
20:35
<vagrantc>
alkisg: cool
20:35
<gehidore>
it'll work in ubuntu cases yes
20:35
<alkisg>
We don't want to only support ubuntu in ltsp though
20:36Freejack has left IRC (Freejack!~Freejack@cpe-67-248-0-202.nycap.res.rr.com, Ping timeout: 260 seconds)
20:36
<alkisg>
So I'm looking for a way to get it to work no matter how the user named his root volume
20:36
*subvolume
20:36
<gehidore>
in the btrfs world there is no /standard/ for this
20:36
<alkisg>
Is it easy for the user to rename it to "@" ?
20:36
<vagrantc>
so either we make it configurable, or require the user to follow our standard...
20:37
<gehidore>
with that on the table if someone goes thru lengths to change or setup non ubuntu standard @ and @home then it should just be as easy as providing them with a flag or configuration file to set
20:37
<alkisg>
suppose someone is using ltsp on opensuse...
20:37
<gehidore>
you can rename subvolumes with the `mv` command
20:38
<alkisg>
OK then we can just tell them to rename them until we have an actual use case that needs a configuration file for that
20:38
<gehidore>
my use case wants a configuration or flag :P
20:38
<alkisg>
Haha
20:38
<gehidore>
tis not a joke, but is probably months in the making
20:38
<alkisg>
The problem is that we'll need a configuration option per-image
20:39
E.g. a different one for ubuntu chroots and another for arch chroots, on the same server
20:39
Which gets a bit overcomplicated for a small mount option
20:39
<gehidore>
now if we want to get into "not recommended" procedures we can tell them they must set a new default subvolume via btrfs - highly not recommmended
20:39
the configuration would be as easy as allowing a --root= flag to the update tool/script?
20:40
or a `update.conf` which they include root= or rootflags or whatever
20:40
<alkisg>
It would have to be per-image
20:40
<gehidore>
like per client?
20:40
<alkisg>
So in update.conf we'd have "ROOTFLAGS_FOR_UBUNTU_CHROOT=subvol=@"
20:40
<gehidore>
I guess I don't know what per-image would mean
20:40
<alkisg>
ls /opt/ltsp/images
20:40
<gehidore>
*oh*
20:40
<alkisg>
The files in there
20:41
gehidore: when I mount the btrfs image without using subvol, I see: @ @home var some-ubiquity-dir
20:41Freejack has joined IRC (Freejack!~Freejack@unaffiliated/freejack)
20:41
<gehidore>
yes you're seeing the root volume
20:41
<alkisg>
How is this called? When I'm not using a subvol? The root volume?
20:41
Can we tell the users to create a symlink there?
20:41
Like, ln -s my-real-root "@"
20:41
So that then we always expect the "@" dir there?
20:41
<gehidore>
to my knowledge that doesn't work for booting
20:41
but it would work for filesystem changes
20:42
like cp / mv / rm
20:42
<alkisg>
Ah yes that's another issue
20:42
We'll need the subvol=xxx option in pxelinux.cfg as well
20:43
rootflags=subvol=@
20:43
<gehidore>
aye
20:43
<alkisg>
OK then it's not a server-side option anymore
20:43
<gehidore>
there are also people that don't use subvolumes with btrfs, which makes me wonder why they use btrfs...
20:43
<alkisg>
If I could easily tell ubuntu not to use subvolumes, I'd surely do that
20:44
In that ltsp case now, I only want btrfs for its compression
20:44
<gehidore>
ah
20:44
you could go back to that line of not recommended and change that subvol to default
20:44
it's evil and naughty but would get you by without having to tell users to do fancy things
20:45
<alkisg>
They would have to do them at install time though
20:45
<gehidore>
`btrfs subvolume set-default #` where # is the sub id of the @ subvolume
20:45
aye you would
20:45
it all starts to become rather hackish around that point
20:46
<alkisg>
Ideally, we'd file a bug for the ubuntu installer not to choke with /dev/sda=btrfs (not sda1), and to allow defining "compress" somewhere, so that it would be very easy for users
20:46
<gehidore>
for clarity, back to the defined per image, would it need to be defined per image because we're shipping this config prepopulated for common images?
20:47
<alkisg>
I'm on ubuntu. Suppse I have 10 VMs of various OSes, all in /opt/ltsp/images/, and I can manage them with vbox and then netboot clients with them.
20:47
<gehidore>
and vagrantc when I referred to overlayfs and nspawn I was manually doing the overlay so I could use a single machine image and have a dozen machines boot from it with their own minor changes saved elsewhere rather than 12 copies of the single machine
20:48
<alkisg>
The /opt/ltsp/images/arch.img would need e.g. "subvol=XXX", while /opt/ltsp/images/ubuntu.img would need "subvol=@"
20:48
<gehidore>
is *.img an actual loopback device or a directory?
20:49
<alkisg>
A loopback file
20:49
truncate -s 10G file.img; mkfs.btrfs file.img
20:51
<gehidore>
so currently all informations required to pxe boot a non btrfs image would be inside that image
20:51
<alkisg>
Yes. But ltsp-update-kernels loop-mounts it and gets the kernel/initrd from inside it and puts it to the tftp dir
20:52
<gehidore>
when loop mounted then we could parse a config file associated by name with that image for rootflags?
20:52
<alkisg>
Yes, if we knew the root subvolume where that configuration file would be :D
20:53
But ok we can first loop mount the root volume, and then scan for the root subvolume
20:53
<gehidore>
I'm speaking of /opt/ltsp/images/arch{.conf,.img}
20:53
<alkisg>
It doesn't sound nice to have the same information in 2 places
20:54
The first place being inside the image, in <loop>/boot/pxelinux.cfg/ltsp
20:54
<gehidore>
if it's there then
20:54
but how did it get there?
20:54
<alkisg>
It's the responsibility of ltsp-client to define the correct kernel cmdline
20:54
In the VM, grub puts it in /boot/grub/grub.cfg
20:55
<gehidore>
and it's something that can be trusted to find the proper rootflags or it's a prompt from the user?
20:55
<alkisg>
Currently ltsp-client isn't smart enough to read it, but it could check /proc/cmdline or something
20:55
<gehidore>
we /should/ trust the bootloaders cmdline I would thing
20:55
think even
20:55
<alkisg>
It shouldn't need to prompt the user
20:55
<gehidore>
for example
20:55
<alkisg>
Maybe we can make ltsp-update-kernels smart enough to look for grub.cfg
20:55
<gehidore>
https://beaveris.me/ss/1449867347N2NmM.png
20:56
that's in the bootloaders configuration file on this machine
20:57
assuming a bash script it'd be pretty easy to grep or awk for rootflags=
20:58
ltsp is mostly python isn't it?
20:58
<alkisg>
mostly shell
20:58
<gehidore>
mostly shell
20:59
dandy
21:00
<alkisg>
My best idea so far is that when ltsp-client gets installed, it would check if it's in a chroot or not, and if it isn't, it would use /proc/cmdline
21:00
<gehidore>
that'd work fantastic too
21:01
I kept reading that as /proc/mounts which is why I kept failing to comment on it, sorry
21:01
<alkisg>
:)
21:01
<gehidore>
that'd be agnostic of the bootloader which is ideal too
21:02
<alkisg>
Only root=xxx would need to be stripped... sounds doable....
21:02
<gehidore>
https://beaveris.me/ss/1449867741NTcyZ.png
21:03
<alkisg>
gehidore: if I create some compressed files in a btrfs volume, and later on I mount it without "compress", they are still readable, right?
21:03
<gehidore>
yes
21:03
<alkisg>
Cool
21:03
<gehidore>
future writes will be uncompressed
21:03
future writes will be /not/compressed
21:04
all files read compressed will stay compressed until modified
21:04
<alkisg>
So, omit "BOOT_IMAGE=, root=, initrd=" from /proc/cmdline, the rest are needed
21:04
...you can use 2 initrds there? nice!
21:05
<gehidore>
makes for much crazy :D
21:05
<alkisg>
We could put ltsp-specific information in the second initrd.. :)
21:05
*ltsp-server specific info, like keys, ip...
21:09
<gehidore>
not sure how well that would actually work as if the first initrd is loading the kernel I don't think it'll ever move to the second one?
21:09
in my case it's the ucode update for intel cpu's
21:10
not to say it's not worth fleshing out and testing
21:10
<alkisg>
I think it's like an overlay, first+second+third etc
21:10
<gehidore>
that would make more sense to me if it was
21:10
<alkisg>
I.e. all the files are combined into a single tree
21:11
I think I tried it once... and I think syslinux puts the dhcp packet in the initramfs in the same way
21:11
*pxelinux
21:11
<gehidore>
actually I think you're right
21:12
so what was this overlayfs issue you where having?
21:12
I want to see if I can mimic it on this machine
21:12
<alkisg>
let me get you the exact commands..
21:12
<gehidore>
excellent
21:14Dlkauf has left IRC (Dlkauf!4ada5522@gateway/web/freenode/ip.74.218.85.34, Quit: Page closed)
21:20
<gehidore>
got some rummaging to do for parts, bbiab
21:21
<alkisg>
mkdir /tmp/tmpfs
21:21
mount -t tmpfs -o mode=0755 tmpfs /tmp/tmpfs
21:21
cd /tmp/tmpfs
21:21
mkdir upper work root
21:21
mount -o ro,subvol=@ /opt/ltsp/images/xenial-i386.img /mnt
21:21
mount -t overlay -o lowerdir=/mnt,upperdir=upper,workdir=work overlay root
21:21
touch root/hi # works
21:21
touch root/usr/hi # operation not supported
21:21
Those should do it...
21:23
<gehidore>
I'll try that when I return, ~15-30 minutes
21:23
<alkisg>
Thanks
21:23
If I'm not here then, I'll see the results tomorrow
21:49alkisg is now known as work_alkisg
22:08
<gehidore>
ok back
22:09
work_alkisg: can you put a link up for that image so I have something to work with by chance?
22:10
or anyone who would have a good link to any ltsp img to use...
22:36robb_nl has left IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be, Remote host closed the connection)
22:41ben_roose has left IRC (ben_roose!~roose@roose.cs.wichita.edu, Remote host closed the connection)
23:06ricotz has left IRC (ricotz!~ricotz@ubuntu/member/ricotz, Quit: Leaving)
23:40dtcrshr has left IRC (dtcrshr!~datacrush@unaffiliated/datacrusher, Quit: Saindo)