Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

autoboot.txt overrides boot {part} #508

Closed
matthuisman opened this issue Jul 29, 2018 · 10 comments
Closed

autoboot.txt overrides boot {part} #508

matthuisman opened this issue Jul 29, 2018 · 10 comments

Comments

@matthuisman
Copy link

matthuisman commented Jul 29, 2018

NOOBs Lite 2.8
http://director.downloads.raspberrypi.org/NOOBS_lite/images/NOOBS_lite-2018-04-19/NOOBS_lite_v2_8.zip

(Sorry - Not sure of last known working version)

Current Behaviour
NOOBS ignores reboot {part} and always boots to boot_partition in autoboot.txt

Expected Behaviour
reboot {part} reboots into part and autoboot.txt is ignored.

Steps to reproduce

  • Format SD card and copy over NOOBs Lite 2.8 files

  • Boot NOOBs and install LibreELEC and OSMC

  • Boot LibreELEC, enable SSH

  • SSH into LibreELEC (root / libreelec) and do command reboot 8

  • Observe Pi reboots to OSMC

  • SSH into OSMC (osmc / osmc) and do command sudo reboot 6

  • Observe Pi reboots to LibreELEC

  • Put SD card into PC and create autoboot.txt file in root of SD card with below contents
    boot_partition=6

  • Boot Pi

  • Observe Pi booting directly into LibreELEC

  • SSH into LibreELEC and do command reboot 8

  • Observe Pi reboots to LibreELEC (and not OSMC as expected)

@lurch
Copy link
Collaborator

lurch commented Jul 31, 2018

AFAIK this behaviour is all entirely in firmware-land and not in NOOBS-land.
Ping @popcornmix

@XECDesign
Copy link
Contributor

@lurch it is all firmware, but I'm the one who touched it last and it seems most relevant to NOOBS users, so that probably lands it on my todo list.

@XECDesign
Copy link
Contributor

I've had a quick go at fixing this:
bootcode.bin.zip

Seems to work for me, but it would be good to get a few testers to check I haven't messed anything else up. It just needs to be extracted onto the NOOBS partition (the one with recovery.elf) as bootcode.bin.

@matthuisman
Copy link
Author

matthuisman commented Sep 20, 2018

@XECDesign
I have tested all the scenarios I could think of in latest PINN (2.8.5.4) and that bootcode.bin works great 👍

@thegigibeast
Could you give this a test (above comment)?
You should just need to pop your SD card into a PC.
Make a back-up of the bootcode.bin file.
Then over-write it with the above file.
Then check if it fixes the autoboot issue

@Dustee
Copy link

Dustee commented Sep 23, 2018

I just tested, and reboot command works as expected.

My setup is : noobs 2.8, rasplex 1.8 (outdated firmware?), libreelec 8.2.5, retropie latest.

@XECDesign
Copy link
Contributor

XECDesign commented Sep 24, 2018

Thanks for testing, @Dustee.

Seems to work well for me too, except for when booting off USB.

Unfortunately, that requires a change to start.elf. We can fix NOOBS and Raspbian relatively quickly (I hope), but then it will take a while for the change to propagate to the other distros.

@matthuisman
Copy link
Author

matthuisman commented Sep 25, 2018

@XECDesign

Do they changes break the other distros from booting?
Or, will they simply just continue to have this autoboot issue until they are updated?

@XECDesign
Copy link
Contributor

The combination of booting off USB, using autoboot.txt AND a reboot parameter would result in files being loaded from two different partitions. If any of the variables are removed, then everything works.

popcornmix added a commit to raspberrypi/firmware that referenced this issue Oct 9, 2018
2ndstage: Increase eth_open timeout to 5 seconds
See: #1041

firmware: video_encode: Use default values on invalid nStride or nSliceHeight
See: #1051

firmware: gpioman/FXL6408: Handle open failing sensibly
See: #1053

firmware: Delay backlight coming on
See: #1052

firmware: LCD driver close fixes

2ndstage: ignore autoboot.txt if boot partition is already set
See: raspberrypi/noobs#508
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this issue Oct 9, 2018
2ndstage: Increase eth_open timeout to 5 seconds
See: raspberrypi/firmware#1041

firmware: video_encode: Use default values on invalid nStride or nSliceHeight
See: raspberrypi/firmware#1051

firmware: gpioman/FXL6408: Handle open failing sensibly
See: raspberrypi/firmware#1053

firmware: Delay backlight coming on
See: raspberrypi/firmware#1052

firmware: LCD driver close fixes

2ndstage: ignore autoboot.txt if boot partition is already set
See: raspberrypi/noobs#508
@popcornmix
Copy link

Fix should be in latest rpi-update firmware.

@XECDesign
Copy link
Contributor

In the process of publishing v2.9 with this fix:
https://github.com/raspberrypi/noobs/releases/tag/v2.9

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants