Rescue Project
Updated April 5, 2024
The theme of the Rescue Project is “De-Crap Your Laptop.”
Background
After reviewing your submissions for Milestones 1 and 2, I have noticed that many of y’all never reinstalled your laptop (or desktop) after originally buying or building it. The net result is that you have a lot of junk installed that you don’t even use, which can slow down the system, and your files are probably all over the place.
This project will demonstrate your ability to perform a basic system integration by having you back up your data, perform a clean install of your computer’s operating system, restore your data, and put together a sensible software stack on your freshly cleaned system.
You will need 2 decently large USB sticks and some kind of external storage big enough to hold all your existing files in order to complete this project. If you don’t already own USB sticks, there are some that you can borrow from Penny Hall room 241 (see below).
Grading
The Rescue Project is evaluated as a completion grade. If you have all the items completed for each part, then you will receive credit for that corresponding part. If items are missing from a part, then you will not receive credit for that part. You must have credit for Part 1 of the Rescue Project to be able to receive credit for Part 2. Part 2 cannot be done on its own.
Note that Moodle cannot easily handle this situation, so I have added text items into the gradebook for the Course Grade and Rescue Project. I will have to do the final grade calculation manually, so the Moodle Course Total is now only useful to see your average on the original project.
Part 1
Note that the instructions for Part 1 vary depending on whether or not you have a PC or Mac computer. However, please note the following tips:
- If you only have one computer, work ahead on your courses one week and give yourself a long weekend (Friday - Sunday) to perform the backup, wipe, installation, and restoration processes. If you have more than one computer available, you may use any computer for this rescue project. However, I still recommend using your day-to-day machine, since it’s probably the one most full of junk by now.
- Should you need access to a computer while performing these steps, and you only have one system, you can borrow a laptop from the Library or use the computers in room 215 of Penny Hall. Please do NOT try to wipe and reinstall a Library laptop or lab machine!
- If you don’t already have an external hard drive or a cloud-based backup solution, I highly recommend buying one, since it means you don’t currently have backups of your data. Hard drives and SSDs can and do fail, and you don’t want to lose all your coursework and other important files if (when) that happens. Take this opportunity to get some kind of backup process set up and working.
- I just deposited a bunch of USB sticks in Penny Hall room 241. They are in a blue organizer on the back wall labeled USB Flash Drives (or something similar). Feel free to borrow one or two of these sticks if you need them, but please return them to Penny Hall room 241 when you’re finished.
PC Users
Preparation
- Develop a plan for backing up your data. Find an external hard drive, cloud service, or other place to store your files while you wipe and reinstall your computer system.
- Obtain SystemRescue by downloading the ISO file from their website.
- Follow the Installing SystemRescue on a USB Memory Stick instructions to install SystemRescue onto one of your two USB sticks.
- If you want to continue using Windows, download either the Windows 10 ISO or Windows 11 ISO directly from Microsoft. If you’re willing to switch to Linux, pick a distribution from DistroWatch.com and download its installation ISO file.
- Create a bootable USB stick using the ISO file you downloaded in the previous step and your second USB flash drive (don’t reuse the SystemRescue stick!). Follow the instructions provided by Microsoft (linked from the ISO download pages, above) for Windows or from your chosen distribution’s website for creating the bootable USB stick.
- Back up your data, and use your cell phone to make a short video showing how you performed the backup process. By now, you have a lot of files, so you don’t need to record hours of a boring backup process – just explain how you’re doing it.
- Disable Secure Boot on your computer.
- Boot your computer from the SystemRescue USB stick. You will need to fiddle around by pressing keys as your computer powers on to figure out which one gets you into the boot menu. Esc, F1, F2, F11, F12, and Del are popular choices. If you happen to have a Dell-branded machine, the boot menu key is normally F12.
- Once you have booted into SystemRescue, run the command lsblk and figure out which drive is your hard drive or SSD. Proceed to the appropriate next section based on the name of the drive in the first column of output.
Wiping an NVMe Drive
- If your lsblk output shows something like nvme0n1pX (where X is any number), then you have an NVMe SSD in your machine. It’s possible to have more than one NVMe drive, in which case you’ll see nvme0, nvme1, and so on. NVMe drives generally use namespace 1 (the n1 part). The last piece is the partition number (p1, p2, …), and you will probably have more than one partition.
- Use your phone to record the next step.
- To wipe the drive, run: nvme format -s 1 -n 1 /dev/nvme0 (substitute /dev/nvme1 if appropriate).
- Leave the computer on for 5-10 minutes after the previous command finishes, just to be sure that the drive has time to erase itself. Check the output of the command to be sure that no errors occurred.
- Proceed to the Installing Windows/Linux section, below.
Wiping a SATA SSD
- If your lsblk output shows something like sda1 or sdb1, and you know you have an SSD, then you have a SATA SSD. Caution: The USB stick will show up as a SATA drive here. If a partition shows up as being mounted at /run/archiso/bootmnt, then that partition is on the SystemRescue USB stick. The drive is the part before the number (usually sda or sdb). Pick the one that isn’t the USB stick.
- Use your phone to record steps 3-6.
- Run Step 1.1 from this ArchWiki entry.
- If your drive is listed as frozen, run the command: echo mem > /sys/power/state
- Your computer should go to sleep. Wait about 10 seconds, then wake it up by pressing a key, moving the mouse, closing and opening the lid, etc.
- The drive should now be unfrozen. Complete steps 1.2-1.3 of the ArchWiki entry.
- Leave the computer on for 5-10 minutes after the previous command finishes, just to be sure that the drive has time to erase itself. Check the output of the command to be sure that no errors occurred.
- Proceed to the Installing Windows/Linux section, below.
Wiping an eMMC
- If your lsblk output shows something like mmcblk0p1, then you have an embedded MultiMediaCard (eMMC), which is basically a soldered-in microSD card. These devices tend to have relatively poor performance and are usually found in the cheapest laptops. Unfortunately, while Wiping an eMMC is apparently possible and is defined by the standard, the tools aren’t quite there like they are for proper SSDs. The best we can do with SystemRescue is to overwrite the eMMC with zeroes. This isn’t a perfect wipe, and it will contribute to wear on the device. However, it is a way to accomplish our task.
- Use your phone to record the first minute or so of the next step:
- Run the command: dd if=/dev/zero of=/dev/mmcblk0 bs=1M status=progress (substitute your mmcblk number as needed, but don’t include the p or the number after the p in this command).
- Proceed to the Installing Windows/Linux section, below.
Wiping a Mechanical Hard Drive
- If your lsblk outut shows something like sda or sdb, and you know that you have a mechanical hard drive, then use this section to wipe the drive with zeroes. If you have a Solid State Drive, scroll up to the Wiping a SATA SSD and follow those instructions instead. Caution: The USB stick will show up as a SATA drive here. If a partition shows up as being mounted at /run/archiso/bootmnt, then that partition is on the SystemRescue USB stick. The drive is the part before the number (usually sda or sdb). Pick the one that isn’t the USB stick.
- Use your phone to record the first minute of the next step:
- Run the command: dd if=/dev/zero of=/dev/sda bs=1M status=progress (substitute the drive letter as appropriate, e.g. your hard drive might be /dev/sdb instead of /dev/sda – use the lsblk output as your guide).
- Go eat lunch, take a nap, go to bed, etc. Wiping a mechanical hard drive takes hours.
- Proceed to the next section once the wipe has completed.
Installing Windows/Linux
- From the SystemRescue environment, run the command: poweroff
- Remove the SystemRescue USB stick.
- If you’re going to install Windows, Re-enable Secure Boot. If you’re installing Linux, skip this step.
- Boot your computer from the Windows or Linux USB stick that you created.
- Install Windows or Linux. Take a short video (1-2 minutes) with your cell phone explaining what you’re installing and how you’re performing the installation. Show the installer in progress.
- At the end of the installation, shut down or reboot, removing the USB stick as the computer (re)boots to ensure that you boot from your SSD or hard drive.
- If you installed Windows, you might need to go find and install device drivers for your hardware. In this case, ALWAYS select the “custom” install option and turn OFF any crapware that comes with the drivers (toolbars, trial software, etc.). Printer drivers are especially bad at shipping this kind of crap, which will all get installed if you choose the “standard” or “default” installation. Prepare to reboot Windows a million times during this process.
- Apply all software updates. Some Linux distributions will install updates during the installation, so there might not be much to do. Other Linux distributions will update and may need to be rebooted once onto a new kernel. Windows will have a bunch of updates and will insist on rebooting after every one of them, so be prepared for another million reboots.
- Restore your data from your backup.
- Use your cell phone to make a video showing that you have restored your data and that your system is up to date.
- Proceed to the Part 1 Submission section, below.
Mac Users
- Begin by watching this YouTube video.
- Develop a plan for backing up your data. Find an external hard drive, cloud service, or other place to store your files while you wipe and reinstall your computer system.
- Back up your data, and use your cell phone to make a short video showing how you performed the backup process. By now, you have a lot of files, so you don’t need to record hours of a boring backup process – just explain how you’re doing it.
- Follow Apple’s instructions to Create a bootable installer for macOS using one of your USB flash drives.
- Follow the instructions in How to Securely Erase Your Mac’s SSD to wipe the drive. Record a short (1-2 minute) video of this process using your cell phone.
- Shut down your computer, plug in the USB bootable macOS installer, and then boot using the procedure Apple outlines in the Use the bootable installer section to boot from the USB stick.
- Perform a clean installation of macOS using the installer booted from the USB stick. Record a short (1-2 minute) video of this process with your cell phone.
- After the installation has completed, remove the USB stick and boot from the SSD or hard drive.
- Apply all available software updates.
- Restore your data from your backup.
- Use your cell phone to make a video showing that you have restored your data and that your system is up to date.
- Proceed to the Part 1 Submission section, below.
Part 1 Submission
- Since you don’t have video editing software on your fresh system, use your phone to log into Moodle (or transfer the videos to your newly installed system and use the default browser to log in) and upload all 4 videos as the submission to Part 1 of the rescue project. Do NOT edit these videos into a single video file. Just upload all 4 of them as they are.
- Continue to Part 2, since you may want to go ahead and make some recordings for the second part while you set up your software stack.
Part 2
Once you have your freshly installed system up and running, you will need to get a working software stack on it to get fully back in business. Your first step is to get your machine back on the CCU network if you regularly bring it to campus. If you installed Windows or macOS, see the ITS Wireless page for instructions. If you installed Linux, you can obtain the Configuration Assistant Tool from the eduroam website, assuming you have a regular glibc-based Linux distribution with NetworkManager. If you installed something arcane (like Alpine Linux on the desktop), see me during office hours for help.
Screen Recording, Video Editing, Office Suite, and Text Editing
Once you have network access, configure a software stack that favors free and open source software that doesn’t cost a bunch of money to buy and maintain. Install the following applications:
- OBS Studio to record screencasts
- VLC to play videos and other multimedia files
- Kdenlive or OpenShot Video Editor to edit your recorded videos
- LibreOffice for an office suite
- A good plain-text editor for HTML, CSS, Python, configuration files, etc. Install Kate (which is the one I use) on macOS or Linux (if you’re using KDE Plasma, it’s probably already installed). On Windows, install either Kate or Notepad++.
Private Web Browsing
Also obtain a Web browser that is capable of surfing the Internet with some degree of privacy. Note that permanently switching your default browser on Windows is next to impossible, since Microsoft insists on periodically resetting your default browser to Edge, whether you like it or not. However, you can at least have a secondary browser installed.
On all 3 platforms (Linux, Windows, or Mac), do one of the following:
- Install Mullvad Browser or LibreWolf. No additional configuration is required, though you might still want to disable the disk cache.
- OR install Firefox and then follow the instructions in my Configuring Mozilla Firefox article.
Private Video Streaming
Paid video streaming services are trivially not private, since you have to log in with credentials in order to watch videos. However, free services do not necessarily require logins, so they can be watched with a lower level of tracking and other privacy invasions. One way to improve privacy is to subscribe to a VPN service (preferably one that doesn’t require any personal information, like Mullvad). However, another solution is to use a different user agent to access the streaming service. Such a user agent is effectively a dedicated browser that is used only for that single service.
One open-source example of this type of application is FreeTube, which provides an alternative interface to YouTube. Since this application is available for all 3 platforms, go ahead and install it as part of your new software stack. Start the program and add at least one channel subscription.
Personal Finance
Since you’re about to graduate and hopefully start a career and have an income, it is a good idea to be able to track your finances. Curiously, none of y’all doing the Application Alternatives Project chose KMyMoney for this purpose, even though it’s probably the easiest one to use and works on all 3 platforms (Linux, macOS, Windows).
For the personal finance application:
- Install KMyMoney
- Read The KMyMoney Handbook
- Optionally watch a KMyMoney tutorial on YouTube, although this video uses an older version of the program
Part 2 Submission
Once you have installed the above software, use OBS Studio to create a video that demonstrates the following:
- Show that you can access the Internet using any browser. For this part, you can open any browser and go to www.coastal.edu and show that it loads.
- Show that you have LibreOffice and VLC installed. You can either start the programs or show that they’re present on the Start Menu, main menu, or in Applications.
- Show that you have either Kdenlive or Openshot Video Editor installed (same procedure as step 2).
- Show that you have either Kate or Notepad++ installed (same procedure as steps 2 and 3).
- Show that you have KMyMoney installed and can use it to track at least a simple bank account. You can create a dummy bank account and show how to deposit and withdraw money as an example (you do not need to share, and in fact you shouldn’t record, your real financial information).
- Show that you have either Mullvad Browser or LibreWolf installed, OR show that you have Firefox installed AND that you have configured it for enhanced privacy according to my instructions. For Mullvad Browser or LibreWolf, just starting the browser is enough. For Firefox, record yourself going through the settings that you needed to change by following my tutorial.
- Show that you have FreeTube installed and are subscribed to at least one channel through it. Simply record yourself opening FreeTube and showing your channel subscription(s).
Use Kdenlive or OpenShot video editor to edit your video to make it concise, then render the video into WEBM format. Upload the completed WEBM file to Moodle as the submission for this part. Don’t wait until the last minute to do this step, as rendering takes time!