Received: by 10.192.165.148 with SMTP id m20csp3213361imm; Mon, 7 May 2018 08:29:41 -0700 (PDT) X-Google-Smtp-Source: AB8JxZor0+V2SzS/wlbYYTgVZLn/9C80/6kE1VjYYBG2WZHXAIP/ZD6whYEwyVDpmzSl16IR9OvO X-Received: by 2002:a6b:a0ce:: with SMTP id j197-v6mr42464217ioe.290.1525706981089; Mon, 07 May 2018 08:29:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525706981; cv=none; d=google.com; s=arc-20160816; b=tEdDkbGnRs/6d1oaZ8sp8z+f2S+cTcvfDSuykPVrDM4ESpsQZem/Eo7f82KrN2Tp79 1ynXFKI/DAZimfLzfRumJLlUbbcWRAMUeJjB9eNcz0OXZedJbmLN6JfLPuVKvR65atHk v6iEzSYJx0k8FzRJKUJJWuL0fmXU2dCH7W1WxqMBWNIejikA5XG+WsReJdosafg9aEyo SWwLNhslpSzcCgR1koXsB1hUXELME1Vr9mVnMgtkyCiFC5C2WaaaxaLmSsBlBLoT8W8a ORMejnfb3ZWKyyfYaoOGeUaIzVw6606+PDzswfnBjJNPXDEGZDR17od1kbZh5L7paXcY ozzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=olFEeHQW5IHGZdgSnn/bqjWnK6lTCH+3pt9tR8QfNgI=; b=fV0SQ1pgO3tkS7ws+5SWjFVo5xMYbkeTzQqT93g1hipzkAG7/WsO78VWsoM9FP+iUZ cQs8G7rvD6IbuuRRuhDJ2bDh/DQ4DcGeiWsV2sThe9AjhDuayTjH/pIzU7YemcXG4mkN Cx159wpueDM2JbEqZMHIJ/mrqjRlkIUg2qA9s6ClCPl5jW80CD5cnHzuibGUQYAFGv6d rVnNsWvWbIfzRda11zHTRIIz0H0Rx15IeAeBCMAH/qA5LXSR+3ITXnSvvaUqeowoIQei t8spcM/ppZDYR+dHKqXzp0szHHDba9vN8lXibc8G2Y6RbOHw6OmMRswOqXm+9OyCD8X1 sBKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@landley-net.20150623.gappssmtp.com header.s=20150623 header.b=xf1GoGDR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 7-v6si18887929iob.122.2018.05.07.08.29.26; Mon, 07 May 2018 08:29:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@landley-net.20150623.gappssmtp.com header.s=20150623 header.b=xf1GoGDR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752634AbeEGP2o (ORCPT + 99 others); Mon, 7 May 2018 11:28:44 -0400 Received: from mail-io0-f174.google.com ([209.85.223.174]:46943 "EHLO mail-io0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752223AbeEGP2k (ORCPT ); Mon, 7 May 2018 11:28:40 -0400 Received: by mail-io0-f174.google.com with SMTP id f21-v6so34354145iob.13 for ; Mon, 07 May 2018 08:28:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=landley-net.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=olFEeHQW5IHGZdgSnn/bqjWnK6lTCH+3pt9tR8QfNgI=; b=xf1GoGDRyUCQ0xd1SNPV76BQr8ZiABBkAyPSBTn+xosf4Bqm0wr6W6kZG8EDuW4OaM OTLePUrcEhu2e6RJxHAa2HQOU0C8/Vlmybf4gLUvaoocC9nS4a+kOHIANaJotjUneosl b6bLv0R1kKAfCImLZS/33vMuNawbSYmLfxAYY4ZtBNBA1aQ3vlqfIz6JH/mrI3VzMK1C t3eidhchb8LxrzvAoyRjY/6zOqovmaXhmY670JZA7oDEWU2y8ZPn9a7v8g152jTKDQUA c+TLU2CmLw++Qy+HgEXlCqGuM/+j17QJs+Ed4YyQV8tiT1sr2pFKk0QHCE5J/BlQvWB0 pe/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=olFEeHQW5IHGZdgSnn/bqjWnK6lTCH+3pt9tR8QfNgI=; b=bJwjnwLfLlVIhksYzyQUteQA3mrpeKzLoAN18p/NBSSvoHx5VBUnM6DDfmcmP677kS SdJzeCOVs63TIXHJQWo4GgGza4lwjAZXSOaWYYULwpr6gj1ddaoSF3UGzrf3DVWFwzUy y7XP/52VSkCygpYhAZrskI9bFrUOhR0NkQx8hVzgMKZ/y8Lt3Lku50JfSlHgsviQ+NQl V+4l1sg0YfVaX+5dYvo3tONttwZqHNk/HhJK8kwkoeI+tBdSzj07EGKT5dgR9eGrx0SH pmiQ5EtXiqyBIPBFIGLocftgK9hTKo1hDyY9DJL9bjhmg9y/5TG2iJsJMqzS9xBVO9n2 4yJg== X-Gm-Message-State: ALQs6tCBf+jFrqUsiSeuu+Cv4JQyxO1qKvbuVCfVT39UHIGK3iKinYl0 KQHZPyZZPMykP5v2qd5hI2BGL72x3tI= X-Received: by 2002:a6b:81b:: with SMTP id 27-v6mr37577091ioi.27.1525706919549; Mon, 07 May 2018 08:28:39 -0700 (PDT) Received: from [192.168.42.107] ([172.58.142.208]) by smtp.googlemail.com with ESMTPSA id i67-v6sm77494ioi.72.2018.05.07.08.28.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 May 2018 08:28:39 -0700 (PDT) Subject: Re: [J-core] [PATCH v5 00/22] sh: LANDISK and R2Dplus convert to device tree To: Rich Felker , John Paul Adrian Glaubitz Cc: Yoshinori Sato , linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org References: <8c75b447-fc14-871e-1a04-733132527b65@landley.net> <20171117191706.GF1627@brightrain.aerifal.cx> <7193aa1b-50e3-11d4-f93d-f567e2e06b8c@physik.fu-berlin.de> <20180105212857.GR1627@brightrain.aerifal.cx> <20180503013708.GC1392@brightrain.aerifal.cx> <20180503023320.GD1392@brightrain.aerifal.cx> <048ab147-21b8-045d-d21c-e1be2dd0e954@physik.fu-berlin.de> <87k1sgtf8t.wl-ysato@users.sourceforge.jp> <5f690985-e905-deb9-aa4f-51561463ae22@physik.fu-berlin.de> <20180507144519.GH1392@brightrain.aerifal.cx> From: Rob Landley Message-ID: <9f476147-7370-de56-db4e-6745a325a2ca@landley.net> Date: Mon, 7 May 2018 10:28:37 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180507144519.GH1392@brightrain.aerifal.cx> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/07/2018 09:45 AM, Rich Felker wrote: > On Mon, May 07, 2018 at 01:00:17PM +0200, John Paul Adrian Glaubitz wrote: >> On 05/07/2018 03:40 AM, Yoshinori Sato wrote: >>>> @Yoshinori: >>>> >>>> Did the HDL-160U LANDISK device you have use u-boot by default or >>>> did you convert it from lilo? >>> >>> Yes. >>> Replace sh-lilo's second stage with u-boot. >>> With this method it is unnecessary to rewrite Flash for boot. >> >> Great, thank you. I will give it a try on my USL-5P and write down >> the individual steps once I have figured it out. > > Please let me know once you figure it out. I haven't made much > progress yet and it would be really helpful to have some simple > directions/outline of what to do, especially one that's not in terms > of black box tools ("run this command") but how it all works (where > the different bootloader components live when installed -- MBRs? > partition boot records? files in a filesystem (who interprets it?)? > etc.) U-boot 101. The workflow you want is usually: 1) get u-boot to load and run on the board, with serial console and a basic knowledge of where the DRAM is. (This often involves fighting with dram refresh init, often by convincing u-boot NOT to do it because your stage 1 bootloader already did, which involves a rolled up newspaper and a lot of swearing because it ASSUMES. Oh it assumes. Or sometimes there's an sram->dram relocation which means somewhere, there's a magic linker script you will learn to hate. Well, Rich might be comfortable with that area, I still stub my toes there a lot.) 2) Getting u-boot reading/writing a flash area it can store its environment variables in, so they can persist. (It's a driver.) 3) get u-boot talking to the network card, with either dhcp or static IP. (Another driver, and some magic environment variables the driver consumes.) 4) tftp fetch an ELF kernel (or uimage if you must) into DRAM starting at a known address. (This is a u-boot command line command. You'll need a tftp server set up on another machine for it to fetch from.) 5) tftp fetch any other data (initrd.cpio.gz, board.dtb). (Same command, different parameters.) 6) boot the kernel with all that gorp (a big long command line command) which will need a kernel command line (generally stored in another persistent environjment variable). 7) make a "go" script that does all that in one commend. There's a command to run an environment variable's contents as a set of semicolon-separated command line commands (that's how u-boot implements scripts), and there's a magic environment variable whose contents get run on startup (bootup? startup? I forget, it's in the source and docs and a buncha examples out there). It's cleaner to have the magic one do "run $othervar" rather than putting a lot of plumbing in the magic one. And you will totally want a "wait 3 seconds for a key to be pressed and do a shell prompt if it is" header on that or you have to reflash the bootloader to get your shell prompt back, which is sad. 8) Once you've got tftp working, there's a copy command to copy flash memory to dram, and a corresponding "write to flash from dram" command with dram start address and flash start address and length arguments. This is how the boot without tftp is implemented in u-boot, and how updating the saved image it auto-boots to if you don't press a key is implemented. (You can usually configure/build uboot in a couple different ways, with a brain-dead built in shell or with busybox hush glued into it. Depends on how big you want the image to be. Not sure how much of that is upstream and how much is vendor forks I've used, though. Been a while.) > Rich Rob