summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/APT_overlays.d/bugfix-10720-installer-freezes-on-jenkins0
-rwxr-xr-xconfig/chroot_local-hooks/65-initramfs-scripts14
-rwxr-xr-xconfig/chroot_local-includes/usr/share/initramfs-tools/scripts/init-top/memory_wipe (renamed from config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-premount/memory_wipe)0
-rw-r--r--features/domains/default.xml11
-rw-r--r--features/electrum.feature2
-rw-r--r--features/emergency_shutdown.feature2
-rw-r--r--features/erase_memory.feature8
-rw-r--r--features/evince.feature3
-rw-r--r--features/persistence.feature3
-rw-r--r--features/pidgin.feature1
-rw-r--r--features/step_definitions/usb.rb17
-rw-r--r--features/support/hooks.rb2
-rw-r--r--features/torified_browsing.feature4
-rw-r--r--features/totem.feature2
-rw-r--r--features/untrusted_partitions.feature14
-rw-r--r--features/usb_install.feature11
-rw-r--r--features/usb_upgrade.feature5
-rw-r--r--wiki/src/contribute/design/memory_erasure.mdwn3
-rw-r--r--wiki/src/contribute/release_process/test/setup.mdwn6
19 files changed, 51 insertions, 57 deletions
diff --git a/config/APT_overlays.d/bugfix-10720-installer-freezes-on-jenkins b/config/APT_overlays.d/bugfix-10720-installer-freezes-on-jenkins
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/APT_overlays.d/bugfix-10720-installer-freezes-on-jenkins
diff --git a/config/chroot_local-hooks/65-initramfs-scripts b/config/chroot_local-hooks/65-initramfs-scripts
new file mode 100755
index 0000000..b69cb3d
--- /dev/null
+++ b/config/chroot_local-hooks/65-initramfs-scripts
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+
+echo "Adding memory_wipe to the prereqs of all other init-top initramfs scripts"
+
+(
+ cd /usr/share/initramfs-tools/scripts/init-top
+ for script in * ; do
+ [ "$script" != memory_wipe ] || continue
+ sed --regexp-extended -i \
+ -e 's/^(PREREQS?)="(.*)"/\1="memory_wipe \2"/' \
+ "$script"
+ done
+)
diff --git a/config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-premount/memory_wipe b/config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-top/memory_wipe
index 794f5d8..794f5d8 100755
--- a/config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-premount/memory_wipe
+++ b/config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-top/memory_wipe
diff --git a/features/domains/default.xml b/features/domains/default.xml
index f15f75f..303c728 100644
--- a/features/domains/default.xml
+++ b/features/domains/default.xml
@@ -3,7 +3,7 @@
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu>2</vcpu>
<os>
- <type arch='x86_64' machine='pc-0.15'>hvm</type>
+ <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
@@ -21,14 +21,11 @@
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file=''/>
- <target dev='hdc' bus='ide'/>
+ <target dev='hdc' bus='sata'/>
<readonly/>
</disk>
- <controller type='usb' index='0' model='ich9-ehci1'/>
- <controller type='usb' index='0' model='ich9-uhci1'>
- <master startport='0'/>
- </controller>
- <controller type='ide' index='0'/>
+ <controller type='usb' index='0' model='nec-xhci'/>
+ <controller type='sata' index='0'/>
<controller type='virtio-serial' index='0'/>
<interface type='network'>
<mac address='52:54:00:ac:dd:ee'/>
diff --git a/features/electrum.feature b/features/electrum.feature
index 9807fec..94c00c5 100644
--- a/features/electrum.feature
+++ b/features/electrum.feature
@@ -10,8 +10,6 @@ Feature: Electrum Bitcoin client
But persistence for "electrum" is not enabled
Then I see a warning that Electrum is not persistent
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Using a persistent Electrum configuration
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
And the network is plugged
diff --git a/features/emergency_shutdown.feature b/features/emergency_shutdown.feature
index b635317..144e6c6 100644
--- a/features/emergency_shutdown.feature
+++ b/features/emergency_shutdown.feature
@@ -20,8 +20,6 @@ Feature: Emergency shutdown
When I eject the boot medium
Then Tails eventually shuts down
- #10720
- @fragile
Scenario: Tails shuts down on USB boot medium removal
Given I have started Tails without network from a USB drive without a persistent partition and logged in
When I eject the boot medium
diff --git a/features/erase_memory.feature b/features/erase_memory.feature
index d3425fd..28779f6 100644
--- a/features/erase_memory.feature
+++ b/features/erase_memory.feature
@@ -20,8 +20,6 @@ Feature: System memory erasure on shutdown
And I stop the boot at the bootloader menu
Then I find many patterns in the guest's memory
- #10776
- @fragile
Scenario: Memory erasure on a modern computer
Given a computer
And the computer is a modern 64-bit system
@@ -44,7 +42,7 @@ Feature: System memory erasure on shutdown
And I set Tails to boot with options "debug=wipemem"
And I start Tails from DVD with network unplugged and I login
Then the non-PAE kernel is running
- And at least 3500 MiB of RAM was detected
+ And at least 3 GiB of RAM was detected
And process "memlockd" is running
And process "udev-watchdog" is running
And udev-watchdog is monitoring the correct device
@@ -53,8 +51,6 @@ Feature: System memory erasure on shutdown
And I stop the boot at the bootloader menu
Then I find many patterns in the guest's memory
- #10776
- @fragile
Scenario: Memory erasure on an old computer
Given a computer
And the computer is an old pentium without the PAE extension
@@ -62,7 +58,7 @@ Feature: System memory erasure on shutdown
And I set Tails to boot with options "debug=wipemem"
And I start Tails from DVD with network unplugged and I login
And the non-PAE kernel is running
- And at least 3500 MiB of RAM was detected
+ And at least 3 GiB of RAM was detected
And process "memlockd" is running
And process "udev-watchdog" is running
And udev-watchdog is monitoring the correct device
diff --git a/features/evince.feature b/features/evince.feature
index 5dee975..c9501f9 100644
--- a/features/evince.feature
+++ b/features/evince.feature
@@ -44,7 +44,6 @@ Feature: Using Evince
# as /lib/live/mount/overlay.
And AppArmor has denied "/usr/bin/evince" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf"
- #10720: Tails Installer freezes on Jenkins
#10994
@fragile
Scenario: I can view and print a PDF file stored in persistent /home/amnesia/Persistent
@@ -55,8 +54,6 @@ Feature: Using Evince
Then I see "CupsTestPage.png" after at most 40 seconds
And I can print the current document to "/home/amnesia/Persistent/output.pdf"
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: I cannot view a PDF file stored in persistent /home/amnesia/.gnupg
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/.gnupg" as user "amnesia"
diff --git a/features/persistence.feature b/features/persistence.feature
index 507f05e..c7416e4 100644
--- a/features/persistence.feature
+++ b/features/persistence.feature
@@ -1,5 +1,4 @@
-#10720: Tails Installer freezes on Jenkins
-@product @fragile
+@product
Feature: Tails persistence
As a Tails user
I want to use Tails persistence feature
diff --git a/features/pidgin.feature b/features/pidgin.feature
index 2858482..84ec5dd 100644
--- a/features/pidgin.feature
+++ b/features/pidgin.feature
@@ -91,7 +91,6 @@ Feature: Chatting anonymously using Pidgin
And I close Pidgin's certificate manager
Then I cannot add a certificate from the "/live/overlay/home/amnesia/.gnupg" directory to Pidgin
- #10720: Tails Installer freezes on Jenkins
#11584
@check_tor_leaks @fragile
Scenario: Using a persistent Pidgin configuration
diff --git a/features/step_definitions/usb.rb b/features/step_definitions/usb.rb
index 85ad27a..d6840c9 100644
--- a/features/step_definitions/usb.rb
+++ b/features/step_definitions/usb.rb
@@ -73,14 +73,19 @@ def usb_install_helper(name)
if @screen.exists("USBCannotUpgrade.png")
raise UpgradeNotSupported
end
- @screen.wait_and_click('USBCreateLiveUSB.png', 10)
- @screen.wait('USBCreateLiveUSBConfirmWindow.png', 10)
- @screen.wait_and_click('USBCreateLiveUSBConfirmYes.png', 10)
- @screen.wait('USBInstallationComplete.png', 30*60)
+ begin
+ @screen.wait_and_click('USBCreateLiveUSB.png', 10)
+ @screen.wait('USBCreateLiveUSBConfirmWindow.png', 10)
+ @screen.wait_and_click('USBCreateLiveUSBConfirmYes.png', 10)
+ @screen.wait('USBInstallationComplete.png', 30*60)
+ rescue FindFailed => e
+ debug_log("Tails Installer debug log:\n" + $vm.file_content('/tmp/tails-installer-*'))
+ raise e
+ end
end
When /^I start Tails Installer$/ do
- step 'I start "Tails Installer" via the GNOME "Tails" applications menu'
+ step 'I run "export DEBUG=1 ; tails-installer-launcher" in GNOME Terminal'
@screen.wait('USBCloneAndInstall.png', 30)
end
@@ -395,7 +400,7 @@ end
Then /^Tails is running from (.*) drive "([^"]+)"$/ do |bus, name|
bus = bus.downcase
case bus
- when "ide"
+ when "sata"
expected_bus = "ata"
else
expected_bus = bus
diff --git a/features/support/hooks.rb b/features/support/hooks.rb
index 6589d9b..3e2d7e1 100644
--- a/features/support/hooks.rb
+++ b/features/support/hooks.rb
@@ -26,6 +26,8 @@ AfterConfiguration do |config|
# excluding persistence) and will create yet another disk and
# install Tails on it. This should be the peak of disk usage.
'features/usb_install.feature',
+ # This feature needs a copy of the ISO and creates a new disk.
+ 'features/usb_upgrade.feature',
]
feature_files = config.feature_files
# The &-intersection is specified to keep the element ordering of
diff --git a/features/torified_browsing.feature b/features/torified_browsing.feature
index 8d73324..39e1dbf 100644
--- a/features/torified_browsing.feature
+++ b/features/torified_browsing.feature
@@ -134,7 +134,7 @@ Feature: Browsing the web using the Tor Browser
And the Tor Browser has started and loaded the startup page
Then the Tor Browser has no plugins installed
- #10720, #11592
+ #11592
@fragile
Scenario: The persistent Tor Browser directory is usable
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
@@ -151,7 +151,7 @@ Feature: Browsing the web using the Tor Browser
Then I see "TorBrowserSavedStartupPage.png" after at most 10 seconds
And I can print the current page as "output.pdf" to the persistent Tor Browser directory
- #10720, #11585
+ #11585
@fragile
Scenario: Persistent browser bookmarks
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
diff --git a/features/totem.feature b/features/totem.feature
index c702694..2b55d73 100644
--- a/features/totem.feature
+++ b/features/totem.feature
@@ -45,8 +45,6 @@ Feature: Using Totem
Given I have started Tails from DVD and logged in and the network is connected
Then I can watch a WebM video over HTTPs
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Watching MP4 videos stored on the persistent volume should work as expected given our AppArmor confinement
Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen
# Due to bug #5571 we have to reboot to be able to use
diff --git a/features/untrusted_partitions.feature b/features/untrusted_partitions.feature
index b1045c4..ff94cd5 100644
--- a/features/untrusted_partitions.feature
+++ b/features/untrusted_partitions.feature
@@ -7,7 +7,7 @@ Feature: Untrusted partitions
Given a computer
And I temporarily create a 100 MiB disk named "swap"
And I create a gpt swap partition on disk "swap"
- And I plug ide drive "swap"
+ And I plug sata drive "swap"
When I start Tails with network unplugged and I login
Then a "swap" partition was detected by Tails on drive "swap"
But Tails has no disk swap enabled
@@ -36,7 +36,7 @@ Feature: Untrusted partitions
Given a computer
And I temporarily create a 100 MiB disk named "fake_TailsData"
And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData"
- And I plug ide drive "fake_TailsData"
+ And I plug sata drive "fake_TailsData"
When I start the computer
And the computer boots Tails
Then drive "fake_TailsData" is detected by Tails
@@ -46,16 +46,16 @@ Feature: Untrusted partitions
Given a computer
And I temporarily create a 2 GiB disk named "live_hd"
And I cat an ISO of the Tails image to disk "live_hd"
- And the computer is set to boot from ide drive "live_hd"
+ And the computer is set to boot from sata drive "live_hd"
And I set Tails to boot with options "live-media="
When I start Tails with network unplugged and I login
- Then Tails is running from ide drive "live_hd"
+ Then Tails is running from sata drive "live_hd"
Scenario: Tails booting from a DVD does not use live systems stored on hard drives
Given a computer
And I temporarily create a 2 GiB disk named "live_hd"
And I cat an ISO of the Tails image to disk "live_hd"
- And I plug ide drive "live_hd"
+ And I plug sata drive "live_hd"
And I start Tails from DVD with network unplugged and I login
Then drive "live_hd" is detected by Tails
And drive "live_hd" is not mounted
@@ -64,7 +64,7 @@ Feature: Untrusted partitions
Given a computer
And I temporarily create a 100 MiB disk named "gpt_ext2"
And I create a gpt partition with an ext2 filesystem on disk "gpt_ext2"
- And I plug ide drive "gpt_ext2"
+ And I plug sata drive "gpt_ext2"
And I start Tails from DVD with network unplugged and I login
Then drive "gpt_ext2" is detected by Tails
And drive "gpt_ext2" is not mounted
@@ -73,7 +73,7 @@ Feature: Untrusted partitions
Given a computer
And I temporarily create a 100 MiB disk named "msdos_fat32"
And I create an msdos partition with a vfat filesystem on disk "msdos_fat32"
- And I plug ide drive "msdos_fat32"
+ And I plug sata drive "msdos_fat32"
And I start Tails from DVD with network unplugged and I login
Then drive "msdos_fat32" is detected by Tails
And drive "msdos_fat32" is not mounted
diff --git a/features/usb_install.feature b/features/usb_install.feature
index 166386d..64da8ee 100644
--- a/features/usb_install.feature
+++ b/features/usb_install.feature
@@ -27,8 +27,6 @@ Feature: Installing Tails to a USB drive
Then no USB drive is selected
And a suitable USB device is not found
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Installing Tails to a pristine USB drive
Given I have started Tails from DVD without network and logged in
And I temporarily create a 4 GiB disk named "install"
@@ -37,16 +35,12 @@ Feature: Installing Tails to a USB drive
Then the running Tails is installed on USB drive "install"
But there is no persistence partition on USB drive "install"
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Booting Tails from a USB drive without a persistent partition and creating one
Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
And I log in to a new session
When I create a persistent partition
Then a Tails persistence partition exists on USB drive "__internal"
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Booting Tails from a USB drive without a persistent partition
Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
When I log in to a new session
@@ -54,7 +48,6 @@ Feature: Installing Tails to a USB drive
And the persistent Tor Browser directory does not exist
And there is no persistence partition on USB drive "__internal"
- #10720: Tails Installer freezes on Jenkins
#11583
@fragile
Scenario: Booting Tails from a USB drive in UEFI mode
@@ -67,8 +60,6 @@ Feature: Installing Tails to a USB drive
And the boot device has safe access rights
And Tails has started in UEFI mode
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions, and making sure that it boots
Given I have started Tails from DVD without network and logged in
And I temporarily create a 4 GiB disk named "mbr"
@@ -83,8 +74,6 @@ Feature: Installing Tails to a USB drive
And the boot device has safe access rights
And there is no persistence partition on USB drive "mbr"
- #10720: Tails Installer freezes on Jenkins
- @fragile
Scenario: Cat:ing a Tails isohybrid to a USB drive and booting it, then trying to upgrading it but ending up having to do a fresh installation, which boots
Given a computer
And I temporarily create a 4 GiB disk named "isohybrid"
diff --git a/features/usb_upgrade.feature b/features/usb_upgrade.feature
index fc61308..bcdac6a 100644
--- a/features/usb_upgrade.feature
+++ b/features/usb_upgrade.feature
@@ -1,5 +1,4 @@
-#10720: Tails Installer freezes on Jenkins
-@product @fragile
+@product
Feature: Upgrading an old Tails USB installation
As a Tails user
If I have an old versoin of Tails installed on a USB device
@@ -45,7 +44,7 @@ Feature: Upgrading an old Tails USB installation
And I temporarily create a 4 GiB disk named "gptfat"
And I create a gpt partition with a vfat filesystem on disk "gptfat"
And I plug USB drive "gptfat"
- And I start Tails Installer in "Upgrade from ISO" mode
+ And I start Tails Installer in "Clone & Upgrade" mode
Then a suitable USB device is not found
And I am told that the destination device cannot be upgraded
diff --git a/wiki/src/contribute/design/memory_erasure.mdwn b/wiki/src/contribute/design/memory_erasure.mdwn
index 715b895..fd13b52 100644
--- a/wiki/src/contribute/design/memory_erasure.mdwn
+++ b/wiki/src/contribute/design/memory_erasure.mdwn
@@ -33,7 +33,8 @@ Additionally, the `sdmemopts` kernel command line parameter allows
fine tuning the options passed to the `sdmem` program.
- [[!tails_gitweb config/chroot_local-includes/usr/share/initramfs-tools/hooks/sdmem]]
-- [[!tails_gitweb config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-premount/memory_wipe]]
+- [[!tails_gitweb config/chroot_local-includes/usr/share/initramfs-tools/scripts/init-top/memory_wipe]]
+- [[!tails_gitweb config/chroot_local-hooks/65-initramfs-scripts]]
These `sdmem` and `sdmemopts` are appended to the fresh kernel command
line parameters, when memory erasure is triggered, by the
diff --git a/wiki/src/contribute/release_process/test/setup.mdwn b/wiki/src/contribute/release_process/test/setup.mdwn
index 583fb62..de395c6 100644
--- a/wiki/src/contribute/release_process/test/setup.mdwn
+++ b/wiki/src/contribute/release_process/test/setup.mdwn
@@ -40,8 +40,10 @@ The following packages are necessary on Debian Jessie:
ovmf \
python-jabberbot \
python-potr/jessie-backports \
- qemu-kvm \
- qemu-system-x86 \
+ qemu-kvm/jessie-backports \
+ qemu-system-common/jessie-backports \
+ qemu-system-x86/jessie-backports \
+ qemu-utils/jessie-backports \
ruby-guestfs \
ruby-json \
ruby-libvirt \