01:30 | vagrantc has left IRC (vagrantc!~vagrant@unaffiliated/vagrantc, Quit: leaving) | |
03:09 | vagrantc has joined IRC (vagrantc!~vagrant@unaffiliated/vagrantc) | |
05:23 | adrianorg has left IRC (adrianorg!~adrianorg@177.18.168.69, Ping timeout: 240 seconds) | |
05:25 | adrianorg has joined IRC (adrianorg!~adrianorg@177.156.227.203) | |
07:02 | ricotz has joined IRC (ricotz!~ricotz@p5B2AA7DA.dip0.t-ipconnect.de) | |
07:02 | ricotz has joined IRC (ricotz!~ricotz@ubuntu/member/ricotz) | |
07:40 | uXus has joined IRC (uXus!~uXus@217.77.222.72) | |
07:40 | mikkel has joined IRC (mikkel!~mikkel@mail.dlvs.dk) | |
07:53 | Softeisbieger has joined IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net) | |
07:55 | vagrantc has left IRC (vagrantc!~vagrant@unaffiliated/vagrantc, Quit: leaving) | |
08:13 | work_alkisg is now known as alkisg | |
08:20 | uXus has left IRC (uXus!~uXus@217.77.222.72, Quit: ail bi bek) | |
08:24 | uXus 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:43 | alkisg 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:26 | work_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:33 | lbssousa 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:05 | limbe 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:52 | Faith has joined IRC (Faith!~paty_@unaffiliated/faith) | |
10:59 | adrianorg has left IRC (adrianorg!~adrianorg@177.156.227.203, Quit: leaving) | |
10:59 | robb_nl has joined IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be) | |
11:00 | adrianorg has joined IRC (adrianorg!~adrianorg@177.156.227.203) | |
11:05 | alkisg is now known as work_alkisg | |
11:28 | mikkel has left IRC (mikkel!~mikkel@mail.dlvs.dk, Quit: Leaving) | |
11:51 | gvy has joined IRC (gvy!~mike@altlinux/developer/mike) | |
12:49 | Softeisbieger has left IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net, Ping timeout: 240 seconds) | |
12:51 | fiesh_ has left IRC (fiesh_!~fiesh@hq.wsoptics.de, Quit: server restart) | |
12:57 | fiesh has joined IRC (fiesh!~fiesh@hq.wsoptics.de) | |
13:56 | limbe has left IRC (limbe!29cd1638@gateway/web/freenode/ip.41.205.22.56, Ping timeout: 252 seconds) | |
14:58 | ben_roose has joined IRC (ben_roose!~roose@roose.cs.wichita.edu) | |
15:43 | work_alkisg is now known as alkisg | |
15:51 | Faith 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:33 | alkisg is now known as work_alkisg | |
16:35 | robb_nl has left IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be, Ping timeout: 250 seconds) | |
16:46 | dtcrshr has left IRC (dtcrshr!~datacrush@unaffiliated/datacrusher, Quit: Saindo) | |
17:42 | dtcrshr has joined IRC (dtcrshr!~datacrush@2801:88:f7a:100:240:a7ff:fe2d:d7c0) | |
17:42 | dtcrshr has joined IRC (dtcrshr!~datacrush@unaffiliated/datacrusher) | |
17:43 | NeonLich1 has left IRC (NeonLich1!~NeonLicht@darwin.ugr.es, Ping timeout: 260 seconds) | |
17:48 | Softeisbieger has joined IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net) | |
18:15 | robb_nl has joined IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be) | |
18:45 | vagrantc has joined IRC (vagrantc!~vagrant@unaffiliated/vagrantc) | |
18:53 | gvy has left IRC (gvy!~mike@altlinux/developer/mike, Quit: Leaving) | |
18:54 | TatankaT has left IRC (TatankaT!~tim@193.190.253.114, Quit: hw failure, trying reboot) | |
19:05 | Softeisbieger has left IRC (Softeisbieger!~Softeisbi@dsl110-168.pool.bitel.net, Ping timeout: 256 seconds) | |
19:09 | lbssousa 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:22 | work_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:36 | Freejack 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:41 | Freejack 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:14 | Dlkauf 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:49 | alkisg 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:36 | robb_nl has left IRC (robb_nl!~robb_nl@ip-80-236-219-25.dsl.scarlet.be, Remote host closed the connection) | |
22:41 | ben_roose has left IRC (ben_roose!~roose@roose.cs.wichita.edu, Remote host closed the connection) | |
23:06 | ricotz has left IRC (ricotz!~ricotz@ubuntu/member/ricotz, Quit: Leaving) | |
23:40 | dtcrshr has left IRC (dtcrshr!~datacrush@unaffiliated/datacrusher, Quit: Saindo) | |