From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Sun, 14 Sep 2014 20:00:52 +0200 Subject: [U-Boot] Generic bootcmd handling: Missing 'scsi scan' In-Reply-To: <20140914154357.GD4641@excalibur.cnev.de> References: <20140914154357.GD4641@excalibur.cnev.de> Message-ID: <5415D7D4.2050508@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Karsten, Thanks for testing this! On 09/14/2014 05:43 PM, Karsten Merker wrote: > Hello, > > I am currently testing the new bootcmd handling introduced at > http://git.denx.de/?p=u-boot.git;a=commit;h=8cc96848f0a467922820895b6b2363b0c64163b5 > on a sunxi-based system running u-boot v2014.10-rc2. > > When installing to MMC, everything works as expected; the > boot.scr on the first MMC partition is found and executed. > > When installing to a SATA disk, the following happens: > > U-Boot 2014.10-rc2 (Sep 04 2014 - 07:32:33) Allwinner Technology > > CPU: Allwinner A20 (SUN7I) > I2C: ready > DRAM: 2 GiB > MMC: SUNXI SD/MMC: 0 > In: serial > Out: serial > Err: serial > SCSI: SUNXI SCSI INIT > Target spinup took 0 ms. > AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode > flags: ncq stag pm led clo only pmp pio slum part ccc apst > Net: dwmac.1c50000 > Hit any key to stop autoboot: 0 > switch to partitions #0, OK > mmc0 is current device > Scanning mmc 0... > ** No partition table - mmc 0 ** > ** No partition table - mmc 0 ** > ** No partition table - mmc 0 ** > ** No partition table - mmc 0 ** > ** No partition table - mmc 0 ** > ** No partition table - mmc 0 ** > > SCSI device 0: > Device 0: device type unknown > ... is now current device > Scanning scsi 0... > ** Bad device size - scsi 0 ** > ** Bad device size - scsi 0 ** > ** Bad device size - scsi 0 ** > ** Bad device size - scsi 0 ** > ** Bad device size - scsi 0 ** > ** Bad device size - scsi 0 ** > [...] > > The last block is the output of running ${scsi_boot}: > > sun7i# printenv scsi_boot > scsi_boot=if scsi dev ${devnum}; then setenv devtype scsi; run scan_dev_for_boot; fi > > What appears to be missing here, is a previous 'scsi scan' command. > When prepending it to ${scsi_boot}, everything works as expected: > > sun7i# printenv scsi_boot > scsi_boot=scsi scan; if scsi dev 0; then setenv devtype scsi; run scan_dev_for_boot; fi > sun7i# run scsi_boot > scanning bus for devices... > Device 0: (0:0) Vendor: ATA Prod.: HGST HTS541010A9 Rev: JA0O > Type: Hard Disk > Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) > Found 1 device(s). > > SCSI device 0: > Device 0: (0:0) Vendor: ATA Prod.: HGST HTS541010A9 Rev: JA0O > Type: Hard Disk > Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) > ... is now current device > Scanning scsi 0... > Found U-Boot script /boot.scr > 2033 bytes read in 20 ms (98.6 KiB/s) > ## Executing script at 43100000 > > Could you add a 'scsi scan' command to the generic bootcmd > handling infrastructure? A good question, I wonder if this is something which would be considered SoC specific, or if all SoCs need this though? Stephen (added to the To) what is your take on this ? Regards, Hans