openbmc / docs

OpenBMC Documentation
Creative Commons Attribution 4.0 International
283 stars 308 forks source link

How to build for ASPEED 2400/2500 #47

Closed abrahamrhoffman closed 4 years ago

abrahamrhoffman commented 5 years ago

After a lot of testing, I am feeling a bit lost here. We have ASPEED AST2400/2500 BMCs, and I just want to upload a firmware to it - so that I can test stock functionality. (Eventually, I want to customize the firmware with small changes.) The build process in README.md looks like it applies to a specific hardware manufacturer (IBM) and SKU (unknown).

I can boot QEMU with the built image just fine, and test functionality there. But from what I gather from dmesg and cat /proc/cpu etc, I am worried it might brick my test BMC.

I can't tell from the documentation how to do a basic build for ASPEED AST2500. Could someone point me in the right direction? Note: I do see aspeed in the dmesg output.

abe@godel:~/Downloads/openbmc-2.6.0$ TEMPLATECONF=meta-ibm/meta-palmetto/conf . openbmc-env
...
abe@godel:~/Downloads/openbmc-2.6.0$ bitbake obmc-phosphor-image
...
/home/abe/qemu/build/arm-softmmu/qemu-system-arm -m 256 -M palmetto-bmc -nographic -drive file=/home/abe/Downloads/openbmc-2.6.0/build/tmp/deploy/images/palmetto/flash-palmetto,format=raw,if=mtd -net nic -net user,hostfwd=:0.0.0.0:2222-:22,hostfwd=:0.0.0.0:2443-:443,hostname=qemu
root@palmetto:~# cat /proc/cpuinfo
processor   : 0
model name  : ARM926EJ-S rev 5 (v5l)
BogoMIPS    : 96.00
Features    : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part    : 0x926
CPU revision    : 5

Hardware    : Generic DT based system
Revision    : 0000
Serial      : 0000000000000000
root@palmetto:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.16-bbc22aa2953e0330ec9b43f1b866a59ec53fa884 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 Fri May 17 21:44:53 UTC 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00093177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Palmetto BMC
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 61440
[    0.000000]   Normal zone: 480 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 61440 pages, LIFO batch:15
[    0.000000] random: get_random_bytes called from start_kernel+0x8c/0x4b8 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 60960
[    0.000000] Kernel command line: console=ttyS4,115200n8 root=/dev/ram rw
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 233100K/245760K available (5120K kernel code, 367K rwdata, 1104K rodata, 1024K init, 143K bss, 12660K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x8f800000 - 0xff800000   (1792 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x8f000000   ( 240 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (6112 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 368 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 144 kB)
[    0.000000] ftrace: allocating 18511 entries in 55 pages
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] i2c controller registered, irq 16
[    0.000000] clocksource: FTTMR010-TIMER2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
[    0.000147] sched_clock: 32 bits at 48MHz, resolution 20ns, wraps every 44739242997ns
[    0.001406] Switching to timer-based delay loop, resolution 20ns
[    0.005270] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.005424] pid_max: default: 32768 minimum: 301
[    0.007060] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.007109] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.018847] CPU: Testing write buffer coherency: ok
[    0.029109] Setting up static identity map for 0x40100000 - 0x40100058
[    0.058509] devtmpfs: initialized
[    0.078006] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.078137] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.079642] pinctrl core: initialized pinctrl subsystem
[    0.083139] NET: Registered protocol family 16
[    0.085153] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.180806] usbcore: registered new interface driver usbfs
[    0.181095] usbcore: registered new interface driver hub
[    0.181304] usbcore: registered new device driver usb
[    0.200938] clocksource: Switched to clocksource FTTMR010-TIMER2
[    0.252252] NET: Registered protocol family 2
[    0.256162] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.256262] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.256353] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.256462] TCP: Hash tables configured (established 2048 bind 2048)
[    0.257746] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.257886] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.258964] NET: Registered protocol family 1
[    0.265347] Unpacking initramfs...
[    2.538643] Freeing initrd memory: 1652K
[    2.546616] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    2.547732] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    2.547790] jffs2: version 2.2. (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.556444] NET: Registered protocol family 38
[    2.556755] io scheduler noop registered
[    2.556944] io scheduler cfq registered (default)
[    2.560698] GPIO line 312 (func_mode0) hogged as output/low
[    2.560805] GPIO line 313 (func_mode1) hogged as output/low
[    2.560979] random: fast init done
[    2.561069] GPIO line 314 (func_mode2) hogged as output/low
[    2.561305] GPIO line 292 (BMC_FAN_RESERVED_N) hogged as input
[    2.561377] GPIO line 293 (APSS_WDT_N) hogged as output/high
[    2.561431] GPIO line 301 (APSS_BOOT_MODE) hogged as output/high
[    2.561480] GPIO line 302 (APSS_RESET_N) hogged as output/high
[    2.561531] GPIO line 307 (SPIVID_STBY_RESET_N) hogged as output/high
[    2.561589] GPIO line 317 (BMC_POWER_UP) hogged as output/high
[    2.561641] GPIO line 333 (BMC_BATTERY_TEST) hogged as input
[    2.561687] GPIO line 336 (AST_HW_FAULT_N) hogged as input
[    2.561732] GPIO line 337 (AST_SYS_FAULT_N) hogged as input
[    2.561789] GPIO line 339 (BMC_FULL_SPEED_N) hogged as output/high
[    2.561838] GPIO line 343 (BMC_FAN_ERROR_N) hogged as output/high
[    2.561884] GPIO line 344 (BMC_WDT_RST1_P) hogged as input
[    2.561928] GPIO line 345 (BMC_WDT_RST2_P) hogged as input
[    2.561991] GPIO line 348 (PE_SLOT_TEST_EN_N) hogged as input
[    2.562041] GPIO line 349 (BMC_RTCRST_N) hogged as input
[    2.562093] GPIO line 350 (SYS_PWROK_BMC) hogged as output/high
[    2.562145] GPIO line 355 (BMC_TPM_INT_N) hogged as output/high
[    2.564586] ipmi-bt-host 1e789140.ibt: Found bt bmc device
[    2.566926] ipmi-bt-host 1e789140.ibt: Using IRQ 30
[    2.575996] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    2.589147] 1e787000.serial: ttyS5 at MMIO 0x1e787000 (irq = 30, base_baud = 3000000) is a 16550A
[    2.594692] 1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 28, base_baud = 1500000) is a 16550A
[    2.596553] 1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 29, base_baud = 1500000) is a 16550A
[    2.618096] console [ttyS4] enabled
[    2.623842] timeriomem_rng 1e6e2078.hwrng: 32bits from 0x(ptrval) @ 1us
[    2.655812] random: crng init done
[    2.663906] loop: module loaded
[    2.668572] aspeed-lpc-ctrl 1e789080.lpc-ctrl: Loaded at [mem 0x98000000-0x98ffffff flags 0x200]
[    2.720436] aspeed-smc 1e620000.flash-controller: Using 50 MHz SPI frequency
[    2.722475] aspeed-smc 1e620000.flash-controller: n25q256a (32768 Kbytes)
[    2.723081] aspeed-smc 1e620000.flash-controller: CE0 window [ 0x20000000 - 0x22000000 ] 32MB
[    2.723611] aspeed-smc 1e620000.flash-controller: CE1 window [ 0x22000000 - 0x26000000 ] 64MB
[    2.724025] aspeed-smc 1e620000.flash-controller: read control register: 203b0641
[    2.917073] 5 fixed-partitions partitions found on MTD device bmc
[    2.917371] Creating 5 MTD partitions on "bmc":
[    2.917840] 0x000000000000-0x000000060000 : "u-boot"
[    2.926018] 0x000000060000-0x000000080000 : "u-boot-env"
[    2.933617] 0x000000080000-0x0000004c0000 : "kernel"
[    2.949134] 0x0000004c0000-0x000001c00000 : "rofs"
[    2.958939] 0x000001c00000-0x000002000000 : "rwfs"
[    3.012951] aspeed-smc 1e630000.flash-controller: Using 50 MHz SPI frequency
[    3.013387] aspeed-smc 1e630000.flash-controller: mx25l25635e (32768 Kbytes)
[    3.013718] aspeed-smc 1e630000.flash-controller: read control register: 203b2045
[    3.015955] aspeed-smc 1e630000.flash-controller: Calibration area too uniform, using low speed
[    3.027619] libphy: Fixed MDIO Bus: probed
[    3.029494] ftgmac100 1e660000.ethernet: Read MAC address 52:54:00:12:34:56 from chip
[    3.029869] ftgmac100 1e660000.ethernet: Using NCSI interface
[    3.032861] ftgmac100 1e660000.ethernet eth0: irq 19, mapped at 9f960f98
[    3.033495] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.033877] ehci-platform: EHCI generic platform driver
[    3.035091] i2c /dev entries driver
[    3.065677] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    3.077655] rtc-ds1307 0-0068: registered as rtc0
[    3.078592] aspeed-i2c-bus 1e78a040.i2c-bus: i2c bus 0 registered, irq 32
[    3.090288] aspeed-i2c-bus 1e78a080.i2c-bus: i2c bus 1 registered, irq 33
[    3.097273] aspeed-i2c-bus 1e78a0c0.i2c-bus: i2c bus 2 registered, irq 34
[    3.104409] aspeed-i2c-bus 1e78a100.i2c-bus: i2c bus 3 registered, irq 35
[    3.107256] aspeed-i2c-bus 1e78a140.i2c-bus: i2c bus 4 registered, irq 36
[    3.109558] aspeed-i2c-bus 1e78a180.i2c-bus: i2c bus 5 registered, irq 37
[    3.112676] aspeed-i2c-bus 1e78a1c0.i2c-bus: i2c bus 6 registered, irq 38
[    3.114969] aspeed-i2c-bus 1e78a300.i2c-bus: i2c bus 7 registered, irq 39
[    3.115937] Driver for 1-wire Dallas network protocol.
[    3.120373] occ-hwmon 3-0050: failed to get OCC poll response: -6
[    3.125856] usbcore: registered new interface driver usbhid
[    3.126107] usbhid: USB HID core driver
[    3.146339] fsi-master-acf gpio-fsi: ColdFire initialized, firmware v0 API v0.0 (trace disabled)
[    3.146731] fsi-master-acf gpio-fsi: Unsupported coprocessor API version !
[    3.157006] NET: Registered protocol family 10
[    3.164136] Segment Routing with IPv6
[    3.166182] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.169098] NET: Registered protocol family 17
[    3.169440] 8021q: 802.1Q VLAN Support v1.8
[    3.182312] console [netcon0] enabled
[    3.182527] netconsole: network logging started
[    3.186206] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    3.189766] rtc-ds1307 0-0068: setting system clock to 2019-05-17 22:33:23 UTC (1558132403)
[    3.227351] Freeing unused kernel memory: 1024K
[    3.229570] Checked W+X mappings: passed, no W+X pages found
[    3.229864] Run /init as init process
[    4.635577] jffs2: notice: (497) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    4.718012] overlayfs: upper fs does not support tmpfile.
[    6.746673] systemd[1]: Failed to insert module 'autofs4': No such file or directory
[    7.036016] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK +SYSVINIT -UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    7.041270] systemd[1]: Detected architecture arm.
[    7.121918] systemd[1]: Set hostname to <palmetto>.
[    7.198440] systemd[1]: Initializing machine ID from random generator.
[    7.955559] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    7.956366] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    9.733660] systemd[1]: Created slice system-phosphor\x2dreset\x2dhost\x2drunning.slice.
[    9.740674] systemd[1]: Created slice system-org.openbmc.control.Power.slice.
[    9.747930] systemd[1]: Created slice system-phosphor\x2dcertificate\x2dmanager.slice.
[    9.757968] systemd[1]: Listening on udev Kernel Socket.
[   12.101920] systemd[1]: Started Create System Users.
[   12.166002] systemd[1]: Starting Create Static Device Nodes in /dev...
[   12.189931] systemd[1]: Started Journal Service.
[   12.730138] systemd-journald[517]: Received request to flush runtime journal from PID 1
[   19.425237] 8021q: adding VLAN 0 to HW filter on device eth0
[   19.430237] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.431975] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.432441] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.432842] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.433239] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.433624] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.434023] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.434418] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
aroobam commented 5 years ago

Hi Abraham, I am a newbie on OpenBMC too and just reached the same stage. The online guides showed me how to build for meta-ibm/palmetto. I tried it for romulus and that works too. I am able to run it in QEMU and connect to it from the browser. Now I have got my hands on a server having an AST-2500 chip with some old IPMI on it. I want to overwrite it with an OpenBMC image and see what happens. So, did you find an image that we can download for AST-2500? Can we just build one for ast-2500 just like we did for palmetto? What is the tool to use for flashing? Thanks in advance for any tips.

abrahamrhoffman commented 5 years ago

Hey @aroobam. I have been working on this for a few months now. I emailed Aspeed back and forth for a while and acquired their socflash utility. I uploaded it here for you: https://github.com/abrahamrhoffman/bmc_tools

Create a backup and flash the new image:

abe@fractal:/x/build/flash$ sudo ./socflash_x64 ast2400-reference-palmetto.img backup.bin
ASPEED SOC Flash Utility v.1.20.00
Warning:
SoCflash utility is only for engineers to update the firmware in lab,
it is not a commercialized software product,
ASPEED has not done compatibility/reliability stress test for SoCflash.
Please do not use this utility for any mass production purpose.
Press y to continue if you are agree ....
y
Find ASPEED Device 1a03:2000 on 8:0.0
MMIO Virtual Address: 960b000
Relocate IO Base: 4000
Found ASPEED Device 1a03:2400 rev. 30
Static Memory Controller Information:
CS0 Flash Type is SPI
CS1 Flash Type is SPI
CS2 Flash Type is NOR
CS3 Flash Type is NOR
CS4 Flash Type is NOR
Boot CS is 0
Option Information:
CS: 0
Flash Type: SPI
[Warning] Don't AC OFF or Reboot System During BMC Firmware Update!!
[SOCFLASH] Flash ID : 1920c2
Find Flash Chip #1: MXIC MX25L256/257
Backup Flash Chip O.K.

Now I have my backup and the bmc has been flashed.

aroobam commented 5 years ago

Thanks a lot. I am traveling over the weekend. Will check and let you know on Tuesday.

On Thu, Jul 18, 2019, 11:27 PM Abraham Hoffman notifications@github.com wrote:

Hey @aroobam https://github.com/aroobam. I have been working on this for a few months now. I emailed Aspeed back and forth for awhile and acquired their socflash utility. I uploaded it here for you: https://github.com/abrahamrhoffman/bmc_tools Create a backup - bash ./socflash.sh -b my_backup.bin

abe@fractal:/x/build/flash$ sudo ./socflash_x64 -b backup.bin ASPEED SOC Flash Utility v.1.20.00 Warning: SoCflash utility is only for engineers to update the firmware in lab, it is not a commercialized software product, ASPEED has not done compatibility/reliability stress test for SoCflash. Please do not use this utility for any mass production purpose. Press y to continue if you are agree .... y Find ASPEED Device 1a03:2000 on 8:0.0 MMIO Virtual Address: 960b000 Relocate IO Base: 4000 Found ASPEED Device 1a03:2400 rev. 30 Static Memory Controller Information: CS0 Flash Type is SPI CS1 Flash Type is SPI CS2 Flash Type is NOR CS3 Flash Type is NOR CS4 Flash Type is NOR Boot CS is 0 Option Information: CS: 0 Flash Type: SPI [Warning] Don't AC OFF or Reboot System During BMC Firmware Update!! [SOCFLASH] Flash ID : 1920c2 Find Flash Chip #1: MXIC MX25L256/257 Backup Flash Chip O.K.

Now I have my backup! You can flash the backup bin or palmetto bin using the same utility:

abe@fractal:/x/build/flash$ sudo bash ./socflash.sh ast2400-reference-palmetto.img backup.bin ASPEED SOC Flash Utility v.1.20.00 Warning: SoCflash utility is only for engineers to update the firmware in lab, it is not a commercialized software product, ASPEED has not done compatibility/reliability stress test for SoCflash. Please do not use this utility for any mass production purpose. Press y to continue if you are agree .... y Find ASPEED Device 1a03:2000 on 8:0.0 MMIO Virtual Address: fff1000 Relocate IO Base: 4000 Found ASPEED Device 1a03:2400 rev. 30 Static Memory Controller Information: CS0 Flash Type is SPI CS1 Flash Type is SPI CS2 Flash Type is NOR CS3 Flash Type is NOR CS4 Flash Type is NOR Boot CS is 0 Option Information: CS: 0 Flash Type: SPI [Warning] Don't AC OFF or Reboot System During BMC Firmware Update!! [SOCFLASH] Flash ID : 1920c2 Find Flash Chip #1: MXIC MX25L256/257 Backup Flash Chip O.K. Update Flash Chip #1 O.K. Update Flash Chip O.K

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openbmc/docs/issues/47?email_source=notifications&email_token=AHJ6HP6EZHPF66EQQMKVBW3QACVHFA5CNFSM4HNY3I72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JJGCY#issuecomment-512922379, or mute the thread https://github.com/notifications/unsubscribe-auth/AHJ6HP65SEK667NQWBH5OELQACVHFANCNFSM4HNY3I7Q .

aroobam commented 5 years ago

Hi Abraham, First of all let me express my thanks once again for your time and quick response. I spent some time with your directions today. This is what I observe. Feel free to correct me anywhere, because I am still new to this and most probably the mistake is mine :-) I found the package you have uploaded is for DOS however the instructions are for Linux. Doesn't matter. I have the Linux socflash_64 from another site and your backup command "-b" works!! That in itself is a good step for me. I am building for romulus and do not find a "*.img" file as you have specified in the flashing command. I see only an "mtd" file. This is the one I used to boot in QEMU and that works fine. Can I flash this same file on the chip? Another thing I can do is try and build for Palmetto and see if I get an "img" file.

Thanks and Regards, Madhan.

On Thu, Jul 18, 2019 at 11:33 PM Madhan Muruganantham aroobam@gmail.com wrote:

Thanks a lot. I am traveling over the weekend. Will check and let you know on Tuesday.

On Thu, Jul 18, 2019, 11:27 PM Abraham Hoffman notifications@github.com wrote:

Hey @aroobam https://github.com/aroobam. I have been working on this for a few months now. I emailed Aspeed back and forth for awhile and acquired their socflash utility. I uploaded it here for you: https://github.com/abrahamrhoffman/bmc_tools Create a backup - bash ./socflash.sh -b my_backup.bin

abe@fractal:/x/build/flash$ sudo ./socflash_x64 -b backup.bin ASPEED SOC Flash Utility v.1.20.00 Warning: SoCflash utility is only for engineers to update the firmware in lab, it is not a commercialized software product, ASPEED has not done compatibility/reliability stress test for SoCflash. Please do not use this utility for any mass production purpose. Press y to continue if you are agree .... y Find ASPEED Device 1a03:2000 on 8:0.0 MMIO Virtual Address: 960b000 Relocate IO Base: 4000 Found ASPEED Device 1a03:2400 rev. 30 Static Memory Controller Information: CS0 Flash Type is SPI CS1 Flash Type is SPI CS2 Flash Type is NOR CS3 Flash Type is NOR CS4 Flash Type is NOR Boot CS is 0 Option Information: CS: 0 Flash Type: SPI [Warning] Don't AC OFF or Reboot System During BMC Firmware Update!! [SOCFLASH] Flash ID : 1920c2 Find Flash Chip #1: MXIC MX25L256/257 Backup Flash Chip O.K.

Now I have my backup! You can flash the backup bin or palmetto bin using the same utility:

abe@fractal:/x/build/flash$ sudo bash ./socflash.sh ast2400-reference-palmetto.img backup.bin ASPEED SOC Flash Utility v.1.20.00 Warning: SoCflash utility is only for engineers to update the firmware in lab, it is not a commercialized software product, ASPEED has not done compatibility/reliability stress test for SoCflash. Please do not use this utility for any mass production purpose. Press y to continue if you are agree .... y Find ASPEED Device 1a03:2000 on 8:0.0 MMIO Virtual Address: fff1000 Relocate IO Base: 4000 Found ASPEED Device 1a03:2400 rev. 30 Static Memory Controller Information: CS0 Flash Type is SPI CS1 Flash Type is SPI CS2 Flash Type is NOR CS3 Flash Type is NOR CS4 Flash Type is NOR Boot CS is 0 Option Information: CS: 0 Flash Type: SPI [Warning] Don't AC OFF or Reboot System During BMC Firmware Update!! [SOCFLASH] Flash ID : 1920c2 Find Flash Chip #1: MXIC MX25L256/257 Backup Flash Chip O.K. Update Flash Chip #1 O.K. Update Flash Chip O.K

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openbmc/docs/issues/47?email_source=notifications&email_token=AHJ6HP6EZHPF66EQQMKVBW3QACVHFA5CNFSM4HNY3I72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JJGCY#issuecomment-512922379, or mute the thread https://github.com/notifications/unsubscribe-auth/AHJ6HP65SEK667NQWBH5OELQACVHFANCNFSM4HNY3I7Q .

aroobam commented 5 years ago

Never mind. I see a "flash romulus" link to the "mtd". Guess that is what I should do. Will try and let you know. Fingers crossed.

felixkj123 commented 5 years ago

Is the kernel loading after "Starting kernel " mine's stuck at that stage...

aroobam commented 5 years ago

Hi Felix, sorry couldn't reply earlier. I flashed a server and bricked it. Waiting for a dev kit from Portwell to be approved. I talked to the server folks and found out that there are some customizations done for handshake between their own system BIOS and their own OpenBMC build and my expectation that my OpenBMC build will run out of their live server is not valid :-( What platform are you using? Hope you made some progress? Regards, Madhan.

On Fri, Sep 20, 2019 at 4:39 PM felixkj123 notifications@github.com wrote:

Is the kernel loading after "Starting kernel " mine's stuck at that stage...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openbmc/docs/issues/47?email_source=notifications&email_token=AHJ6HP32Y7PUNMXORPHJABTQKSVM5A5CNFSM4HNY3I72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7GLTRY#issuecomment-533510599, or mute the thread https://github.com/notifications/unsubscribe-auth/AHJ6HP4FUL5KW33WAOKB7VTQKSVM5ANCNFSM4HNY3I7Q .

ChetPawlowski commented 5 years ago

Rather than run the risk of bricking a system as listed in this thread, is there a way to build a network bootable image? One could then load it from uboot for testing. We are also at the stage where we would like to test builds on real hardware. A network bootable image would help a lot. Thanks, Chet

felixkj123 commented 5 years ago

Hi Felix, sorry couldn't reply earlier. I flashed a server and bricked it. Waiting for a dev kit from Portwell to be approved. I talked to the server folks and found out that there are some customizations done for handshake between their own system BIOS and their own OpenBMC build and my expectation that my OpenBMC build will run out of their live server is not valid :-( What platform are you using? Hope you made some progress? Regards, Madhan. On Fri, Sep 20, 2019 at 4:39 PM felixkj123 @.***> wrote: Is the kernel loading after "Starting kernel " mine's stuck at that stage... — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#47?email_source=notifications&email_token=AHJ6HP32Y7PUNMXORPHJABTQKSVM5A5CNFSM4HNY3I72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7GLTRY#issuecomment-533510599>, or mute the thread https://github.com/notifications/unsubscribe-auth/AHJ6HP4FUL5KW33WAOKB7VTQKSVM5ANCNFSM4HNY3I7Q .

Hi aroobam, Earlier i took palmetto as base board for my ast2400 chip board and when booted, it was stuck at "Starting Kernel". I then tested with olympus and then it started to boot, no issues. Now I am currently doing customizing the olympus board to meet my specifications. Thanks for the response...

felixkj123 commented 5 years ago

Rather than run the risk of bricking a system as listed in this thread, is there a way to build a network bootable image? One could then load it from uboot for testing. We are also at the stage where we would like to test builds on real hardware. A network bootable image would help a lot. Thanks, Chet

Try following the link... https://lists.ozlabs.org/pipermail/openbmc/2017-December/010264.html

and may try changing the image address to your need. The above link worked for me...

PrinceKuo1203 commented 4 years ago

Hi All, I’m beginner of openbmc. I have some question need your suggestion.

As my understand the openbmc image has built after setting hardware. But I don’t understand how to select suitable “Hardware” setting for my target board, even I survey openbmc .md files and build-receipt list. My motherboard have a AST2500 and CPU model is Intel® Xeon® D-2100. Could you give me some advice?

P.S. Now I can build image for AST2500 evb (Obmc-phosphor-image-evb-ast2500.static.mtd), but I not sure the image is workable on my target board. build command as below, $ TEMPLATECONF=meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/ . openbmc-env $ bitbake obmc-phosphor-image

jairov4 commented 4 years ago

Hi guys Im interested into flash a basic build of OpenBMC in 2400 based boards that floods aliexpress, just want to provide the most basic feature set to those commodity hardware having zero support now. I am expecting its integration be simple and non fancy bios integration is in place. do have any guide or checklist to identify requirements on those boards?

williamspatrick commented 4 years ago

If you do not find your specific board as being supported, you'll quite likely brick your board by attempting to put any other image onto it. The Aspeed chip is commonly used in servers but there is lots of variations to how the Aspeed chip is wired up in a server that it is almost impossible to port to a new server unless you have schematics.

Here are just a few pieces of information you'd need to know before you could even attempt a porting:

Some vendors might follow an Intel reference server design as a starting point and then make minor changes off that, but other vendors make drastic changes from the Intel reference. In any case, supporting a board we don't already support is likely going to require some reverse engineering.

williamspatrick commented 4 years ago

One last comment... opening issues on our docs repository doesn't get as much visibility as the development mailing list or interacting with developers on IRC. If you'd like to have an active discussion on your particular board, I'd suggest reaching out there instead. https://github.com/openbmc/docs#contact

PrinceKuo1203 commented 4 years ago

@williamspatrick Hi, Thanks for your replying, I'll survey that first. Have a nice day. 👍

Many thanks, Prince

thinktus commented 1 year ago

hi abrahamrhoffman I have been looking for a tool recently, I want to update the BMC on the server of one of my supermicro motherboards, I found you here in an online search tool, I don't know how to use this tool, my motherboard is supermicro X11 DPG-QT