Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 17:09, Lennart Sorensen a écrit : On Fri, Oct 07, 2016 at 02:48:30PM +0200, Jean-Christian de Rivaz wrote: You mean the flash-kernel package and not by the flash-kernel-installer ? flash-kernel takes care of the kernel and the boot script. It doesn't install u-boot. At least not at this time. I am a newbie regarding the Debian installer, so it take me some times to finally understand that some udeb packages control file specify providing "bootable-system". Below is the list with the related architecture: debian-installer$ find -type f ! -ipath "*/\.git*" -iname "control" -exec grep -li "^Provides:.*bootable-system" {} \; | xargs grep -i "^Architecture:" ./packages/grub-installer/debian/control:Architecture: i386 hurd-i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc ppc64el mipsel arm64 armhf ./packages/arcboot-installer/debian/control:Architecture: mips ./packages/zipl-installer/debian/control:Architecture: s390 s390x ./packages/lilo-installer/debian/control:Architecture: i386 amd64 ./packages/flash-kernel/debian/control:Architecture: arm64 armel armhf ./packages/flash-kernel/debian/control:Architecture: arm64 armel armhf ./packages/elilo-installer/debian/control:Architecture: i386 ia64 ./packages/nobootloader/debian/control:Architecture: all ./packages/prep-installer/debian/control:Architecture: powerpc ./packages/quik-installer/debian/control:Architecture: powerpc ./packages/yaboot-installer/debian/control:Architecture: powerpc I don't know why "grub-installer" includes armhf since packages/grub-installer/debian/isinstallable don't return 1 for armhf. Now I understand why you point at "flash-kernel". I didn't know that it was ARM specific. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 17:09, Lennart Sorensen a écrit : On Fri, Oct 07, 2016 at 02:48:30PM +0200, Jean-Christian de Rivaz wrote: On some system, maybe. Not on the Orange Pi Plus Well I guess it is one of the exceptions. As I user I experience the H3 ROM like a PC BIOS, and the H3 U-Boot like GRUB. Like a PC BIOS can always boot a CDROM/USB (or SD card on some laptop) regardless the garbage that might affect the HDD/SSD (or eMMC on cheap laptop), the H3 ROM on the Orange Pi Plus can alway boot a SD card regardless the garbage that might affect the eMMC. Like GRUB on a PC, the H3 U-Boot is needed to boot Linux, and both are usually written into the media where Debian is installed. I know UEFI is now on the mainboard EEPROM, but it's still part of the board and don't require the installation media (CDROM/USB or SD card) to normally boot the system. So if you account all the PC that follow that same schema, I don't think that the Orange Pi Plus is an exception. On the contrary, this is a board that perfectly fit the way the Debian installer act on any PC. Well, I understand the technical part. But from a user point, when he see the Orange Pi Plus in the board list of the Debian installer, I think it's normal that he expect to be able to install a working system like the Debian installer do for a PC. The problem with arm systems with u-boot is that you are dealing with embedded systems, not standard machines. They have options for how to boot (on some systems u-boot needs a recompile depending on if you boot from eMMC or SD, so that's a pain). Given debian for armhf can run on just about any modern arm system, the only bit it doesn't cover is installing the boot loader since that is board specific (and sometimes board configuration specific). Having a wiki or other document listing what else needs to be done for a given system would be handy (and probably exists for at least some of the systems). You mean the flash-kernel package and not by the flash-kernel-installer ? flash-kernel takes care of the kernel and the boot script. It doesn't install u-boot. At least not at this time. Ok. Where the U-Boot install task will be appropriate to add on the installation process ? Yes, but only at the installer time on that board. As soon as you reboot it without the SD card or without FEL OTG injection of u-boot, you are left with a useless board. Well it is still fixable with a tiny bit of one time work. I must admit that for various arm boards I have played with I have never used the installer. I have used debootstrap to create a rootfs and then put it and the required bits on uSD or eMMC or wherever I wanted it. Some of the boards have needed a custom kernel build of course, although some didn't. I also played with debootstrap and the like and frankly from a user point of view there are painful. The Debian installer is a wonderful simple way to install Debian in comparison. Agree, but again take the point of view of a user that simply want to install Debian on the Orange Pi Plus. By fare, the simplest way is to write a SD card image of the Debian installer into a SD card and insert it into the board slot. It could be netboot, or hd.media with an additional partition for the ISO image. Both will work to install Debian on the eMMC. Any others way require more work. Anyway, actually either methods will let the user with a useless board. Well the simplest would be to just dump a premade image on uSD and leave it there and forget eMMC. Of course eMMC often has better performance than uSD and it is nice to have a method for file transfers (although USB keys and ethernet are often more convinient). It sound like if you say to a PC user that it just have to install Debian on a USB memory because of some GURB issues and that it can forget his HDD/SSD. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
>> 100% correct. People may invest in a board specifically because >> it's listed. It's easy to create angry users if that turns out >> to be false advertisement, which they only discover after >> they've spent money. > > There is no "false advertisement" from Debian. Debian is a > volunteer project that works on a best-effort basis. The pure > fact that an installer image for a certain platform exists > doesn't in any way claim that each and every possible setup on > that platform is supported, it only indicates that there is at > least one way to get Debian running on the system. It also > doesn't claim in any way that all hardware features of any > particular system are supported. If that were the case, Debian > effectively couldn't provide a distribution, because on many > systems certain functions aren't supported by the standard > installation, be it due to the the lack of mainline kernel > drivers, the requirement to use non-free firmware or whatever > else. > > In fact, the installation guide explicitly speaks of installing > to SD/MMC _cards_ on sunxi-based systems; there is no mentioning > at all of support for installing to onboard memory. And > installing to an SD card has worked flawlessly according to what > Jean-Christian de Rivaz has written further up in this thread. > > Again, as I have already stated several times in this thread: > Yes, adding support for installing u-boot to eMMC to the > installer would be useful. But claiming that Debian does "false > advertising" because this function isn't implemented while Debian > has nowhere claimed that it is available is just ridiculous. You don't have to like my comment but it doesn't make it any less true. You don't need to defend anything to me. You need to understand that users think like ...users, not developers. This is one of the reasons I always prompt people to write clear & explicit documentation - so that it eliminates misleading, confusion, and/or assumption for those reading it. "False advertisement" may not sound nice but that's exactly what many average users think when they see hardware listed only to find out it doesn't actually work. You've probably heard something similar to this - it's a pretty common theme: Good developers remember what it's like to be a new or typical/average user. Bad developers have forgotten and assume everyone sees it their way. Or should. -Derek
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 16:53, Karsten Merker a écrit : On Fri, Oct 07, 2016 at 02:48:30PM +0200, Jean-Christian de Rivaz wrote: Le 07. 10. 16 à 13:33, Karsten Merker a écrit : On Fri, Oct 07, 2016 at 01:57:41AM +0200, Jean-Christian de Rivaz wrote: Regarding the hd-media image: installing to the SD card from ^^ which the installer is started works if the CD/DVD iso is ^^ provided on another storage device such as on a USB stick. What's the point to support a such complicated install setup if at the end there is no u-boot to start the system ? I'm sorry to have to say that, but to me this looks like it is intended as flamebait :-(. I'll try to answer the question nonetheless. First, you were talking about the case of installing the system onto the SD card from which you have booted u-boot and the installer, so in this case there _is_ a u-boot. Yes, but only at the installer time on that board. As soon as you reboot it without the SD card or without FEL OTG injection of u-boot, you are left with a useless board. You are again talking about completely different things. Why would you remove the SD card if it was your installation target? The case in question was _installing_ _to_ _the_ _SD_ _card_. See above, I have underlined the corresponding quoted part for you. We are explicitly _not_ talking about installation to eMMC here. Ok, I misunderstand that you was talking about the case when the target is the SD card, because as you agree, this have nothing to do about the target (expect that you can't install with the SD card as a target is the ISO file is on that SD card). As I have said, I did that SD card target test just for my curiosity. Again I am sorry to have to say that, but my impression is more and more that you are trying to troll me which makes me inclined to not further put my time into this thread. The subject of this thread is explicitly about installing to the eMMC, so I assumed too fast that you was still talking about that subject, sorry. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
On Fri, Oct 07, 2016 at 02:48:30PM +0200, Jean-Christian de Rivaz wrote: > On some system, maybe. Not on the Orange Pi Plus Well I guess it is one of the exceptions. > Well, I understand the technical part. But from a user point, when he see > the Orange Pi Plus in the board list of the Debian installer, I think it's > normal that he expect to be able to install a working system like the Debian > installer do for a PC. The problem with arm systems with u-boot is that you are dealing with embedded systems, not standard machines. They have options for how to boot (on some systems u-boot needs a recompile depending on if you boot from eMMC or SD, so that's a pain). Given debian for armhf can run on just about any modern arm system, the only bit it doesn't cover is installing the boot loader since that is board specific (and sometimes board configuration specific). Having a wiki or other document listing what else needs to be done for a given system would be handy (and probably exists for at least some of the systems). > You mean the flash-kernel package and not by the flash-kernel-installer ? flash-kernel takes care of the kernel and the boot script. It doesn't install u-boot. At least not at this time. > Yes, but only at the installer time on that board. As soon as you reboot it > without the SD card or without FEL OTG injection of u-boot, you are left > with a useless board. Well it is still fixable with a tiny bit of one time work. I must admit that for various arm boards I have played with I have never used the installer. I have used debootstrap to create a rootfs and then put it and the required bits on uSD or eMMC or wherever I wanted it. Some of the boards have needed a custom kernel build of course, although some didn't. > Agree, but again take the point of view of a user that simply want to > install Debian on the Orange Pi Plus. By fare, the simplest way is to write > a SD card image of the Debian installer into a SD card and insert it into > the board slot. It could be netboot, or hd.media with an additional > partition for the ISO image. Both will work to install Debian on the eMMC. > Any others way require more work. Anyway, actually either methods will let > the user with a useless board. Well the simplest would be to just dump a premade image on uSD and leave it there and forget eMMC. Of course eMMC often has better performance than uSD and it is nice to have a method for file transfers (although USB keys and ethernet are often more convinient). -- Len Sorensen
Re: Install on Orange Pi Plus eMMC work but no reboot
>> You might have misunderstood the way the SD card images are >> built. The "firmware" part of the images contains only the >> partition table and the system-specific u-boot. The actual >> installer is the same for all platforms. There is no such thing >> as "the installer for the Orange Pi Plus", therefore all >> components of the installer must use a platform-neutral design. > > Well, I understand the technical part. But from a user point, when he see > the Orange Pi Plus in the board list of the Debian installer, I think it's > normal that he expect to be able to install a working system like the Debian > installer do for a PC. 100% correct. People may invest in a board specifically because it's listed. It's easy to create angry users if that turns out to be false advertisement, which they only discover after they've spent money.
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 13:33, Karsten Merker a écrit : On Fri, Oct 07, 2016 at 01:57:41AM +0200, Jean-Christian de Rivaz wrote: The debian-installer doesn't install u-boot, but it takes explicit care not to destroy an existing u-boot installation during the partitioning step. Yes. It take so much care that it don't write u-boot when it must write it... Such an aggressive undertone doesn't exactly further the discussion. This was a joke, but I understand that it could hurt. Sorry about this. If the installer is able to take care of the region where u-boot is, why don't allow him to optionally copy that region from the SD card to the eMMC ? First, there is a massive difference between taking care to preserve the boot area and thereby an existing u-boot setup (which might not even come from Debian) and performing a write operation that has the potential to wipe out the user's setup and even potentially brick the system. On some system, maybe. Not on the Orange Pi Plus Second, simply copying the u-boot region from SD card to the eMMC has a number of practical problems. The exact layout of u-boot and its environment is system-specific. So while on many systems simply copying the area between the partition table and the first megabyte of the medium works in practice without negative effects, that is not the case for _all_ systems, which again ends up with the point that I already made: installing u-boot is a system-dependent step where there is no "one size fits for all". Agree. Another practical problem is that the installer has no way to know whether there is a valid u-boot setup on the SD card. The user might have a system that came preinstalled with a u-boot at another location (eMMC, SPI NOR flash) and uses that to boot. The SD card images are not the only way the installer can get started, it can be booted by tftp or from a USB stick and there is no way for the installer to know from where it was loaded and whether the SD card that might happen to be in the slot by chance contains a valid u-boot, so blindly copying the boot region from the SD card might end up with a broken system. Ok, I understand that if some code have to install u-boot, it have to get u-boot from a clean place. You wrote an another mail: This thread is explicitly about the Orange Pi Plus board, because there exists a specific Debian installer SD card firmware for that board. This board do the boot order in the right way and it's perfectly safe to write the bootloader on is eMMC. You might have misunderstood the way the SD card images are built. The "firmware" part of the images contains only the partition table and the system-specific u-boot. The actual installer is the same for all platforms. There is no such thing as "the installer for the Orange Pi Plus", therefore all components of the installer must use a platform-neutral design. Well, I understand the technical part. But from a user point, when he see the Orange Pi Plus in the board list of the Debian installer, I think it's normal that he expect to be able to install a working system like the Debian installer do for a PC. Again, I am not against providing an option to install u-boot from within the installer, but it has to be done in a way that works for multiple platforms and doesn't easily brick the user's system. These requirements cannot be fulfilled with "blindly copy some sectors from the SD card in the slot". A possible design could work similar to what the flash-kernel package does, i.e. having a database of systems which lists the specific needs and angles of each system and providing methods to deal with common cases. You mean the flash-kernel package and not by the flash-kernel-installer ? Regarding the hd-media image: installing to the SD card from which the installer is started works if the CD/DVD iso is provided on another storage device such as on a USB stick. What's the point to support a such complicated install setup if at the end there is no u-boot to start the system ? I'm sorry to have to say that, but to me this looks like it is intended as flamebait :-(. I'll try to answer the question nonetheless. First, you were talking about the case of installing the system onto the SD card from which you have booted u-boot and the installer, so in this case there _is_ a u-boot. Yes, but only at the installer time on that board. As soon as you reboot it without the SD card or without FEL OTG injection of u-boot, you are left with a useless board. Second, the setup isn't complicated at all. The function of the hd-media installer is to perform offline installations. It pulls the packages from a CD/DVD which can be available anywhere on the system, be it in form of a physical disk in a CD/DVD drive or in form of an ISO image on any block device. Whether this block device is an SD card or a USB stick doesn't matter at all from the viewpoint of the installer. That the case "have the packages to be installed in a
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 05:25, Lennart Sorensen a écrit : On Fri, Oct 07, 2016 at 01:44:13AM +0200, Jean-Christian de Rivaz wrote: Did you realize that SD card and eMMC uses both exactly the same signaling and controller on all processors, not only on the Allwinner family ? If a board designer is stupid enough to connect the eMMC instead of the SD card on the controller looked first by the on chip ROM, then it's not an argument to not support all the others boards that did it the right way. Well certainly the SD/MMC controllers are not all the same. Certainly the AM572x has 4 MMC controllers, only one of them can drive eMMC, one can do SDIO, one is only 4 bit so best for uSD, and I forget the limits on the last one. They have different widths and maximum speeds. So yes they are all MMC, but they are not all the same. Ok, you win on that. I still doubt that there exist a processor with a on chip ROM that first look for a bootloader on a eMMC only interface. This would be a major failure. Yet again, stupid chips or boards, are not an argument to not support eMMC u-boot on safe processor and boards like the Orange Pi Plus. Would be possible for the Debian installer to check the board model by reading /sys/firmware/devicetree/base/model and check if it found "Xunlong Orange Pi Plus" into it ? Then it could warn the user and ask if it want to write u-boot on the target device. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
On Fri, Oct 07, 2016 at 01:44:13AM +0200, Jean-Christian de Rivaz wrote: > Did you realize that SD card and eMMC uses both exactly the same signaling > and controller on all processors, not only on the Allwinner family ? If a > board designer is stupid enough to connect the eMMC instead of the SD card > on the controller looked first by the on chip ROM, then it's not an argument > to not support all the others boards that did it the right way. Well certainly the SD/MMC controllers are not all the same. Certainly the AM572x has 4 MMC controllers, only one of them can drive eMMC, one can do SDIO, one is only 4 bit so best for uSD, and I forget the limits on the last one. They have different widths and maximum speeds. So yes they are all MMC, but they are not all the same. > Stupid boards need stupid recovery procedure anyway, regardless of the > operating system. This is not a Debian problem. Or least Debian should not > try to officially support broken boards. This is just a wast of time. Better > to concentrate into work that yield a productive and safe result. > > This thread is explicitly about the Orange Pi Plus board, because there > exists a specific Debian installer SD card firmware for that board. This > board do the boot order in the right way and it's perfectly safe to write > the bootloader on his eMMC. > > I think it's a way too conservative approach, just give the option with a > warning. At least this will make some users happy by allowing to install > Debian on eMMC from his superb installer. The current situation prevent any > users to make a Debian install on a eMMC because of a tiny missing piece. > This is frustrating. -- Len Sorensen
Re: Install on Orange Pi Plus eMMC work but no reboot
On Thu, Oct 06, 2016 at 11:28:07PM +0100, Ben Hutchings wrote: > Is that actually controlled by straps, though? For the TI SoC I've > been working with recently, when the boot device is set to eMMC the ROM > code will look for the SPL in: > > 1. boot area > 2. fixed offsets in main area > 3. file named 'MLO' in first partition (MBR, FAT) > > in that order. When I read the documentation, that bit was rather incomplete, so I don't know for sure. I think you are right that it tries them all. Certainly the support for GPT and ext2 were not in the documentation and was determined by giving it a try and being surprised it worked, which the TI people then confirmed. So MLO can be on FAT or ext2 partition with that partition being on an MBR or GPT setup. I prefer the boot area (and is what the product I worked on uses), with option 3 being my second choice; I do not like option 2 at all since it is incompatible with GPT. -- Len Sorensen
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 03:18, Ben Hutchings a écrit : On Fri, 2016-10-07 at 01:44 +0200, Jean-Christian de Rivaz wrote: Did you realize that SD card and eMMC uses both exactly the same signaling and controller on all processors, not only on the Allwinner family ? This is not true. There are many signalling modes for SD and eMMC, few of which work for both of them. As a result there are some controllers that only support one or the other (e.g. in R-Car SoCs). Did you seriously pretend that a single silicon chip uses two different on chip MMC controllers making them unable to support a SD card or an eMMC on only one of his controller ? Please provides a link to it, I would be certain to never use it. Stupid boards need stupid recovery procedure anyway, regardless of the operating system. This is not a Debian problem. Or least Debian should not try to officially support broken boards. [...] Just as all software is buggy, all hardware is buggy. So yes, we should try to support broken boards, so far as we can. I definitely don't agree on this kind of argument. All chips and boards are not equally buggy, far far from that in practice. The market is actually flooded so fast with new boards that's is already a challenge to support good and safe boards before there get replaced by a new generation of board. I see no advantage in loosing time to support broken boards and delaying support of good boards in the process. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 01:57, Jean-Christian de Rivaz a écrit : Le 07. 10. 16 à 00:39, Karsten Merker a écrit : was wrote by the installer. The debian-installer doesn't install u-boot, but it takes explicit care not to destroy an existing u-boot installation during the partitioning step. Yes. It take so much care that it don't write u-boot when it must write it... If the installer is able to take care of the region where u-boot is, why don't allow him to optionally copy that region from the SD card to the eMMC ? After erasing the eMMC again, I tested this from the SD card netboot Debian installer shell just before the reboot: dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=1k skip=8 seek=8 count=1016 sync And Debian booted perfectly well from the eMMC, without the SD card :-) I hope that the Debian installer will soon propose this operation to the user. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
On Fri, 2016-10-07 at 01:44 +0200, Jean-Christian de Rivaz wrote: > Le 07. 10. 16 à 00:30, Karsten Merker a écrit : > > > So the boot order might not be problematic on the Orange Pi Plus, but > > it can definitely be problematic on A64-based systems and it might > > possibly be problematic on other H3-based boards. > > > Did you realize that SD card and eMMC uses both exactly the same > signaling and controller on all processors, not only on the Allwinner > family ? This is not true. There are many signalling modes for SD and eMMC, few of which work for both of them. As a result there are some controllers that only support one or the other (e.g. in R-Car SoCs). > If a board designer is stupid enough to connect the eMMC > instead of the SD card on the controller looked first by the on chip > ROM, then it's not an argument to not support all the others boards that > did it the right way. I can agree with that. > Stupid boards need stupid recovery procedure anyway, regardless of the > operating system. This is not a Debian problem. Or least Debian should > not try to officially support broken boards. [...] Just as all software is buggy, all hardware is buggy. So yes, we should try to support broken boards, so far as we can. Ben. -- Ben Hutchings Every program is either trivial or else contains at least one bug signature.asc Description: This is a digitally signed message part
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 00:39, Karsten Merker a écrit : On Thu, Oct 06, 2016 at 08:13:45PM +0200, Jean-Christian de Rivaz wrote: Right. For my curiosity I tested the netboot SD card image of the Debian installer and tried to tell it to partition, format and install Debian into the very same SD card the installer booted from. To my great surprise this worked flawlessly (just need a power cycle as the reboot simply hang). This work only with the netboot image. The hd-media require an other partition with the ISO file making the partition/format fail because the SD card device is busy. I don't know at this stage if the boot stage is a residual of the image creation on the SD card or if it was wrote by the installer. The debian-installer doesn't install u-boot, but it takes explicit care not to destroy an existing u-boot installation during the partitioning step. Yes. It take so much care that it don't write u-boot when it must write it... If the installer is able to take care of the region where u-boot is, why don't allow him to optionally copy that region from the SD card to the eMMC ? Regarding the hd-media image: installing to the SD card from which the installer is started works if the CD/DVD iso is provided on another storage device such as on a USB stick. What's the point to support a such complicated install setup if at the end there is no u-boot to start the system ? Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 07. 10. 16 à 00:30, Karsten Merker a écrit : So the boot order might not be problematic on the Orange Pi Plus, but it can definitely be problematic on A64-based systems and it might possibly be problematic on other H3-based boards. Did you realize that SD card and eMMC uses both exactly the same signaling and controller on all processors, not only on the Allwinner family ? If a board designer is stupid enough to connect the eMMC instead of the SD card on the controller looked first by the on chip ROM, then it's not an argument to not support all the others boards that did it the right way. Stupid boards need stupid recovery procedure anyway, regardless of the operating system. This is not a Debian problem. Or least Debian should not try to officially support broken boards. This is just a wast of time. Better to concentrate into work that yield a productive and safe result. This thread is explicitly about the Orange Pi Plus board, because there exists a specific Debian installer SD card firmware for that board. This board do the boot order in the right way and it's perfectly safe to write the bootloader on his eMMC. This of course doesn't mean that an option to install u-boot to eMMC from inside the installer isn't useful, just that this needs proper planning and also probably a configuration at the board level and not only at the SoC level. I think it's a way too conservative approach, just give the option with a warning. At least this will make some users happy by allowing to install Debian on eMMC from his superb installer. The current situation prevent any users to make a Debian install on a eMMC because of a tiny missing piece. This is frustrating. Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
On Thu, 2016-10-06 at 16:53 -0400, Lennart Sorensen wrote: > On Thu, Oct 06, 2016 at 12:29:13PM -0700, Vagrant Cascadian wrote: > > To make matters more complicated, there are definitely some boards > > (Firefly, maybe BeagleBoard-X15) which can install the OS to eMMC, > > but > > u-boot still has to be loaded from SD card. I don't think we have > > much > > information on which boards those are. It may also vary from one u- > > boot > > version to the next... > > > The BeagleBoard X15 has jumper settings to boot: > > SD if present, otherwise eMMC > UART > SATA if present otherwise SD > > I know the CPU for eMMC boot will boot u-boot from partition 1 with a > given filename from either FAT or EXT2 filesystem, with either MBR or > GPT partition table. It will also boot from eMMC boot area. I am > not sure which one the X15 happens to be supporting when they say boot > from eMMC. Is that actually controlled by straps, though? For the TI SoC I've been working with recently, when the boot device is set to eMMC the ROM code will look for the SPL in: 1. boot area 2. fixed offsets in main area 3. file named 'MLO' in first partition (MBR, FAT) in that order. Ben. > Seems the jumpers are not installed howefver, and it would take > soldering > work to make it do anything other than the first option. > > -- Ben Hutchings Every program is either trivial or else contains at least one bug signature.asc Description: This is a digitally signed message part
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 06. 10. 16 à 21:29, Vagrant Cascadian a écrit : I don't believe there is any code in debian-installer to install u-boot; the installer did not install it. I don't believe there is any code within all of Debian to install u-boot automatically (unless you count SD image generation). It is at this point a manual process. And this is the only missing operation still required to fully support Debian a board like the Orange Pi Plus. Installing u-boot from within the debian-installer can be a rather dangerous operation on many systems which is why the installer doesn't try to do that yet. The problem is that u-boot isn't only a bootloader like GRUB but more like a PC BIOS and nobody would expect the debian-installer to flash BIOS-updates on a PC ;-). There are quite a number of systems where writing u-boot to internal storage going wrong completely bricks the system, i.e the system is electronics garbage afterwards. Most sunxi-based systems still have a way to trigger SD boot or FEL boot as a way to manually restore the firmware, but not all of them do, and on many non-sunxi-platforms a broken u-boot write is completely unrecoverable except by unsoldering the flash or - if one is lucky - by accessing it via JTAG, but both are methods that are inaccessible for a normal user. I understand, but the SD card image of the Debian installer is specifically targeted for the Orange Pi Plus board so it can take advantage of it. While the SD card images can be used for recovery in many cases, it is also possible that u-boot installed to eMMC fails in such a way that it doesn't fall back to SD card, requiring a lot of effort to reset the board. It depends entirely on the boot ROM of the board what order it searches for the bootloader... Not on that board. The H3 processor chip integrate a boot ROM that always first look at the SD card and then at the eMMC (unless forced into the special FEL mode). There is no way to break the ROM integrated into the processor chip. Take a look at http://linux-sunxi.org/BROM for the details. Given that experience, I tend to strongly prefer installing u-boot on SD card when possible, as you can easily remove the SD card and reinstall a known-good u-boot from another machine. This is exactly how the H3 boot ROM work already. You can write anything you want into the eMMC, there is absolutely no way to break the SD card boot from the CPU ROM. So there is no danger in writing the bootloader into the eMMC on that board. Writing the bootloader on the eMMC this is exactly what a user will expect while installing Debian into the eMMC. I'll put looking into support for installing u-boot from within the installer at least on certain systems onto my (unfortunately already way too long) todo list, but that will surely take quite some time. I'm also CCing Vagrant Cascadian, the Debian u-boot maintainer for some further input on this topic. Basically, it will require much of the same code as upgrading u-boot: https://bugs.debian.org/812611 Which has been on my todo list for quite some time with little activity. Due to the risk of bricking, both fresh installation and upgrading of u-boot should probably require some sort of opt-in process. Knowing how to install u-boot on a particular set of boards is another feature that's needed, although the SD-card image generation in debian-installer is a good start for several boards. To make matters more complicated, there are definitely some boards (Firefly, maybe BeagleBoard-X15) which can install the OS to eMMC, but u-boot still has to be loaded from SD card. I don't think we have much information on which boards those are. It may also vary from one u-boot version to the next... So, in short, there are quite a few complications to take into consideration. If someone can propose patches that take into account all these issues quite soon, it *might* be feasible for stretch. From a user point of view this would be a major achievement for the Debian armhf port that finally make some ARM boards as easy to install than a regular PC. Well, maybe even easier than the actual UEFI PC... Regards, Jean-Christian
Re: Install on Orange Pi Plus eMMC work but no reboot
On Thu, Oct 06, 2016 at 12:29:13PM -0700, Vagrant Cascadian wrote: > To make matters more complicated, there are definitely some boards > (Firefly, maybe BeagleBoard-X15) which can install the OS to eMMC, but > u-boot still has to be loaded from SD card. I don't think we have much > information on which boards those are. It may also vary from one u-boot > version to the next... The BeagleBoard X15 has jumper settings to boot: SD if present, otherwise eMMC UART SATA if present otherwise SD I know the CPU for eMMC boot will boot u-boot from partition 1 with a given filename from either FAT or EXT2 filesystem, with either MBR or GPT partition table. It will also boot from eMMC boot area. I am not sure which one the X15 happens to be supporting when they say boot from eMMC. Seems the jumpers are not installed howefver, and it would take soldering work to make it do anything other than the first option. -- Len Sorensen
Re: Install on Orange Pi Plus eMMC work but no reboot
Thanks Karsten and Jean-Christian for your detailed responses! It's a complicated issue, more details below... On 2016-10-06, Jean-Christian de Rivazwrote: > Le 06. 10. 16 à 15:26, Karsten Merker a écrit : > Right. For my curiosity I tested the netboot SD card image of the Debian > installer and tried to tell it to partition, format and install Debian > into the very same SD card the installer booted from. To my great > surprise this worked flawlessly (just need a power cycle as the reboot > simply hang). This work only with the netboot image. The hd-media > require an other partition with the ISO file making the partition/format > fail because the SD card device is busy. I don't know at this stage if > the boot stage is a residual of the image creation on the SD card or if > it was wrote by the installer. I don't believe there is any code in debian-installer to install u-boot; the installer did not install it. I don't believe there is any code within all of Debian to install u-boot automatically (unless you count SD image generation). It is at this point a manual process. >> For booting the system please see below. If that doesn't work, >> you could try running a rescue shell from the installer. Once >> you have a shell, get the following file and gunzip it: >> >> >> https://d-i.debian.org/daily-images/armhf/daily/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin.gz >> >> To write it to the eMMC, please run >> >>dd bs=1k seek=8 if=u-boot-sunxi-with-spl.bin of=/dev/YOUR_TARGET_DEVICE >>sync >> >> with YOUR_TARGET_DEVICE being the first regular (i.e. non-boot) >> eMMC partition; in your case probably /dev/mmcblk1p1. >> Unfortunately I don't know how the H3 BROM handles the >> eMMC-specific hardware boot partitions (/dev/mmcblk1boot0 and >> /dev/mmcblk1boot1), i.e. whether it tries to load the u-boot SPL >> from the first regular partition or from the first hardware boot >> partition. If the latter, this would probably need extra support >> in u-boot which to my knowledge isn't there yet. > > So I have followed this procedure: > * Reinstalled the SD card with the netboot SD card image of the Debian > installer and powered up the board. > * Interrupted U-Boot with some space characters. > * Issued the command "run bootcmd_mmc1" into U-Boot and the Debian > system on the eMMC started as expected instead of the installer on the > SD card. > * Logged as root. > * Downloaded the file with this command: wget > https://d-i.debian.org/daily-images/armhf/daily/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin.gz > * Uncompress the file with: gunzip u-boot-sunxi-with-spl.bin.gz > * Wrote the file with: dd bs=1k seek=8 if=u-boot-sunxi-with-spl.bin > of=/dev/mmcblk2 > * Issued the "sync" command. > * Removed the SD card. > * Reboot / power cycle. > * Welcome to Debian on H3 from eMMC :-) ... >> Installing u-boot from within the debian-installer can be a >> rather dangerous operation on many systems which is why the >> installer doesn't try to do that yet. The problem is that u-boot >> isn't only a bootloader like GRUB but more like a PC BIOS and >> nobody would expect the debian-installer to flash BIOS-updates on >> a PC ;-). There are quite a number of systems where writing >> u-boot to internal storage going wrong completely bricks the >> system, i.e the system is electronics garbage afterwards. Most >> sunxi-based systems still have a way to trigger SD boot or FEL >> boot as a way to manually restore the firmware, but not all of >> them do, and on many non-sunxi-platforms a broken u-boot write is >> completely unrecoverable except by unsoldering the flash or - if >> one is lucky - by accessing it via JTAG, but both are methods >> that are inaccessible for a normal user. > > I understand, but the SD card image of the Debian installer is > specifically targeted for the Orange Pi Plus board so it can take > advantage of it. While the SD card images can be used for recovery in many cases, it is also possible that u-boot installed to eMMC fails in such a way that it doesn't fall back to SD card, requiring a lot of effort to reset the board. It depends entirely on the boot ROM of the board what order it searches for the bootloader... Given that experience, I tend to strongly prefer installing u-boot on SD card when possible, as you can easily remove the SD card and reinstall a known-good u-boot from another machine. >> I'll put looking into support for installing u-boot from within >> the installer at least on certain systems onto my (unfortunately >> already way too long) todo list, but that will surely take quite >> some time. I'm also CCing Vagrant Cascadian, the Debian u-boot >> maintainer for some further input on this topic. Basically, it will require much of the same code as upgrading u-boot: https://bugs.debian.org/812611 Which has been on my todo list for quite some time with little activity. Due to the risk of bricking, both fresh installation and
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 06. 10. 16 à 15:26, Karsten Merker a écrit : The raw MLC NAND flash that was commonly used as fixed storage on sunxi-based boards isn't yet properly supported in the mainline kernel and sunxi-based systems with eMMC storage are a fairly recent development. Therefore until recently, on sunxi-based devices installation was only possible to either the SD card that the system was booted from and on which therefore a u-boot was already installed, or to a SATA disk (on SoCs that have a SATA controller), or to a USB mass storage device. As no Allwinner SoC can boot directly from SATA nor from USB mass storage devices, in all cases u-boot still had to be loaded from the SD card because there was no other way and u-boot was already present there, so there was no need to install u-boot somewhere as a part of the installation process. Right. For my curiosity I tested the netboot SD card image of the Debian installer and tried to tell it to partition, format and install Debian into the very same SD card the installer booted from. To my great surprise this worked flawlessly (just need a power cycle as the reboot simply hang). This work only with the netboot image. The hd-media require an other partition with the ISO file making the partition/format fail because the SD card device is busy. I don't know at this stage if the boot stage is a residual of the image creation on the SD card or if it was wrote by the installer. Yet the result is simply amazing already. With boards becoming available now which use eMMC instead of raw MLC NAND flash, the situation changes indeed. AFAIK you are actually the first person reporting about a Debian installation to eMMC on sunxi-based boards. If we can get this working, I am certain that this will become a popular way to install Debian on that kind of board. I observe a trend in the industry toward eMMC. The price is very low with the advantage solve tricky wearing management and compatibility details. From my personal point of view raw NAND are dead already. For booting the system please see below. If that doesn't work, you could try running a rescue shell from the installer. Once you have a shell, get the following file and gunzip it: https://d-i.debian.org/daily-images/armhf/daily/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin.gz To write it to the eMMC, please run dd bs=1k seek=8 if=u-boot-sunxi-with-spl.bin of=/dev/YOUR_TARGET_DEVICE sync with YOUR_TARGET_DEVICE being the first regular (i.e. non-boot) eMMC partition; in your case probably /dev/mmcblk1p1. Unfortunately I don't know how the H3 BROM handles the eMMC-specific hardware boot partitions (/dev/mmcblk1boot0 and /dev/mmcblk1boot1), i.e. whether it tries to load the u-boot SPL from the first regular partition or from the first hardware boot partition. If the latter, this would probably need extra support in u-boot which to my knowledge isn't there yet. So I have followed this procedure: * Reinstalled the SD card with the netboot SD card image of the Debian installer and powered up the board. * Interrupted U-Boot with some space characters. * Issued the command "run bootcmd_mmc1" into U-Boot and the Debian system on the eMMC started as expected instead of the installer on the SD card. * Logged as root. * Downloaded the file with this command: wget https://d-i.debian.org/daily-images/armhf/daily/u-boot/orangepi_plus/u-boot-sunxi-with-spl.bin.gz * Uncompress the file with: gunzip u-boot-sunxi-with-spl.bin.gz * Wrote the file with: dd bs=1k seek=8 if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2 * Issued the "sync" command. * Removed the SD card. * Reboot / power cycle. * Welcome to Debian on H3 from eMMC :-) Many thanks for your effective explanations ! This worked perfectly well. I have neither access to a H3-based system nor to any other sunxi-based device with eMMC, so unfortunately I cannot do any tests in this regard. I have some motivation to do that for you on my Orange Pi Plus as long as I found the time to do it. Installing u-boot from within the debian-installer can be a rather dangerous operation on many systems which is why the installer doesn't try to do that yet. The problem is that u-boot isn't only a bootloader like GRUB but more like a PC BIOS and nobody would expect the debian-installer to flash BIOS-updates on a PC ;-). There are quite a number of systems where writing u-boot to internal storage going wrong completely bricks the system, i.e the system is electronics garbage afterwards. Most sunxi-based systems still have a way to trigger SD boot or FEL boot as a way to manually restore the firmware, but not all of them do, and on many non-sunxi-platforms a broken u-boot write is completely unrecoverable except by unsoldering the flash or - if one is lucky - by accessing it via JTAG, but both are methods that are inaccessible for a normal user. I understand, but the SD card image of the Debian installer is specifically targeted for the Orange
Re: Install on Orange Pi Plus eMMC work but no reboot
On Thu, Oct 06, 2016 at 11:40:58AM +0200, Jean-Christian de Rivaz wrote: > The U-Boot and the installer was on a SD card that was only created by > decompressing and concatenating this two files: > https://d-i.debian.org/daily-images/armhf/daily/netboot/SD-card-images/firmware.orangepi_plus.img.gz > https://d-i.debian.org/daily-images/armhf/daily/netboot/SD-card-images/partition.img.gz > At some point this installer make some partitions and format on the eMMC > with an offset to make place before them for the boot0 and boot1 files that > certainly correspond to first stages bootloader of the H3. On emmc, boot0 and boot1 are NOT partitions. They are dedicated boot areas on eMMC, which is a neat feature really. Not all chips support it. > I think this is a wrong assumption. The firmware.orangepi_plus.img contain > the first stages bootloaders and U-Boot to boot the installer. Evidence are > on that log file: > https://d-i.debian.org/daily-images/armhf/daily/build_u-boot.log and the > very basic fact that the installer simply boot. Without the SD card inserted > there is no message at all on the console. Well it is how the debian installer currently works. The different u-boot setups are quite a mess and handling every single board variant with every single boot option would be a huge job, while simply handling installing the rootfs is much simpler and generic. > Yes, I think U-Boot is on the SD card to boot the installer. And yes, I > expect that the installer install U-Boot on the eMMC, otherwise there is no > point in having a such installer. The goal is to install a working system, > no ? By the way it look like the installer have installed something that > look like the two first stages bootloader on the /dev/mmcblk1boot0 and > /dev/mmcblk1boot1 blocks on the eMMC, but for some reason this don't work as > expected. Well often there are dip switches or jumpers that have to be changed on a board to change between eMMC and SD booting. No idea about that board. >From what I can find, it seems it boots from eMMC if there is no SD card present. One page I found seems to indicate that it does not boot from the boot area of the eMMC and instead requires the boot loader places at offset 8k from the start of the eMMC, after the partition table, before the first partition, and also appears to require a fat partition to be first to store boot files, although whether that is required or not I don't know. -- Len Sorensen
Re: Install on Orange Pi Plus eMMC work but no reboot
Le 06. 10. 16 à 02:16, Karsten Merker a écrit : On Wed, Oct 05, 2016 at 10:59:06PM +0200, Jean-Christian de Rivaz wrote: First I wish to congratulate the Debian Installer team for there fantastic work on armhf. I tested both the hd-media and netinst on a Allwinner H3 Orange Pi Plus and the installer worked without any glitch up to the reboot. But unfortunately the installed system on eMMC don't boot. There is no message at all on the console while powering up the board with the eMMC alone, but there is clearly something installed on the eMMC when I inspect it from an other image booted from the SD card. I suspect that the eMMC boot is not supported. Anyone can confirm or not that fact ? Do you have a u-boot on the eMMC or is the u-boot from which you load the installer started from an SD card? The U-Boot and the installer was on a SD card that was only created by decompressing and concatenating this two files: https://d-i.debian.org/daily-images/armhf/daily/netboot/SD-card-images/firmware.orangepi_plus.img.gz https://d-i.debian.org/daily-images/armhf/daily/netboot/SD-card-images/partition.img.gz At some point this installer make some partitions and format on the eMMC with an offset to make place before them for the boot0 and boot1 files that certainly correspond to first stages bootloader of the H3. The debian-installer doesn't itself install u-boot as a part of the installation process but instead assumes that there already is a u-boot available on the system, because otherwise the installer couldn't have been booted :-). I think this is a wrong assumption. The firmware.orangepi_plus.img contain the first stages bootloaders and U-Boot to boot the installer. Evidence are on that log file: https://d-i.debian.org/daily-images/armhf/daily/build_u-boot.log and the very basic fact that the installer simply boot. Without the SD card inserted there is no message at all on the console. If your u-boot is on the SD card, you install to the eMMC and then remove the SD card, this assumption isn't true anymore. Yes, I think U-Boot is on the SD card to boot the installer. And yes, I expect that the installer install U-Boot on the eMMC, otherwise there is no point in having a such installer. The goal is to install a working system, no ? By the way it look like the installer have installed something that look like the two first stages bootloader on the /dev/mmcblk1boot0 and /dev/mmcblk1boot1 blocks on the eMMC, but for some reason this don't work as expected. So one attempt at a solution could be to manually install u-boot to the eMMC. How ? Does your u-boot build support two MMC devices - i.e. SD card and eMMC - at the same time (IIRC that is a build time config option in u-boot)? If yes, you could start u-boot from the SD card and then boot the rest of the system from the eMMC. I don't know, the U-Boot is not build by me but by the Debian Installer team. This is precisely why I ask the question here. How to configure the U-Boot of the SD card to boot the system on the eMMC ? Regards, Jean-Christian
Install on Orange Pi Plus eMMC work but no reboot
Hi all. First I wish to congratulate the Debian Installer team for there fantastic work on armhf. I tested both the hd-media and netinst on a Allwinner H3 Orange Pi Plus and the installer worked without any glitch up to the reboot. But unfortunately the installed system on eMMC don't boot. There is no message at all on the console while powering up the board with the eMMC alone, but there is clearly something installed on the eMMC when I inspect it from an other image booted from the SD card. I suspect that the eMMC boot is not supported. Anyone can confirm or not that fact ? Some information on what I can see on the eMMC: /dev/mmcblk1: block special (179/16) /dev/mmcblk1boot0: block special (179/32) /dev/mmcblk1boot1: block special (179/48) /dev/mmcblk1p1:block special (179/17) /dev/mmcblk1p2:block special (179/18) /dev/mmcblk1p3:block special (179/19) /dev/mmcblk1p5:block special (179/21) Device BootStart End Sectors Size Id Type /dev/mmcblk1p1 *2048 499711 497664 243M 83 Linux /dev/mmcblk1p2499712 13266943 12767232 6.1G 83 Linux /dev/mmcblk1p3 13268990 15267839 1998850 976M 5 Extended /dev/mmcblk1p5 13268992 15267839 1998848 976M 82 Linux swap / Solaris On dev/mmcblk1p1: 14 3721 -rw-r--r-- 1 root root 3793672 Sep 26 18:07 ./vmlinuz-4.7.0-1-armmp-lpae 23 3 -rw-r--r-- 1 root root 2463 Oct 5 18:49 ./boot.scr.bak 13181 -rw-r--r-- 1 root root 183970 Sep 26 00:48 ./config-4.7.0-1-armmp-lpae 25 3 -rw-r--r-- 1 root root 2463 Oct 5 18:50 ./boot.scr 24 15352 -rw-r--r-- 1 root root 15657733 Oct 5 18:50 ./initrd.img-4.7.0-1-armmp-lpae 12 2860 -rw-r--r-- 1 root root 2914681 Sep 26 00:48 ./System.map-4.7.0-1-armmp-lpae 12053 17 -rw-r--r-- 1 root root16337 Oct 5 18:50 ./dtbs/4.7.0-1-armmp-lpae/sun8i-h3-orangepi-plus.dtb 12052 17 -rw-r--r-- 1 root root16337 Oct 5 18:50 ./dtbs/4.7.0-1-armmp-lpae/sun8i-h3-orangepi-plus.dtb.bak -- Jean-Christian