| Age | Commit message (Collapse) | Author |
|
The dd step is the longest, so showing the progress is nice. But
dd does not show how big the file is. Hard-code the size since
we know how big it is.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
All trainers are now using stretch (or higher), so use the
status=progress feature. Also, increase the blocksize to
128M since that amount should be available on the cloning
host.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Add the aarch64 toolchain from linaro. Use the same version as
the armhf toolchain: 6.3.1-2017.05.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
If the man-db preseed is not set, the man database is not created
by elbe. This means that things like:
man -k timer
won't work. Preceed the configuration so that the database exists
immediately.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This is useful when demonstrating crash kernels with the Debian
kernel.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
When installing jackd2, it is required that the user choose
if realtime options are allowed. Say "yes" in the preseeding.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
It is nice to have debconf-get-selections so that the preseeding
values can be investigated.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
(helps for a comfortable vmware experience)
open-vm-tools-desktop
(requested from training participants)
vim-gtk3
terminator
iotop
bash-completion
(compression tools for building LZ4-compressed kernel/initramfs)
liblz4-tool
(realtime stress testing)
stress-ng
(fastboot tool)
prelink
(tool for devel/debugging)
clang
(packages for building new kernelshark)
tig
cmake
libjson-c-dev
freeglut3-dev
libxmu-dev
libxi-dev
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
With commit 80aaf492("lx-trainer-vm: take manpages from
stretch-backports"), elbe was no longer able to build the rootfs
because manpages-dev also requires manpages from backports.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This has the "dot" tool for visualizing systemd boot stats.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
We want pthread_mutex_consistent, which is not in stretch.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
After calling partprobe, userspace may need a moment to delete any
previously existing device nodes. Sleep a second to give userspace
a chance to do this before checking for the nodes to appear.
Also, copy the vmdk files in parallel. Otherwise it takes forever
to setup the USB disks.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
The qt5 base dev files allow building of the ivshmem software
device.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
As of 6f5bc54("lx-trainer-vm: increase image size to 64GiB") the
root filesystem is now large enough for all layers and training
work. So there is no reason to create a separate /home partition.
Change the dd-multi.sh script to instead:
- create an exfat partition
- convert the image to VMDK format and copy to exfat partition
This allows participants who cannot boot from USB to be able to
use VMware or VirtualBox during the training. They need only to
create a virtual machine and set the "training-hd.vmdk" file as
the hard drive.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Rename the variable representing the extra partition. Until now
this was /home but it will be changed to be an extra partition.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Until now, a separate /home partition was created during post-build.
However, now that the entire root filesystem will also need to exist
as a VMDK file, it is simpler to just have the entire root filesystem
in a single partition.
64GiB is currently large enough for the largest training: Yocto,
20GiB in layers with worst case about 10GiB in data generated during
the training.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
The generated image will be post-modified to include an exfat
partition with a VMDK version of the image stored. This can be
used by VMware or VirtualBox in case the image cannot be directly
booted. Having the exfat tools in the image allows for usage of
that partition by the booted system (if needed).
VirtualBox needs the dkms drivers in order to provide a larger
graphic screen.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
For the networking trainings, additional tools are needed. Add them:
- ebtables
- arptables
- nftables
- iptables-nftables-compat
- ethtool
- traceroute
- mtr
- iptraf
- quagga
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
A nice tool to quickly generate secure passwords.
For example with: pwgen -sy 32 1
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
The security schulung has an example involving capabilities
assigned via PAM login. This package is needed for it.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
The linaro toolchain creates files with some obscure user/group.
Instead of trusting the owners/permissions of the downloaded
archives, recursively set all /opt to root:root. If for some
reason any files are setuid, this will also clear that bit.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
If building the image from a machine other than nereus, the name
nereus (used in fine-tuning wget) cannot be resolved. Use the
FQDN instead. That works (as long as you are in the Linutronix
network).
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This is the wireless tool to use for the future. iwlist/iwconfig
are old.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Normally the console font and keyboard is setup on first boot.
But this can be done in the finetuning so that we do not rely on
a "first boot" for the console to be setup correctly.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Most of the firmware packages have versions in stretch backports
that support more hardware. Use these in an attempt to work for
all laptops.
NOTE: There are a few firmware packages that are not in stretch
backports. These are still taking from stretch.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
During a training I needed these tools. Especially tftp is useful
for verifying that the tftp server is available.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
It seems that calling umount directly after mount can lead to a
busy error. With strace on umount the problem goes away. It must
be a very small window. Someone should debug the umount syscall
on this. It is reproducable with:
./dd-multi.sh lx-trainer.img /dev/sdx
(i.e. regular training image and no layers)
Implement a workaround for this for now.
From the comments...
If there were no layer files added, umount might return a busy
error since we just mounted. (Possibly a kernel bug.) By
accessing the filesytem before unmounting it, the mount/umount
problem seems to go away. Use "ls" to access the filesystem.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
In the last 2 trainings I've had participants with batteries going
dead because there was no display for the battery status. The mate
power manager provides this feature. Add it to the image.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
During the audio schulung, we needed to manually install:
qjackctl
libjack-dev
Also, compiling the new kernels now requires:
libelf-dev
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
JUCE itself is not installed (it is broken in stretch). Instead,
all JUCE dependencies are installed and the upstream JUCE will
be used for the workshop.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
For the yocto training, some important packages are missing.
Toaster requires pip for python3. The documentation requires
xsltproc and fop. Install them.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Use the image/device argument now passed to the script.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Rather than assuming the image file lx-trainer.img in the current
working directory, require an argument that specifies this. Also,
allow this argument to be a block device to perform the secure
boot preparation on devices already prepared with the image.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Start the untar processes in parallel. This will take advantage
of file caching and should max out the USB bandwidth.
This is important because some trainings (like Yocto) have huge
layers.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
/home shouldn't be empty, but check just in case. Getting an
error in the middle of the script is very annoying.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
It is very annoying if the script aborts in the middle because
of something like missing files. Check for them in the beginnning.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
... from neon-3 to oxygen-3a.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Eventually the lx-trainer image will come with secure boot
automatically. But for now, we have to manually adjust the image.
Here is a script to do that.
Also update the README.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Tarballs are copied to the USB drives and then unpacked in a
chroot. However, this means the data will travel across the bus
three times! For large layers this is craziness.
Since --numeric-owner is used anyway, just unpack the tarballs
directly.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
- require gpt images and expect partition layout
and sizes from lx-trainer-vm.xml
- cleanup output
- use dd instead of cat (to allow progress status)
- use parted instead of fdisk (necessary to fix gpt table)
- remove unnecessary partprobe's
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Debian will mount debugfs by default. Do not explicitly specify
it in /etc/fstab.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This requires devel/elbe-3.0 branch to build! In
particular, commit 79adee34de55 ("Add support for hybrid
images (UEFI+Bios)")
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Creating this tarball takes a long time and a lot of space on the
initvm. Since this file is not needed, stop creating it.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
When partitioning many devices, it is possible that partprobe
returns with a "EBUSY" error. Loop until partprobe succeeds.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
In order for the qemu arm vm's to nfs root out-of-the-box, either
the client must specify v3 or the server must restrict itself to
version 2. Rather than expecting special arguments from the client,
force the lx-trainer image to use nfs server version 2.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
There is a latency between when partprobe is called and when udev
actually creates the device nodes. Wait for the desired device
nodes to appear before continuing.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Use 'basename' to isolate the layer tarball filename in case
they are specified in a directory other than the current working
directory.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|