Giter Club home page Giter Club logo

Comments (10)

tmagik avatar tmagik commented on July 22, 2024

from freedom-u540-c000-bootloader.

atishp04 avatar atishp04 commented on July 22, 2024

Thanks for the prompt response @tmagik. How do I find your gptdisk patches ?
I don't see anything in the git log.
https://github.com/sifive/freedom-u540-c000-bootloader/commits/master

from freedom-u540-c000-bootloader.

tmagik avatar tmagik commented on July 22, 2024

from freedom-u540-c000-bootloader.

atishp04 avatar atishp04 commented on July 22, 2024

Thanks. What is the fsbl partition? I see three partitions.

/dev/mtd0 - I think this is the one. But the Unleashed starting guide says use this to flash the complete firmware for spiflash as well.
/dev/mtd0ro
/dev/mtdblock0

from freedom-u540-c000-bootloader.

tmagik avatar tmagik commented on July 22, 2024

from freedom-u540-c000-bootloader.

atishp04 avatar atishp04 commented on July 22, 2024

I am still confused. Apologies for the requesting repeated clarification.

We need to document this a little (or maybe a lot?) better. WIth MSEL2 in the position towards the outside of the board

so it should be 010000 (MSEL 0110000 position is for flash update only?)

, the zsbl will load the fsbl from the SDcard, which in the way I have my development system partitioned is /dev/mmcblk0p4

If I understand correctly, zsbl will load fsbl from /dev/mmcblk0p4?
I will be creating that partition using gdisk. I did not quite understand how zsbl will know to load the fsbl from that. I thought it will load from mtdblock0 or something. Can you please clarify little more on this ?

cat /proc/partitions
major minor #blocks name
31 0 32768 mtdblock0
259 0 250059096 nvme0n1
179 0 7761920 mmcblk0 179
1 20480 mmcblk0p1
179 2 7629807 mmcblk0p2
179 4 1024 mmcblk0p4
So if you can get a pretty nice flow for FSBL development (that involves manually swapping SDcards, for now) by putting it on a small partition. The ‘.gpt’ data that goes into the flash is basically just a disk image with a GPT partition map that would also work if written to an SDcard. There is scripting and documentation that needs to be worked out better after we have u-boot running, which is what I’m trying to get done now.

Thanks for the details.


On Sep 20, 2018, at 8:34 PM, Atish Patra @.***> wrote: Thanks. What is the fsbl partition? I see three partitions. /dev/mtd0 - I think this is the one. But the Unleashed starting guide says use this to flash the complete firmware for spiflash as well. /dev/mtd0ro /dev/mtdblock0 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Here are the all steps as per my understanding

  • Compile fsbl from the repo. It should generate fsbl.bin
  • create a partition in sdcard using gdisk (your repo). Something like /dev/mmcblk0px
  • copy the fsbl.bin to /dev/mmcblk0px
  • MSEL2 position towards the outside of the board
  • Reboot and zsbl will load the fsbl from /dev/mmcblk0px or mtdblock0??

from freedom-u540-c000-bootloader.

jim-wilson avatar jim-wilson commented on July 22, 2024

from freedom-u540-c000-bootloader.

tmagik avatar tmagik commented on July 22, 2024

from freedom-u540-c000-bootloader.

atishp04 avatar atishp04 commented on July 22, 2024

Ahh. Now it makes sense. Thanks @tmagik @jim-wilson

I tried as per discussed above.

However I couldn't boot into unleashed board.
Just got this error.
0x1000000000002
Here is my disk partition details
$ sudo ./gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): i
Partition number (1-3): 3
Partition GUID code: 5B193300-FC78-40CD-8002-E86C45580B47 (SiFive FSBL (first-stage bootloader))
Partition unique GUID: 39A6BAC7-3AE9-4797-A9E8-10692801C0C7
First sector: 198656 (at 97.0 MiB)
Last sector: 264191 (at 129.0 MiB)
Partition size: 65536 sectors (32.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'SiFive FSBL (first-stage bootloader)'

I verified the partition3 by dumping to a text file. It looks like a have a correct fsbl.

from freedom-u540-c000-bootloader.

atishp04 avatar atishp04 commented on July 22, 2024

ok. I got it working. Thanks @tmagik

Here are the steps in case anybody is also trying to do the same.

  1. Compile fsbl from the repo. It should generate fsbl.bin
  2. create a partition in sdcard using gdisk (your repo). Something like /dev/disk2s4

Here is my partition table. The new partition should be of SiFive FSBL (type 5201)

Number
Start (sector) End (sector) Size Code Name
1 2048 67583 32.0 MiB 5202 bootloader
2 264192 15523806 7.3 GiB 8300
4 67584 67839 128.0 KiB 5201 SiFive FSBL (first-...
Command (? for help): i
Partition number (1-4): 4
Partition GUID code: 5B193300-FC78-40CD-8002-E86C45580B47 (SiFive FSBL (first-stage bootloader))
Partition unique GUID: 9076BB97-68EA-4899-8FC9-72FEFF4F435C
First sector: 67584 (at 33.0 MiB)
Last sector: 67839 (at 33.1 MiB)
Partition size: 256 sectors (128.0 KiB)
Attribute flags: 0000000000000000
Partition name: 'SiFive FSBL (first-stage bootloader)'

  1. copy the fsbl.bin to /dev/disk2s4

sudo dd if=/tmp/fsbl.bin of=/dev/disk2s4

  1. MSEL2 position towards the outside of the board
  2. Reboot and zsbl will load the fsbl from /dev/disk2s4.

from freedom-u540-c000-bootloader.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.