User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 01, 2018 3:17 am

INTRODUCTION: I was the first person to fully document (and solve) a major problem with the brand-new Raspberry Pi 3 Model B+. The problem is quite dramatic – the 3B+ is TOTALLY UNBOOTABLE with all versions of NOOBS older than March 14, 2018. Here's my original post on this topic, which I published only 7 days after the 3B+ was released: SOLVED: Raspberry Pi 3 Model B+ Will Not Boot!

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
If you truly qualify, you can probably skip everything on this page. So if you think you're ready to ignore most of my critical notes, warnings and commentary, proceed with this quick version of my tutorial!


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:
No_Boot.jpg
No_Boot.jpg (225.64 KiB) Viewed 11115 times

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
Last edited by RPi_Mike on Fri May 11, 2018 1:51 am, edited 8 times in total.

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 01, 2018 9:57 am

Mike,

A very good and comprehensive post!
I have a couple of comments/additions:

1) The latest NOOBS version is now v2.8.1, which should probably be used in preference to v2.7 - it has the latest firmware and kernel updates.

2) This method for updating NOOBS is also applicable to older versions of NOOBS, so long as it is v1.5 or later, the point at which the partition structure changed. Your restrictions are only related to the problems of upgrading Raspbian from earlier versions to Stretch, which may not be applicable to other OSes. (You have made this clear already - I'm just pointing out other options for the readers).

3) This method can also be used to replace NOOBS with PINN - my fork of NOOBS that provides extra features. But why would you want to do that? Here are some reasons:

3.1) PINN is still based on NOOBS and is compatible with it, so your existing installed OSes will still work (if you remember to delete the "runinstaller" option!)

3.2) PINN has a self-update facility, so it already automates this procedure, making it a lot easier to keep up to date.

3.3) PINN has a much wider range of OSes that it can install - over 20 different ones, which expand to around 50 if you include all the variants for the different models of Pi that are available. It can also dynamically upgrade/downgrade its own firmware to allow older OSes to still boot on the older models of Pi prior to the 3B+.

3.4) The SD-card copier program in Raspbian has been ported into PINN. This means it can be used even if you haven't installed Raspbian, but have other OSes installed. In warning #5 part 2) "Backup Your Operating System" you mention waiting several minutes to allow the system to "settle down" before copying the SD card. This is because it is copying a "live" system. 99.99% of the time this works fine, but there is always the slim chance that you will get an inconsistent backup of your operating system, so you should always test your backup styraight away to make sure it is ok. This is not the case with PINN's SD copier function because it is not backing up the OS that is running on (PINN itself runs from a ramdisk) and therefore it will provide a consistent backup of each OS (although you should still test that it is ok). It also includes SD card Copier's advantage of being adaptable to different sized SD cards.

3.5) There are 2 main reasons for using NOOBS these days: one is to multi-boot different OSes from the same card, and the second is to permit easy re-installation of an OS without using an external PC. (New programs like Etcher are now making it easier for everyone to write single images to SD cards). But NOOBS requries that all OSes are installed at once. This is not a problem if you have only installed one OS, but is a bit of a problem if only ONE OS goes down on a multi-boot SD card with several OSes on it. PINN solves this by allowing a single OS to be re-installed on its own, thus preserving the other OSes.

3.6) NOOBS only works with the built-in Ethernet and wifi devices (or dongles that use the same Broadcom chipsets). PINN includes drivers for a wider range of wifi and ethernet devices (although admittedly, I have to rebuild the Realtek ones for the latest kernel, so these are temporarily unavailable).

3.7) PINN includes a function to download an OS from the internet to a USB memory stick so that it may be (re-)installed through PINN at a later time without requiring access to the internet (like in a school environment or at a Raspberry Jam without internet access etc.). Storing the OS installation files on a separate USB stick also means that PINN takes up much less of your SD card (only ~60MB, just like NOOBS-lite), but of course it can be used like FULL NOOBS by copying the /os folder onto the 1st partition.

Once again, thanks for providing a very useful and clear tutorial.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Re: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 01, 2018 7:58 pm

procount wrote:
Tue May 01, 2018 9:57 am
Mike,

A very good and comprehensive post! Once again, thanks for providing a very useful and clear tutorial.

RPi_Mike: Given that you are the creator of what some might call "NOOBS on steroids", you are arguably the leading expert in this particular domain. That makes your praise of my tutorial especially significant and I appreciate the kind words.



The latest NOOBS version is now v2.8.1, which should probably be used in preference to v2.7

RPi_Mike: The Raspberry Pi Foundation greatly increased the size of Full NOOBS after March 14, 2018 – from 1.3 GB to 1.7 GB. Since the existing partition is only 1.4 GB, slightly newer versions of Full NOOBS will simply not fit. As a result, the version I listed must remain. I should add that this tiny difference in version numbers has no meaningful impact. For more on this subject, please see my extensive notes in Step 3 of my tutorial. Lite NOOBS, however, can use the most recent version – so I've included a note for "people and robots of the future" that tells them where they can find the latest URL on their own. Updated versions of Lite NOOBS can appear at any time without warning, so my note will let people check for themselves.



This method for updating NOOBS is also applicable to older versions of NOOBS, so long as it is v1.5 or later, the point at which the partition structure changed. Your restrictions are only related to the problems of upgrading Raspbian from earlier versions to Stretch, which may not be applicable to other OSes. (You have made this clear already - I'm just pointing out other options for the readers).

RPi_Mike: I suspected all along that my method might work, as you claim, on older versions of NOOBS prior to my stated "pre-Stretch" cut-off date of August 17, 2018. Explicitly stating a cut-off date, however, was a deliberate act on my part for two reasons: First, I hold myself to a very high testing standard. If I haven't personally tested it, I won't make any claims about it! If any readers would like to see how careful I am on that score, they can check out my very well-tested FFmpeg / mpv tutorial. There's a second reason why I set a specific cut-off date: I don't want to actively encourage people to "go back in time" and install old software on their system – especially software that I have no interest in using or testing. That said, part of the ethos of the Raspberry community is constant experimentation. If people wish to use my tutorial as a foundation for experiments with older software – or other, "non-official" OSes – I'm fine with that. But I definitely won't be providing any guidance on that subject.



This method can also be used to replace NOOBS with PINN - my fork of NOOBS that provides extra features. But why would you want to do that? Here are some reasons:

RPi_Mike: I give you an "A" in marketing for cleverly leveraging my tutorial to promote your own software! Seriously, though – PINN sounds quite impressive. As you know, I'm a stickler for not making any claims without thorough testing – so I obviously can't comment on code I've never used. On the surface, however, it does sound like a greatly enhanced version of NOOBS. Perhaps one day the Raspberry Pi Foundation will agree and make it the new, official "NOOBS".
Last edited by RPi_Mike on Sat May 05, 2018 6:24 am, edited 1 time in total.

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 01, 2018 8:47 pm

Lol - you saw through me!
I just believe in a free choice. There's no need for PINN to replace NOOBS - it's just an alternative and serves a slightly different market. Unfortunately, not everyone has heard of PINN or Berryboot so they don't even know there is a choice. Why not give PINN a try - more features are being added all the time. See also viewtopic.php?f=28&t=212296&p=1310272#p1310253
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

User avatar
bensimmo
Posts: 3321
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Wed May 02, 2018 8:04 am

EDIT :/ Many thanks for the Expert Edition link to the post below.
Last edited by bensimmo on Tue Jun 19, 2018 8:10 am, edited 2 times in total.

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 08, 2018 8:56 am

UPDATE: Some people have developed 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 support NOOBS-based Jessie systems on the Raspberry Pi 3B+. That is exactly what I have now done – so scroll up and check it out!

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 08, 2018 2:33 pm

Dare I post this....?

I've submitted a Pull Request for NOOBS that includes the same self-update feature from PINN.
I'm told that last time such a feature was suggested that it didn't take off, but I've gone ahead and submitted it anyway.
It will require a little addition to their CDN system to accommodate it.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

hippy
Posts: 3898
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 08, 2018 3:04 pm

procount wrote:
Tue May 08, 2018 2:33 pm
I've submitted a Pull Request for NOOBS that includes the same self-update feature from PINN.
Is it possible to create a compiled version of NOOBS with that PR applied, such that there's an easy way to drop that over an existing NOOBS installation ?

That would seem an easier route than what RPi_Mike has documented ( which I'm not criticising BTW ).


Just realised; no. It requires CDN suppot at their end to be useful. And RPi_Mike's route is what needs to be done to drop new over old.

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 08, 2018 3:39 pm

hippy wrote:
Tue May 08, 2018 3:04 pm
Is it possible to create a compiled version of NOOBS with that PR applied,
Yes, but it really needs to be integrated with NOOBS' release procedure to be any good so that it knows when a new version is available.
hippy wrote:
Tue May 08, 2018 3:04 pm
such that there's an easy way to drop that over an existing NOOBS installation ?
It is no easier or harder to drop this version over an existing installation compared to any other version of NOOBS.
hippy wrote:
Tue May 08, 2018 3:04 pm
That would seem an easier route than what RPi_Mike has documented ( which I'm not criticising BTW ).
You still essentially need to follow the same steps. Mike has just comprehensively detailed the "whys", "wherefores" and "warnings" about the procedure, which are very useful for a beginner, but perhaps get in the way of an experienced user.
His route is quite simple, perhaps it just needs a [TL;DR] section for experienced users along the lines of:
  1. Update your installed OS
  2. Update NOOBS with the new version
  3. Fix up recovery.cmdline to remove the 'runinstaller' option
But the warnings are quite relevant because it may not work for ALL OSes. If you fall outside of the caveats, then YMMV!

This PR is only useful for future updates to NOOBS. I'm not really sure whether this PR will be integrated as the RPF/T have declared they are not adding any new features to NOOBS now. So, it would only be useful to upgrade NOOBS to support any future new models of the RPi or to fix any bugs, which should be pretty few now. But it was a simple port, which is why I did it.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 11011
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Wed May 09, 2018 1:54 pm

Cleaned of crud, please keep it civil, constructive, and on topic, or I must I wield a ban-hammer... :evil:
have a nice day.

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Update NOOBS – Quick Version for Experts

Thu May 10, 2018 3:33 am

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
If you don't meet these criteria, please use the original, comprehensive version of my tutorial. But if you think you're ready to ignore most of my critical notes, warnings and commentary, proceed as follows:


UPDATE NOOBS FOR RASPBIAN STRETCH (Scroll down further if you want my instructions for Raspbian Jessie):


STEP 1: UPDATE YOUR OPERATING SYSTEM:


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:


sudo fdisk -l /dev/mmcblk0


If "/dev/mmcblk0p1" reports a size of 1.4 GIGAbytes or greater, download FULL NOOBS in Step 3.

If "/dev/mmcblk0p1" reports a size between 40 MB and 1.3 GB, download LITE NOOBS in Step 3.






STEP 3: DOWNLOAD THE APPROPRIATE VERSON OF NOOBS (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






STEP 4: MOUNT PARTITION 1 OF YOUR INTERNAL SD CARD:


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:


QUICK WARNING: Do NOT use File Manager to do the deleting!


sudo find /media/pi/MMC_P1 -mindepth 1 -delete






STEP 6: UNZIP NOOBS INTO PARTITION 1 OF YOUR INTERNAL SD CARD:


IF YOU DOWNLOADED FULL NOOBS:

sudo unzip /home/pi/NOOBS_v2_7_0.zip -d /media/pi/MMC_P1


IF YOU DOWNLOADED LITE NOOBS:

sudo unzip /home/pi/NOOBS_lite_v2_8.zip -d /media/pi/MMC_P1






STEP 7: DELETE THE WORD "runinstaller":


sudo nano /media/pi/MMC_P1/recovery.cmdline

QUICK WARNING: After saving the file, re-open it and make certain it only says this – or you will destroy your system:

quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline






STEP 8: SHUT DOWN YOUR RASPBERRY – YOUR SD CARD, AND NOOBS, ARE NOW UPDATED AND READY FOR THE 3B+ !






--------------------






UPDATE NOOBS FOR RASPBIAN JESSIE:

QUICK WARNING: 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) – 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!







STEP 1: UPDATE YOUR "FIRMWARE" AND BOOT CODE:


QUICK WARNING: Since you're an "expert", I'll assume you understand the potential implications of this step.

sudo rpi-update 461ee53cef85d14b8511e9f6d5dce8c0ac1d595a

REBOOT!






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






STEP 3: MOUNT PARTITION 1 OF YOUR INTERNAL SD CARD:


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 "/dev/mmcblk0p1" reports a size in the GIGAbyte range, you have FULL NOOBS

If "/dev/mmcblk0p1" reports a size in the MEGAbyte range, you have LITE NOOBS






STEP 5: CHOOSE THE APPROPRIATE DELETE OPTION FOR PARTITION 1:


QUICK WARNING: Do NOT use File Manager to do the deleting! Choose an option based on your personal preference and your findings in Step 4.


OPTION #1: DELETE EVERYTHING INSIDE PARTITION 1:

sudo find /media/pi/MMC_P1 -mindepth 1 -delete


OPTION #2: DELETE EVERYTHING INSIDE PARTITION 1 EXCEPT THE JESSIE OS RECOVERY FILES:

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:


sudo unzip /home/pi/NOOBS_lite_v2_8.zip -d /media/pi/MMC_P1






STEP 7: DELETE THE WORD "runinstaller":


sudo nano /media/pi/MMC_P1/recovery.cmdline

QUICK WARNING: After saving the file, re-open it and make certain it only says this – or you will destroy your system:

quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline






STEP 8: UPDATE JESSIE'S WIFI DRIVERS SO THAT IT RECOGNIZES THE NEW WIFI CHIP ON THE 3B+:


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

[Hat tip to user "mikerr"!]






STEP 9: SHUT DOWN YOUR RASPBERRY – YOUR SD CARD, AND NOOBS, ARE NOW UPDATED AND READY FOR THE 3B+ !

leemoore1966
Posts: 25
Joined: Sat Aug 29, 2015 2:39 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue May 15, 2018 11:47 am

Hi Mike

Many thanks for posting this, a great tutorial

I was very worried about having to port to the 3B+ due to the extensive changes I have made to a Jessie system!
A few minor tweaks to my own environment in addition to your flow described - and I now have this working successfully on a Pi3B+

many, many thanks for taking the time to post this tutorial
Thx
Lee

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Sat May 19, 2018 10:53 pm

leemoore1966 wrote:
Tue May 15, 2018 11:47 am
Hi Mike

Many thanks for posting this, a great tutorial

I was very worried about having to port to the 3B+ due to the extensive changes I have made to a Jessie system!
A few minor tweaks to my own environment in addition to your flow described - and I now have this working successfully on a Pi3B+

many, many thanks for taking the time to post this tutorial

You're very welcome, Lee. I see you've done some impressive things with UDP transmission!

I'm glad my tutorial was helpful in migrating your Jessie system to the very latest Raspberry hardware.


dragonfeind
Posts: 5
Joined: Mon Oct 01, 2018 6:09 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Mon Oct 01, 2018 7:12 pm

Well, at least my Pi is booting now...
But, it tells me the following: "Error mounting settings partition. Persistent settings partition seems corrupt. Reformat? Yes/No"

I guess it didn't work for me because my issue is from 2015 and has since lived on different Pis. It used to work fine with hardware upgrades, but 3B to 3B+ doesn't seem to go as smoothly.
Restored my backup for now until I know what to do.
Anyone got an idea? I can't be the only one :?

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 6:29 am

2015?
Which version of NOOBS was it? (Look in BUILD-DATA file) Older versions of NOOBS used a different partition layout.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

dragonfeind
Posts: 5
Joined: Mon Oct 01, 2018 6:09 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 7:01 am

Thanks for the reply.
This is what BUILD-DATA in the newly mounted partition gives me

Code: Select all

Build-date: 2015-02-18
NOOBS Version: v1.4
NOOBS Git HEAD @ be1862829eabda6c88856348920d545827b1e82b
rpi-userland Git master @ c5341f09dc686c17966369485f7dd27f58dc081c
rpi-firmware Git master @ 8aca5762f984f6decbeda294cee8418966c3d8d3
rpi-linux Git rpi-3.18.y @ b630db9dcb5c73367050a672823047b0466b16b9

Updated 2015-05-11 with a newer version of Raspbian
ls -la
Image

I don't remember why, but I know that I had to fiddle with that "recovery partition" before, hence last changed 2017, but I think I took files from an old backup and nothing newly downloaded.

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 7:52 am

RPI_MIKE laid down some quite specific constraints for the versions of Noobs and Raspbian this tutorial would work for. It may work for other versions if you are knowledgable and can adapt it.

Your version falls outside these constraints and is just before the partitioning of NOOBS was changed, so you will need to do a lot of adaption.
See https://github.com/raspberrypi/noobs/wi ... -explained

If your OSes are also that old, I doubt they would work with the latest NOOBS version. You might be better to use PINN as it adapts the firmware accordingly. But in any case I think you'd be better to start with a new sd card and a new version of noobs/pinn.
If you need your old OSes, back them up and reinstall them as a custom-os. See readme on github. But better to do a fresh install of those too and reinstall any apps and copy data across.

Edit: I forgot you are upgrading to a 3B+ in which case no OS prior to the 3B+ release will work on it without first upgrading the OS on an old RPi first. As I said: better to start again.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

dragonfeind
Posts: 5
Joined: Mon Oct 01, 2018 6:09 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 8:10 am

Well apt update, upgrade, dist-upgrade, rpi-update all tell me I got the newest and I'm on raspbian stretch so the OS should be up to date. Only problem is getting it to boot so I'll try messing with that. Thanks

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 9:10 am

Well, if the OSes are up to date, that's one hurdle out of the way.
But because of the repartitioning between NOOBS v1.4 and today, this tutorial is not appropriate for you, which is why you get the error you do.

I would start with a Fresh SD card. Put PINN on it instead of NOOBS (because it will make it easier) and install recent versions of the same OSes that you want, so that it will create the correct partition layout for you. Then delete all the files of the OSes you just installed.
Now you can put your old SD card in a USB adaptor and copy your old files into the appropriate partitions, but note that these won't be the same partitions as you had on your NOOBS 1.4 SD card. (In PINN, you have to drop into the recovery shell to do this manually, taking care to mount the correct partitions and copy the files across. Or if you have another Linux OS, you can do it using a file manager, rsync or other tools).

This last point is why I suggested using PINN, because you need to tell your OSes about the new partition layout.
Reboot PINN and go to the Maintenance Menu. Select your OSes, click the 'Fix' option and check the option to re-run the partition-setup script.

Hopefully, now they should boot in their new environment.

Edit: If you want to stick with NOOBS, you will need to edit your fstab and cmdline.txt files manually to account for the new partition layout.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

dragonfeind
Posts: 5
Joined: Mon Oct 01, 2018 6:09 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Tue Oct 02, 2018 9:45 am

Okay, that doesn't sound too hard. I will try both solutions.

Thank you very much for the help!

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Thu Oct 04, 2018 3:48 am

dragonfeind wrote:
Mon Oct 01, 2018 7:12 pm
Well, at least my Pi is booting now...

But, it tells me the following: "Error mounting settings partition. Persistent settings partition seems corrupt. Reformat? Yes/No"

I guess it didn't work for me because my issue is from 2015 and has since lived on different Pis.

OH GEE, AN ERROR – WHAT A SURPRISE! Please see my commentary below.



procount wrote:
Tue Oct 02, 2018 7:52 am
RPI_MIKE laid down some quite specific constraints for the versions of Noobs and Raspbian this tutorial would work for..... Your version falls outside these constraints and is just before the partitioning of NOOBS was changed...

EXACTLY! Procount is the creator of "NOOBS on steroids", so the man knows of what he speaks!

[Minor Note: While it's true I was very thorough in my tutorial and included lots of cautions, commentary and warnings for non-experts, my "constraints" weren't really that specific at all: As long as you have Raspbian Jessie or Stretch – and haven't done anything "weird" or "unorthodox" to your system – my tutorial should work for ALL versions of NOOBS going back a full 35 months! That's quite sweeping: It will get the vast majority of "historical" NOOBS users up and running on the very latest Raspberry Pi hardware — the model 3B+]

As procount alluded to, the reason my tutorial doesn't reach back even farther is not due to any technical or explanatory shortcoming on my part – it's simply because the Raspberry Pi Foundation made a fundamental change to the partition structure when it released NOOBS v1.5 in November of 2015. All of that is explained in great detail in my tutorial.



procount wrote:
Tue Oct 02, 2018 9:10 am
But because of the repartitioning between NOOBS v1.4 and today, this tutorial is not appropriate for you, which is why you get the error you do.

BINGO! [Although, who knows – on top of that, there may be other issues as well. Blah blah blah – I'm not willing to even speculate, since it's completely off-topic and outside the clearly-defined parameters of my tutorial.]


COMPUTER SCIENCE FACT / CONCLUSION: Using my tutorial on any NOOBS-based system from before November 2015 is precisely like using a tutorial on a Windows 7 computer that explicitly states: "Do NOT use this on a Windows 7 computer or you will destroy your system. It is only for use on Windows 8 and above."

There's only so much a man can do to make himself clear. In fact, here's a direct quote from my tutorial – red and bold and underlining NOT added. Yes, that's right – I actually used red and bold and underlining when I first published my tutorial more than 5 months ago:


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.

dragonfeind
Posts: 5
Joined: Mon Oct 01, 2018 6:09 pm

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Thu Oct 04, 2018 9:06 am

Feels like I'm on Stackoverflow. Flamed to death :? :lol:

I just needed help from somewhere and being stuck on the same problem for 2 days made me desperate to try doing it anyway despite the old noobs.

At least it's running fine now :)

User avatar
RPi_Mike
Posts: 100
Joined: Sat Dec 09, 2017 12:57 am
Location: United States

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Thu Oct 04, 2018 10:27 am

dragonfeind wrote:
Thu Oct 04, 2018 9:06 am
Feels like I'm on Stackoverflow. Flamed to death :? :lol:

I just needed help from somewhere and being stuck on the same problem for 2 days made me desperate to try doing it anyway despite the old noobs.

At least it's running fine now :)

Believe it or not, I actually do understand the difference in perceptions. After all, one man's "flame" is another man's "righteous indignation".

To be completely scientific and neutral about it, this is a case of "asymmetric psychological investments" — something that happens often in these forums and life in general.

In other words, I invested hours and hours of hard work into my tutorial, therefore giving it great psychological significance to me. Whereas your investment in creating the tutorial — through absolutely no fault of your own — was of course zero.

Without getting into whose perspective may or may not be more justified in this particular case, it only makes sense that when two people have a profound mismatch in "psychological investments", some level of conflict may result.

procount
Posts: 1292
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: STICKY: TUTORIAL: Update NOOBS without Re-Installing It (When Your Raspberry Pi 3B+ Will Not Boot!)

Thu Oct 04, 2018 10:50 am

dragonfeind wrote:
Thu Oct 04, 2018 9:06 am
At least it's running fine now :)
Glad you got it sorted. :D
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

Return to “General discussion”