The solution I described in my original post involved a fresh re-installation of NOOBS – a method that works just fine. However, I have now taken things to the next level by developing a way to UPDATE NOOBS without re-installing it – without any external dependencies, devices or other computers. Re-installing NOOBS effectively "nukes" your entire SD card – and all the hard work you've done to customize your existing system. Updating NOOBS without re-installing it, therefore, is what my latest tutorial is all about.
ARE YOU AN EXPERT? Do you want the QUICK VERSION of my tutorial? Expertise, of course, is a relative concept. For example, if you have a PhD in computer science – but you just got your very first Raspberry two hours ago – you are definitely NOT a Raspberry expert! So ask yourself if you meet these minimum requirements:
- Basic mastery of the Linux operating system
- Heavy user of the Raspberry for several months or more
- Solid understanding of both Full NOOBS and Lite NOOBS – including their partition structures and behaviors
BACKGROUND: In the "official" Raspberry universe, there are only 2 pieces of fundamental software – Raspbian and NOOBS. Raspbian is necessary; NOOBS is optional. You might be wondering how anything that's optional could also be "fundamental". That's simple: A NOOBS-based system without a proper copy of NOOBS will not boot. In that sense, it's "optional but fundamental".
Raspbian is of course the Raspberry's operating system. NOOBS, however, can be variously described as an operating system chooser / downloader / recovery tool (more on this in a moment). NOOBS stands for New Out Of Box Software and it comes in two very different versions: "Full" NOOBS and "Lite" NOOBS.
FULL NOOBS contains a complete copy of the Raspbian operating system "with Desktop" – but it also acts as a recovery tool that can overwrite your SD card and re-install a fresh copy of the operating system from scratch. Quite significantly, this recovery capability is fully self-contained without any external dependencies whatsoever. That means if everything goes haywire, you typically won't need a second computer or another SD card to bring your Raspberry "back to life". Sure, you'll lose your existing system configuration and any data you haven't backed up – but at least you can re-acquire a fully working computer in only 10 minutes without any external resources!
Some see NOOBS as unnecessary – as though it's just for beginners – but many advanced users also appreciate FULL NOOBS because of its built-in recovery capability.
LITE NOOBS, however, acts as an operating system chooser and downloader. It can be used to download and install a variety of "non-official" operating systems such as Ubuntu MATE or Windows IoT – and the full version of Raspbian as well (just to make things more confusing). But most people use it to install the "lite" version of Raspbian. This smaller, stripped-down version of Raspbian is a "command line only" operating system and does not include any GUI or Desktop interface. It's a favorite among a subset of advanced users who don't want or need the "bloat" of a GUI.
THE PROBLEM: Until now, there were no accurate, comprehensive instructions that explained how to UPDATE NOOBS – either the full version or the lite version. Instead, if you needed the latest version of NOOBS, the only option was to RE-INSTALL it from scratch – and completely DESTROY everything on your existing SD card in the process! That means if you had spent the last 8 months, for example, carefully tweaking and customizing your Raspbian Stretch system to suit your needs, all of that would be lost. Any software you had installed and customized would also be lost.
Some users have pointed to an old posting at ThePiHut.com that contains incomplete and partially incorrect instructions on how to update NOOBS. Although it might give a sophisticated user enough clues to finally crack the puzzle, it would be of no use for the vast majority of users. This is especially true because beginners are the very people that are encouraged to use NOOBS in the first place! If you'd like to know more about the many issues with these dubious "instructions", click here (hello DougieLawson!).
BUT WHY WOULD SOMEONE WANT TO UPDATE NOOBS? In general, as long as you have the latest version of Raspbian, having the very latest version of NOOBS may not be of any great value. But there's one GIANT exception to this. On March 14, 2018, the latest Raspberry model was released – the Raspberry Pi 3 Model B+ (AKA, the 3B+). For both versions of NOOBS, the Raspberry essentially "boots" from the NOOBS partition before it boots from the Raspbian partition. Unfortunately, anyone with a version of NOOBS older than March 14, 2018 will find that the 3B+ will behave as an UNBOOTABLE BRICK – even if they have the latest, fully-updated version of Raspbian Stretch! This is because older versions of NOOBS simply don't have the latest boot-related files that the new 3B+ hardware requires.
I STILL DON'T GET IT – FOR WHOM WOULD THIS BE AN ISSUE? Unless the Raspberry Pi Foundation suddenly invents a simple fix that automatically updates NOOBS while running a standard update of Raspbian – for example, through "sudo apt-get upgrade" or "sudo apt-get dist-upgrade" – this will continue to be a huge problem for potentially millions of existing Raspberry users. Like many companies – whether it's Apple or Raspberry – a giant percent of customers that buy new hardware are existing customers. That means many will be like me – they already had a Raspberry when they heard the exciting news that a 3B+ had just come out. So they ordered the new model, fully updated their copy of Raspbian Stretch, popped the SD card into their brand-new 3B+ and... NOTHING – an unbootable brick that remains stuck on the "rainbow screen" with a yellow lightning bolt in the upper-right corner like this:
THE SOLUTION: As my latest contribution to the Raspberry community, I decided to show everyone EXACTLY how to update NOOBS – step-by-step – with no assumed knowledge or missing information. Through extensive testing, I have fully validated that my method works perfectly. It can be followed by almost anyone with a basic understanding of Linux. But before I get to my instructions, let me issue a few important warnings:
WARNING #1: If you really have NOOBS, you should see the following words every time your existing Raspberry boots up: "For recovery mode, hold SHIFT". This message only appears for a couple seconds, but if you don't see it at all, it means you do NOT have NOOBS. If that is the case, this tutorial is definitely NOT for you!
WARNING #2: The first part of this tutorial is only intended for those who installed or possess a version of NOOBS from a very specific 7-month period – between August 17, 2017 and March 13, 2018. What's the significance of those dates? August 17 is when the latest "whole number" version of the Raspberry's operating system came out – Raspbian Stretch. March 13 was the day before the latest version of NOOBS came out – the version that supports the 3B+. So if you've spent 7+ months carefully customizing your SD card and don't want to destroy it in order to get the 3B+ to boot from the same card, this tutorial is for you. [UPDATE: I have now added support for Raspbian Jessie. Please see red item below.]
If you have the full version of NOOBS, you can indirectly determine the origin time of your version of NOOBS by checking the origin date of the operating system image used to create Raspbian. To do that, run this command in Terminal:
cat /etc/rpi-issue
If the date you see is between (and including) 2017-08-16 and 2018-03-12, then my tutorial is appropriate for your version of FULL NOOBS. NOTE: I did not make a mistake with those dates – the "internal" dates are one day before the dates published in the download section of the Raspberry website.
UPDATE – JESSIE SUPPORT ADDED: I have now added instructions for those with the previous and no-longer-supported operating system – Raspbian Jessie. After you've carefully reviewed all 5 of these important warnings, please scroll down and see my separate section on Jessie!
WARNING #3: If you don't have any big objection to installing NOOBS from scratch, it's still – overall – the best way to go if you want to GUARANTEE a trouble-free system. There's nothing like a nice clean install of EVERYTHING. If you've been using your system for several months, you've probably accumulated an unknown amount of "detritus" on your system anyway – so there's nothing like the peace of mind that comes from knowing you have a completely fresh, brand-new operating system. Nonetheless, these instructions are intended to help those who understand the potential trade-off and simply can't tolerate the inconvenience of having to "nuke" their entire system just to get the latest Raspberry to boot!
WARNING #4: These instructions assume you'll be "prepping" your SD card for the new Raspberry 3B+ on your "old" Raspberry – such as a Raspberry Pi 3 Model B (without the plus). Or a Raspberry Pi 2, etc.
WARNING #5: For experienced users, what I'm about to say is just common sense. But it's still important to emphasize: ANYTHING you do with a computer could cause you to lose all your data. And ANYTHING you do with a computer could cause your operating system to become unbootable. In fact, the simple act of turning on your computer could do either of these things. For example, you could get hit with a random power surge before you even start this tutorial! So let me include these 2 items of general advice:
1: BACKUP YOUR DATA: Always keep a backup copy of any data you would not want to lose. That includes your personal files, documents and pictures. You can easily copy and paste your data to a USB thumb drive (or any other storage device). Once you've made the backup, DO NOT leave it physically attached to your system. Instead, put it away in a safe place!
2: BACKUP YOUR OPERATING SYSTEM: Always keep a second working copy of your operating system. Otherwise, if something goes wrong, your Raspberry could temporarily become a useless "brick" – at least until you can get your hands on another SD card with a working operating system! Making a backup copy of your operating system only takes 10 minutes. HERE'S HOW: First, reboot your computer to make sure everything is "fresh". After it comes back up, give it a couple minutes to fully "settle down". Then take a second SD card, place it in a USB SD card adapter, and plug it into your Raspberry. If any windows appear, close them! Then click the Raspberry Menu | Accessories | SD Card Copier. When the SD Card Copier window appears, do nothing for a full minute (I have personally found this pause to be critical for everything to work properly – at least for the current version of Raspbian). Once you've done that, click the "Copy From Device" drop-down box and select your INTERNAL SD card (typically, it will have a name like "mmcblk0"). Then click the "Copy To Device" drop-down box and select your EXTERNAL SD card (the one you just put in the USB adapter). Then check the "New Partition UUIDs" box and click Start. After only 10 minutes or so, you will have a brand-new working copy of your operating system! Put it away in a safe place and you can breath easy!
INSTRUCTIONS – UPDATE NOOBS FOR RASPBIAN STRETCH (Scroll down further if you want my instructions for Raspbian Jessie):
STEP 1: FULLY UPDATE YOUR RASPBIAN STRETCH OPERATING SYSTEM:
NOTE: This step will do nothing to update NOOBS itself – but it will update your Raspbian Stretch operating system. Updating the operating system is just as important as updating NOOBS if you want your brand-new Raspberry Pi 3 Model B+ to become bootable! Now, run these 2 command lines in Terminal – one at a time:
sudo apt-get update
sudo apt-get dist-upgrade
***REBOOT!!
STEP 2: DETERMINE IF PARTITION 1 OF YOUR INTERNAL SD CARD IS SUITABLE FOR FULL NOOBS OR LITE NOOBS (ULTIMATELY, THIS WILL REFLECT THE VERSION OF NOOBS YOU CHOSE WHEN YOU FIRST CREATED YOUR SD CARD – OR THE VERSION OF NOOBS THAT CAME WITH A PRE-MADE CARD):
sudo fdisk -l /dev/mmcblk0
If the device named "/dev/mmcblk0p1" reports a size of 1.4 GIGAbytes or greater, download FULL NOOBS in Step 3.
If the device named "/dev/mmcblk0p1" reports a size between 40 MB and 1.3 GB, download LITE NOOBS in Step 3.
STEP 3: DOWNLOAD THE LATEST VERSION OF NOOBS THAT'S APPROPRIATE (BASED ON YOUR FINDINGS IN STEP 2):
FULL NOOBS (1.3 GB file):
wget -P /home/pi http://downloads.raspberrypi.org/NOOBS/images/NOOBS-2018-03-14/NOOBS_v2_7_0.zip
LITE NOOBS (33 MB file):
wget -P /home/pi http://downloads.raspberrypi.org/NOOBS_lite/images/NOOBS_lite-2018-04-19/NOOBS_lite_v2_8.zip
PEOPLE AND ROBOTS OF THE FUTURE: New versions of LITE NOOBS are subject to appear at any time and I obviously can't be checking every day. Therefore, feel free to carefully update the wget URL for LITE NOOBS in this step by looking in the following location – it's where the Raspberry Pi Foundation typically posts the latest zip file. Realize, of course, that I do not have access to a time machine and therefore cannot test future software. But unless they radically change the behavior of LITE NOOBS, everything is likely (but not guaranteed) to still work:
The latest version of LITE NOOBS is typically located here:
http://downloads.raspberrypi.org/NOOBS_lite/images/
NOTE ON FULL NOOBS: Why haven't I mentioned anything about updating the URL for FULL NOOBS in the future? That's because the Raspberry Pi Foundation greatly increased the size of FULL NOOBS after March 14, 2018. It went from 1.3 GB to 1.7 GB – an increase of more than 30%. However, your existing version of FULL NOOBS will have "burned in" the NOOBS partition size at only 1.4 GB. That means there's simply not enough room for larger, more recent versions of FULL NOOBS on your existing NOOBS partition. The only way to address this would be to completely re-structure and re-size multiple partitions on your SD card. That's both complicated and very risky and I would strongly advise against it – especially since the potential benefit is essentially ZERO. Version 2.7.0 of FULL NOOBS – issued on March 14, 2018 – works perfectly fine in getting a Raspberry Pi 3B+ to boot. It's just that the recovery files – should you ever choose to use them – will revert your system back to the March 14, 2018 iteration of Raspbian Stretch, rather than an April 2018 (or newer) iteration of Raspbian Stretch. But keep in mind that once your system boots up and gets past NOOBS, you can always run a standard system update – via sudo apt-get update / sudo apt-get dist-upgrade – and your Raspbian operating system will be FULLY current and up-to-date! It's Raspbian that you use to do all your computing – not NOOBS – so this really is a non-issue. Nonetheless, I wanted everyone to know that I put real thought into all this – so the slight difference in version numbers between FULL NOOBS and LITE NOOBS is no accident.
STEP 4: MOUNT PARTITION 1 OF YOUR INTERNAL SD CARD (mmcblk0p1):
NOTE: At the moment, partition 1 should contain an old version of NOOBS (and an old version of the Raspbian operating system's recovery files if you have FULL NOOBS). To make this partition temporarily accessible, run the following 2 command lines in Terminal – one at a time:
sudo mkdir -p /media/pi/MMC_P1
sudo mount -t vfat /dev/mmcblk0p1 /media/pi/MMC_P1
STEP 5: DELETE EVERYTHING INSIDE PARTITION 1 OF YOUR INTERNAL SD CARD (mmcblk0p1):
WARNING: Do NOT attempt to delete the contents of partition 1 with File Manager. If you do, it will create a hidden file called ".Trash-0" that will commandeer most of the available space inside the partition – an outcome that will prevent this tutorial from working. Now run this in Terminal:
sudo find /media/pi/MMC_P1 -mindepth 1 -delete
STEP 6: UNZIP NOOBS INTO PARTITION 1 OF YOUR INTERNAL SD CARD (mmcblk0p1):
Run the appropriate command line in Terminal, depending on whether you downloaded FULL NOOBS or LITE NOOBS. Obviously, if you live in the future and changed the download URL in Step 3 to a more recent version of NOOBS, you'll need to update the name of the zip file:
FULL NOOBS:
sudo unzip /home/pi/NOOBS_v2_7_0.zip -d /media/pi/MMC_P1
LITE NOOBS:
sudo unzip /home/pi/NOOBS_lite_v2_8.zip -d /media/pi/MMC_P1
STEP 7: EDIT THE "recovery.cmdline" FILE TO DELETE ONE CRITICAL WORD:
NOTE: When the following command opens the contents of the "recovery.cmdline" file inside the Nano editor, simply delete the word "runinstaller" (and the single space immediately after it). To do that, just tap your keyboard's right arrow key until the "q" in quiet is highlighted – then tap your backspace key until there are no more spaces left. Now run this in Terminal:
sudo nano /media/pi/MMC_P1/recovery.cmdline
NOW SAVE THE FILE: PRESS "CTRL + X" TO EXIT OUT OF NANO – THEN TAP "Y" FOR YES – THEN TAP THE ENTER KEY TO ACCEPT THE CHANGE.
WARNING: If you made a mistake and failed to delete the word "runinstaller" in the above file, you will destroy your existing operating system (the one with all your personalized settings) the next time you boot! So let's open the file again to be 100% sure that you edited it correctly:
sudo nano /media/pi/MMC_P1/recovery.cmdline
If you did everything perfectly, it should only say this:
quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline
If it doesn't display the above line exactly as I have it written, re-do this step until you get it right. But if it's a perfect match, simply close the entire Terminal window – do not do anything inside Nano!
STEP 8: SHUT DOWN AND COMPLETELY POWER OFF YOUR SYSTEM – THEN PLACE YOUR UPDATED SD CARD IN YOUR BRAND-NEW RASPBERRY PI 3 MODEL B+, BOOT IT UP, AND ENJOY IT!
NOTE: You should now have a fully updated copy of NOOBS on your SD card – and if you chose FULL NOOBS, you'll also have a fully updated copy of the Raspbian operating system recovery files! So fully shut down your system, cut the power, place your newly updated SD card in your brand-new Raspberry Pi 3 Model B+, and it should boot just fine! So run this in Terminal and enjoy your new Raspberry:
shutdown now
--------------------
INSTRUCTIONS – UPDATE NOOBS FOR RASPBIAN JESSIE:
JESSIE-SPECIFIC INTRODUCTION: I have fully tested and verified that the following method will update NOOBS for the Raspbian Jessie operating system – all the way back to November 24, 2015.
This expands the scope of my tutorial by an extra 21 months and will therefore allow many NOOBS-based Jessie users to enjoy the benefits of the brand-new Raspberry Pi 3B+.
Jessie, as you likely know, is now an old and unsupported operating system that pre-dates the current operating system – Raspbian Stretch.
But some people have Jessie-dependent code and programs and are therefore wedded to that now-retired operating system – yet they would still like to use the latest and fastest hardware. As a result, the Raspberry Pi Foundation asked me if I could expand this tutorial to also support NOOBS-based Jessie systems on the Raspberry Pi 3B+. That is what I have now done.
JESSIE-SPECIFIC WARNING #1: You must have NOOBS 1.5 OR GREATER. The first 2 months of the "Jessie era" used NOOBS 1.4. Do not proceed if you have version 1.4 or older – or you will destroy your system. If you're not sure what version you have, mount partition 1 and take a look (see Step 3). Look but don't touch! Most of the files in there should be dated November 12, 2015 or newer. If most of the files are older than that, do not proceed! In case you're wondering why that is, it's because the Raspberry Pi Foundation fundamentally changed its partition structure to accommodate Windows IoT at that time, thus precluding any update of NOOBS prior to version 1.5. Finally, in case you've noticed the slight date discrepancy, it's because November 24, 2015 was the "official" release date of NOOBS 1.5 – but most of its internal files are dated November 12, 2015.
JESSIE-SPECIFIC WARNING #2: Please follow my generic Warning #5 toward the beginning of this tutorial and make sure you have fully backed up your SD card and personal data before you proceed! Be aware that older versions of Jessie do not come pre-installed with the SD Card Copier that I reference in Warning #5. If you don't see it under your Accessories, simply run this:
sudo apt-get update
sudo apt-get install piclone
Here, now, are my instructions – with important additional notes where necessary:
STEP 1: INSTALL THE SEMI-EXPERIMENTAL "FIRMWARE" THAT WILL UPDATE RASPBIAN JESSIE'S BOOT CODE TO SUPPORT THE 3B+:
NOTE: This step does nothing to update NOOBS – but your operating system also needs to support the 3B+ for it to boot. Because Raspbian Jessie is now retired and no longer supported, the "rpi-update" command is the only viable way to make it "3B+ ready". Notice that I have included a long hash code just after the command. The one I have chosen will install Linux kernel version 4.14.37, issued on April 26, 2018. I have personally tested it on a Jessie system and it appears to be very stable. Have I conducted exhaustive, multi-week testing to guarantee its stability? No I have not! But if you followed Warning #5 (please see the Stretch section of this tutorial), you'll have already backed up your system anyway – so it really shouldn't be a concern! Now run this in Terminal and be sure to reboot after it's done:
sudo rpi-update 461ee53cef85d14b8511e9f6d5dce8c0ac1d595a
REBOOT!!
NOTE: If you get a "command not found" response, it means rpi-update did not come pre-installed with your version of Jessie. If so, simply run this to install it – then re-run the above command:
sudo apt-get install rpi-update
CRITICAL NOTE: You do NOT need to run a system update on Jessie in order for my tutorial to work – such as sudo apt-get upgrade or sudo apt-get dist-upgrade. But if you do wish to do that, make sure you do it BEFORE you run the rpi-update command. In my testing, updating the operating system managed to overwrite (or interfere with) some of the critical 3B+-related files that the rpi-update command installed. So much so, it reverted the system back to an unbootable state on the 3B+. Also, don't assume you can run the same rpi-update command a second time in order to correct that – because it will frustratingly think "you already have that version" of the firmware and will therefore do nothing! If you find yourself in that predicament, simply switch to a different hash code to shake things loose – one that was issued just before the hash I've listed. But as long as you follow my instructions and do things in the proper sequence, you won't have this problem anyway! Just for reference, though, here is the official page with the hash code values (the hash appears at the end of each URL):
https://github.com/Hexxeh/rpi-firmware/commits/master
STEP 2: DOWNLOAD LITE NOOBS (33 MB File):
wget -P /home/pi http://downloads.raspberrypi.org/NOOBS_lite/images/NOOBS_lite-2018-04-19/NOOBS_lite_v2_8.zip
NOTE: You won't find any mention of FULL NOOBS in the Jessie part of this tutorial for an obvious reason: If we installed the latest version of FULL NOOBS – the only one that's compatible with the 3B+ – we would also be installing a recovery system for Raspbian Stretch, not Jessie! That wouldn't make much sense given that we're trying to "resurrect" an old Jessie system to run on the 3B+ – a computer that didn't even exist when Jessie was created! Besides, the matter is completely moot for a more fundamental reason – the size of partition 1 on Jessie systems is "burned in" at only 1.1 GB. Stretch recovery systems require much more space and will therefore not fit! The latest version of FULL NOOBS, for example, requires 1.7 GB.
STEP 3: MOUNT PARTITION 1 OF YOUR INTERNAL SD CARD (mmcblk0p1):
NOTE: At the moment, partition 1 should contain an old version of NOOBS that's incompatible with the 3B+. To make this partition temporarily accessible, run the following 2 command lines in Terminal – one at a time:
sudo mkdir -p /media/pi/MMC_P1
sudo mount -t vfat /dev/mmcblk0p1 /media/pi/MMC_P1
STEP 4: DETERMINE IF PARTITION 1 CONTAINS FULL NOOBS OR LITE NOOBS:
sudo fdisk -l /dev/mmcblk0
If the device named "/dev/mmcblk0p1" reports a size labeled with a "G" (GIGAbytes), you have FULL NOOBS
If the device named "/dev/mmcblk0p1" reports a size labeled with a "M" (MEGAbytes), you have LITE NOOBS
STEP 5: CHOOSE THE APPROPRIATE DELETE OPTION FOR PARTITION 1 (based on your results in Step 4 and your personal preference):
WARNING: Do NOT attempt to delete the contents of partition 1 with File Manager. If you do, it will create a hidden file called ".Trash-0" that will commandeer most of the available space inside the partition – an outcome that will prevent this tutorial from working!
WHY AM I GIVING YOU 3 DELETE OPTIONS? Why, for example, would anyone want to keep recovery files that, if activated, would create a fresh install of Jessie that's unbootable on the 3B+? Well, perhaps they use their SD card in multiple Raspberries and wish to keep that recovery capability for an older model! Or maybe they don't care about that and want to get rid of it to avoid any potential confusion in the future! It's entirely up to you – which is why I'm providing 3 easy options. Just realize that if disaster strikes and you have to use the Jessie recovery capability, it will of course install a completely fresh copy of Jessie that will not boot on the 3B+. To resolve that, you would need to redo this tutorial! Ultimately, if this seems confusing, it's not my doing – it's simply what happens when you're still using an old operating system that's not supported anymore!
DELETE OPTION #1: IF YOU HAVE LITE NOOBS, RUN THIS (it will delete everything inside partition 1):
sudo find /media/pi/MMC_P1 -mindepth 1 -delete
DELETE OPTION #2: IF YOU HAVE FULL NOOBS AND YOU DO NOT WANT TO KEEP THE RECOVERY CAPABILITY FOR RASPBIAN JESSIE, RUN THIS (it will delete everything inside partition 1):
sudo find /media/pi/MMC_P1 -mindepth 1 -delete
DELETE OPTION #3: IF YOU HAVE FULL NOOBS AND YOU WANT TO KEEP THE RECOVERY CAPABILITY FOR RASPBIAN JESSIE, RUN THIS (it will delete everything inside partition 1 except the "os" folder):
sudo find /media/pi/MMC_P1 -mindepth 1 -name os -prune -o -exec rm -rf {} +
STEP 6: UNZIP LITE NOOBS INTO PARTITION 1 OF YOUR INTERNAL SD CARD (mmcblk0p1):
sudo unzip /home/pi/NOOBS_lite_v2_8.zip -d /media/pi/MMC_P1
STEP 7: EDIT THE "recovery.cmdline" FILE TO DELETE ONE CRITICAL WORD:
NOTE: When the following command opens the contents of the "recovery.cmdline" file inside the Nano editor, simply delete the word "runinstaller" (and the single space immediately after it). To do that, just tap your keyboard's right arrow key until the "q" in quiet is highlighted – then tap your backspace key until there are no more spaces left. Now run this in Terminal:
sudo nano /media/pi/MMC_P1/recovery.cmdline
NOW SAVE THE FILE: PRESS "CTRL + X" TO EXIT OUT OF NANO – THEN TAP "Y" FOR YES – THEN TAP THE ENTER KEY TO ACCEPT THE CHANGE.
WARNING: If you made a mistake and failed to delete the word "runinstaller" in the above file, you will destroy your existing operating system (the one with all your personalized settings) the next time you boot! So let's open the file again to be 100% sure that you edited it correctly:
sudo nano /media/pi/MMC_P1/recovery.cmdline
If you did everything perfectly, it should only say this:
quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline
If it doesn't display the above line exactly as I have it written, re-do this step until you get it right. But if it's a perfect match, simply close the entire Terminal window – do not do anything inside Nano!
STEP 8: UPDATE JESSIE'S WIFI DRIVERS SO THAT YOU HAVE WIRELESS INTERNET ACCESS ON THE 3B+:
NOTE: This, technically, is a bonus – because it has absolutely nothing to do with updating NOOBS! The brand-new 3B+, among other things, has a newer and better onboard WiFi chip than the original 3B. As a result, Jessie's built-in drivers – which were created before the 3B+ even existed – will not recognize the new chip and will therefore leave you without a wireless connection. To resolve this, download the following package and install it as shown – hat tip to user "mikerr" for his excellent solution:
wget https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20161130-3+rpt3_all.deb
sudo dpkg -i firmware-brcm80211_20161130-3+rpt3_all.deb
NOTE: In my testing, it sometimes took up to 8 minutes to automatically find my hotspot with this work-around – but once it did, it was rock solid. That could have been due to a random fluke or electromagnetic interference – especially since it occasionally takes up to 5 minutes on my brand-new Stretch system. But either way, it's certainly better than nothing!
STEP 9: SHUT DOWN AND COMPLETELY POWER OFF YOUR SYSTEM – THEN PLACE YOUR UPDATED SD CARD IN YOUR BRAND-NEW RASPBERRY PI 3 MODEL B+, BOOT IT UP, AND ENJOY IT!
NOTE: You should now have a fully updated copy of NOOBS on your SD card. So fully shut down your system, cut the power, place your newly updated SD card in your brand-new Raspberry Pi 3 Model B+, and it should boot just fine! Now run this in Terminal and enjoy your new Raspberry:
shutdown now