当前位置: 首页 > news >正文

中英繁网站源码旅游网站开发设计与实现

中英繁网站源码,旅游网站开发设计与实现,课程网站开发合同,2345网址大全历史版本代码准备 OpenBMC是一个开源的项目#xff0c;用于开发BMC固件。官网是https://www.openbmc.org/#xff0c;不过里面似乎没有什么内容#xff0c;所以还需要依赖其它的网站#xff0c;https://github.com/openbmc#xff0c;在这里可以下载到需要的代码和文档。其主体部…代码准备 OpenBMC是一个开源的项目用于开发BMC固件。官网是https://www.openbmc.org/不过里面似乎没有什么内容所以还需要依赖其它的网站https://github.com/openbmc在这里可以下载到需要的代码和文档。其主体部分的git是https://github.com/openbmc/openbmc.git下载到的内容如下 jwHOME:~/openbmc$ ls LICENSE meta-ampere meta-evb meta-ingrasys meta-openpower meta-security meta-yadro OWNERS meta-arm meta-facebook meta-inspur meta-phosphor meta-skeleton oe-init-build-env README.md meta-aspeed meta-fii meta-intel-openbmc meta-poky meta-supermicro openbmc-env bitbake meta-asrock meta-google meta-inventec meta-qualcomm meta-tyan poky meta meta-bytedance meta-hpe meta-nuvoton meta-quanta meta-ufispace scripts meta-amd meta-delta meta-ibm meta-openembedded meta-raspberrypi meta-wistron setup但实际上里面并没有什么有效的代码。OpenBMC是基于Yocto这个开源项目的所以这里看到其实是一堆称为元数据的内容以及一个bitbake工具。关于bitbake和元数据将在Yocto相关的文章中介绍本文主要介绍OpenBMC最基本的使用。 OpenBMC一直在更新这里使用稳定版本对应Tag 2.14.0 jwHOME:~/openbmc$ git checkout 2.14.0构建 代码在前面已经下载到了之后就是构建工作这里参考了下载目录下的RAEAME.md文件。首先需要的准备是一些额外的工具这里使用的环境是Ubuntu20.04使用WSL2子系统注意不要使用默认把子系统安装到C盘的方式因为OpenBMC需要使用到50G以上的空间如果放到C盘可能导致其空间不足需要安装的内容如下 jwHOME:~/openbmc$ sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat zstd部分内容实际上已经有了不过关系不大执行命令即可。之后查看所有支持构建的平台 jwHOME:~/openbmc$ . setup Target machine must be specified. Use one of:ahe50dc kudo s6q bletchley lannister s7106 daytonax mori s8036 dl360poc mtjade swift e3c246d4i mtmitchell tatlin-archive-x86 ethanolx ncplite tiogapass evb-ast2500 nicole transformers evb-ast2600 olympus-nuvoton vegman-n110 evb-npcm750 on5263m5 vegman-rx20 evb-npcm845 p10bmc vegman-sx20 f0b palmetto witherspoon fp5280g2 qcom-dc-scm-v1 witherspoon-tacoma g220a quanta-q71l x11spi gbs rl300-g11 yosemitev2 genesis3 romed8hm3 zaius greatlakes romulus gsj s2600wf这里选择evb-ast2500 . setup evb-ast2500 build注意这里最前面是一个“.”。这里的evb-ast2500是最常用的BMC芯片平台build是后续构建使用的目录。 执行结果如下 jwHOME:~/openbmc$ . setup evb-ast2500 build Machine evb-ast2500 found in meta-evb/meta-evb-aspeed/meta-evb-ast2500 You had no conf/local.conf file. This configuration file has therefore been created for you from /home/jw/openbmc/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/templates/default/local.conf.sample You may wish to edit it to, for example, select a different MACHINE (target hardware).You had no conf/bblayers.conf file. This configuration file has therefore been created for you from /home/jw/openbmc/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/templates/default/bblayers.conf.sample To add additional metadata layers into your configuration please add entries to conf/bblayers.conf.The Yocto Project has extensive documentation about OE including a reference manual which can be found at:https://docs.yoctoproject.orgFor more information about OpenEmbedded see the website:https://www.openembedded.org/Common targets are:obmc-phosphor-image: Includes OpenBMC Phosphor userspace and Web UIcore-image-minimal: A small image just capable of allowing a device to bootcore-image-full-cmdline: A small image with more Linux functionalityinstalled, including a ssh server. jwHOME:~/openbmc/build$操作执行之后进入到build目录如果后续需要换平台需要先退回上一层目录然后执行命令 . setup xxx build注意不要忘了build。如果没有退回上一层会在build目录下创建xxx目录这样会导致原本下载好的代码无法使用。 之后就是构建命令如下 bitbake obmc-phosphor-image开始执行构建这将是一个漫长的过程当然如果网路和机器性能足够的话也不会等太长 jwHOME:~/openbmc/build$ bitbake obmc-phosphor-image WARNING: You are running bitbake under WSLv2, this works properly but you should optimize your VHDX file eventually to avoid running out of storage space Loading cache: 100% | | ETA: --:--:-- Loaded 0 entries from dependency cache. Parsing recipes: 100% |##################################################################################| Time: 0:00:10 Parsing of 2707 .bb files complete (0 cached, 2707 parsed). 4382 targets, 566 skipped, 0 masked, 0 errors. WARNING: No bb files in default matched BBFILE_PATTERN_evb-ast2500 NOTE: Resolving any missing task queue dependenciesBuild Configuration: BB_VERSION 2.4.0 BUILD_SYS x86_64-linux NATIVELSBSTRING ubuntu-20.04 TARGET_SYS arm-openbmc-linux-gnueabi MACHINE evb-ast2500 DISTRO openbmc-phosphor DISTRO_VERSION nodistro.0 TUNE_FEATURES arm thumb arm1176jzs TARGET_FPU soft meta meta-poky meta-oe meta-networking meta-python meta-phosphor meta-aspeed meta-evb meta-evb-aspeed meta-evb-ast2500 HEAD:67c9d4e715c705cd05fd04f7c8cd4fad300a4666Initialising tasks: 100% |###############################################################################| Time: 0:00:01 Sstate summary: Wanted 1629 Local 0 Mirrors 0 Missed 1629 Current 0 (0% match, 0% complete) NOTE: Executing Tasks Setscene tasks: 1629 of 1629 Currently 13 running tasks (538 of 4089) 13% |######### | 0: boost-1.81.0-r0 do_unpack - 7s (pid 4124441) 1: zstd-native-1.5.4-r0 do_compile - 6s (pid 4131014) 2: m4-native-1.4.19-r0 do_configure - 5s (pid 4132100) # 后面略构建过程中可能会报错包括do_fetch报错、do_configure报错等可以尝试多构建几次最后都可以成功 jwHOME:~/openbmc/build$ bitbake obmc-phosphor-image Loading cache: 100% |####################################################################################| Time: 0:00:00 Loaded 4381 entries from dependency cache. Parsing recipes: 100% |##################################################################################| Time: 0:00:00 Parsing of 2707 .bb files complete (2706 cached, 1 parsed). 4382 targets, 566 skipped, 0 masked, 0 errors. WARNING: No bb files in default matched BBFILE_PATTERN_evb-ast2500 NOTE: Resolving any missing task queue dependenciesBuild Configuration: BB_VERSION 2.4.0 BUILD_SYS x86_64-linux NATIVELSBSTRING ubuntu-20.04 TARGET_SYS arm-openbmc-linux-gnueabi MACHINE evb-ast2500 DISTRO openbmc-phosphor DISTRO_VERSION nodistro.0 TUNE_FEATURES arm thumb arm1176jzs TARGET_FPU soft meta meta-poky meta-oe meta-networking meta-python meta-phosphor meta-aspeed meta-evb meta-evb-aspeed meta-evb-ast2500 HEAD:67c9d4e715c705cd05fd04f7c8cd4fad300a4666Initialising tasks: 100% |###############################################################################| Time: 0:00:01 Sstate summary: Wanted 142 Local 0 Mirrors 0 Missed 142 Current 1487 (0% match, 91% complete) NOTE: Executing Tasks NOTE: Tasks Summary: Attempted 4089 tasks of which 3860 didnt need to be rerun and all succeeded.Summary: There was 1 WARNING message.生成的二进制位于如下的目录 jwHOME:~/openbmc/build/tmp/deploy/images/evb-ast2500$ ls aspeed-ast2500-evb--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.dtb aspeed-ast2500-evb-evb-ast2500.dtb aspeed-ast2500-evb.dtb evb-ast2500-20230730112951.all.tar evb-ast2500-20230730112951.tar fitImage fitImage--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.bin fitImage-evb-ast2500.bin fitImage-its--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.its fitImage-its-evb-ast2500 fitImage-its-obmc-phosphor-initramfs-evb-ast2500--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.its fitImage-its-obmc-phosphor-initramfs-evb-ast2500-evb-ast2500 fitImage-linux.bin--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.bin fitImage-linux.bin-evb-ast2500 fitImage-obmc-phosphor-initramfs-evb-ast2500--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.bin fitImage-obmc-phosphor-initramfs-evb-ast2500-evb-ast2500 flash-evb-ast2500 image-bmc image-kernel image-rofs image-rwfs image-u-boot obmc-phosphor-image-evb-ast2500-20230730112951.qemuboot.conf obmc-phosphor-image-evb-ast2500-20230730112951.rootfs.manifest obmc-phosphor-image-evb-ast2500-20230730112951.rootfs.squashfs-xz obmc-phosphor-image-evb-ast2500-20230730112951.static.mtd obmc-phosphor-image-evb-ast2500-20230730112951.static.mtd.all.tar obmc-phosphor-image-evb-ast2500-20230730112951.static.mtd.tar obmc-phosphor-image-evb-ast2500-20230730112951.testdata.json obmc-phosphor-image-evb-ast2500.jffs2 obmc-phosphor-image-evb-ast2500.manifest obmc-phosphor-image-evb-ast2500.qemuboot.conf obmc-phosphor-image-evb-ast2500.squashfs-xz obmc-phosphor-image-evb-ast2500.static.mtd obmc-phosphor-image-evb-ast2500.static.mtd.all.tar obmc-phosphor-image-evb-ast2500.static.mtd.tar obmc-phosphor-image-evb-ast2500.testdata.json obmc-phosphor-initramfs-evb-ast2500-20230730112951.qemuboot.conf obmc-phosphor-initramfs-evb-ast2500-20230730112951.rootfs.cpio.xz obmc-phosphor-initramfs-evb-ast2500-20230730112951.rootfs.manifest obmc-phosphor-initramfs-evb-ast2500-20230730112951.testdata.json obmc-phosphor-initramfs-evb-ast2500.cpio.xz obmc-phosphor-initramfs-evb-ast2500.manifest obmc-phosphor-initramfs-evb-ast2500.qemuboot.conf obmc-phosphor-initramfs-evb-ast2500.testdata.json u-boot-evb-ast2500-v2019.04gitAUTOINCfd915728e1-r0.bin u-boot-evb-ast2500.bin u-boot.bin vmlinux vmlinux--6.1.15git0580639a973-r0-evb-ast2500-20230730112951.bin vmlinux-evb-ast2500.bin使用 到这里构建就完成了之后就是要启动这个镜像这需要参考https://github.com/openbmc/docs/blob/master/development/dev-environment.md中的内容。由于没有实际的设备做测试所以只能使用虚拟机这就需要依赖于QEMU但是使用WSL子系统中的qemu-system-arm启动镜像出现了无限重启的情况所以这里尝试使用Windows下的QEMU。 在Windows下安装QEMU确定qemu-system-arm可用。 将构建的BMC从WSL子系统拿出来放到指定的位置 Windows PowerShell 版权所有C Microsoft Corporation。保留所有权利。安装最新的 PowerShell了解新功能和改进https://aka.ms/PSWindowsPS C:\Users\jiang wsl jwHOME:/mnt/c/Users/jiang$ cp /home/jw/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd /mnt/e/wsl/ jwHOME:/mnt/c/Users/jiang$这里将BMC二进制放到了E盘的wsl目录下在该目录下执行如下的命令 qemu-system-arm -m 256 -M ast2500-evb -nographic -drive fileobmc-phosphor-image-evb-ast2500.static.mtd,formatraw,ifmtd关于QEMU的参数这里简单介绍下 -m指定了内存的大小。-M指定机器架构。当前支持的架构 PS C:\Users\jiang qemu-system-arm.exe -M ? Supported machines are: akita Sharp SL-C1000 (Akita) PDA (PXA270) ast2500-evb Aspeed AST2500 EVB (ARM1176) ast2600-evb Aspeed AST2600 EVB (Cortex-A7) # 后续略-nographic表示无图像输出不过还是会输出到控制台对于本文来说就是Windows的PowerShell。-driver filexx指定了启动的系统这里就是我们的OpenBMC固件系统。-net设定网路参数。 在PowerShell下执行命令之后就可以将OpenBMC系统启动起来如下所示 E:\wslqemu-system-arm -m 256 -M ast2500-evb -nographic -drive fileobmc-phosphor-image-evb-ast2500.static.mtd,formatraw,ifmtdU-Boot 2019.04 (Mar 10 2023 - 01:54:10 0000)SOC : AST2500-A1 RST : Power On LPC Mode : SIO:Enable : SuperIO-2e Eth : MAC0: RGMII, , MAC1: RGMII, Model: AST2500 EVB DRAM: 192 MiB (capacity:256 MiB, VGA:64 MiB, ECC:off) MMC: sdhci_slot0100: 0, sdhci_slot1200: 1 Loading Environment from SPI Flash... SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB *** Warning - bad CRC, using default environmentIn: serial1e784000 Out: serial1e784000 Err: serial1e784000 Net: Warning: ethernet1e660000 (eth0) using random MAC address - 12:18:cf:56:7c:54 eth0: ethernet1e660000 Warning: ethernet1e680000 (eth1) using random MAC address - 8e:e3:1c:40:e9:81 , eth1: ethernet1e680000 Hit any key to stop autoboot: 2 qemu-system-arm: warning: GLib-GIO: Unexpectedly, UWP app Clipchamp.Clipchamp_2.6.2.0_neutral__yxz26nhyzhsrt (AUMId Clipchamp.Clipchamp_yxz26nhyzhsrt!App) supports 41 extensions but has no verbs qemu-system-arm: warning: GLib-GIO: Unexpectedly, UWP app Microsoft.ScreenSketch_11.2303.17.0_x64__8wekyb3d8bbwe (AUMId Microsoft.ScreenSketch_8wekyb3d8bbwe!App) supports 29 extensions but has no verbs0 ## Loading kernel from FIT Image at 20080000 ...Using conf-aspeed-ast2500-evb.dtb configurationTrying kernel-1 kernel subimageDescription: Linux kernelType: Kernel ImageCompression: uncompressedData Start: 0x2008012cData Size: 3081352 Bytes 2.9 MiBArchitecture: ARMOS: LinuxLoad Address: 0x80001000Entry Point: 0x80001000Hash algo: sha256Hash value: d1d96902a9f4d8cd71d35cb030c13d935dd6ed8773aa45e0a34ea356e347b83fVerifying Hash Integrity ... sha256 OK ## Loading ramdisk from FIT Image at 20080000 ...Using conf-aspeed-ast2500-evb.dtb configurationTrying ramdisk-1 ramdisk subimageDescription: obmc-phosphor-initramfsType: RAMDisk ImageCompression: uncompressedData Start: 0x20377244Data Size: 1083876 Bytes 1 MiBArchitecture: ARMOS: LinuxLoad Address: unavailableEntry Point: unavailableHash algo: sha256Hash value: f24d14b2d517b5ee3ef8f7c1031a8ff1dfacaf727eb474a79aeb9b0c1924f6e5Verifying Hash Integrity ... sha256 OK ## Loading fdt from FIT Image at 20080000 ...Using conf-aspeed-ast2500-evb.dtb configurationTrying fdt-aspeed-ast2500-evb.dtb fdt subimageDescription: Flattened Device Tree blobType: Flat Device TreeCompression: uncompressedData Start: 0x203706c8Data Size: 27311 Bytes 26.7 KiBArchitecture: ARMHash algo: sha256Hash value: dd954d39662a2217b3b1b835554d5e22d8e8729174f8c53532327f425eb55a7eVerifying Hash Integrity ... sha256 OKBooting using the fdt blob at 0x203706c8Loading Kernel Image ... OKLoading Ramdisk to 89e8a000, end 89f929e4 ... OKLoading Device Tree to 89e80000, end 89e89aae ... OKStarting kernel ...[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.1.15-580639a (oe-useroe-host) (arm-openbmc-linux-gnueabi-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40.20230119) #1 Thu Apr 6 00:55:09 UTC 2023 [ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr00c5387d [ 0.000000] CPU: VIPT aliasing data cache, unknown instruction cache [ 0.000000] OF: fdt: Machine model: AST2500 EVB [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Reserved memory: created CMA memory pool at 0x8b000000, size 16 MiB [ 0.000000] OF: reserved mem: initialized node framebuffer, compatible id shared-dma-pool [ 0.000000] cma: Reserved 16 MiB at 0x8a000000 [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000080000000-0x000000008bffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000008bffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008bffffff] [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 48768 [ 0.000000] Kernel command line: consolettyS4,115200n8 root/dev/ram rw [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear) [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] Memory: 149728K/196608K available (7168K kernel code, 667K rwdata, 1500K rodata, 1024K init, 148K bss, 14112K reserved, 32768K cma-reserved) [ 0.000000] SLUB: HWalign32, Order0-3, MinObjects0, CPUs1, Nodes1 [ 0.000000] ftrace: allocating 23672 entries in 47 pages [ 0.000000] ftrace: allocated 47 pages with 5 groups [ 0.000000] trace event string verifier disabled [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] i2c controller registered, irq 17 [ 0.000000] clocksource: FTTMR010-TIMER2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 77222644334 ns [ 0.000119] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 86767015915ns [ 0.001174] Switching to timer-based delay loop, resolution 40ns [ 0.003361] Calibrating delay loop (skipped), value calculated using timer frequency.. 49.50 BogoMIPS (lpj247500) [ 0.003492] pid_max: default: 32768 minimum: 301 [ 0.005470] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.005501] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.015532] CPU: Testing write buffer coherency: ok [ 0.023194] cblist_init_generic: Setting adjustable number of callback queues. [ 0.023312] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.023440] cblist_init_generic: Setting shift to 0 and lim to 1. [ 0.024877] Setting up static identity map for 0x80100000 - 0x80100038 [ 0.026412] ASPEED AST2500 rev A1 (04010303) [ 0.031259] devtmpfs: initialized [ 0.038699] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.038797] futex hash table entries: 256 (order: -1, 3072 bytes, linear) [ 0.040158] pinctrl core: initialized pinctrl subsystem [ 0.046111] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.050753] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.052672] hw-breakpoint: debug architecture 0x0 unsupported. [ 0.082781] mc: Linux media interface: v0.10 [ 0.082839] videodev: Linux video capture interface: v2.00 [ 0.082902] pps_core: LinuxPPS API ver. 1 registered [ 0.082910] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giomettilinux.it [ 0.082953] PTP clock support registered [ 0.094061] clocksource: Switched to clocksource FTTMR010-TIMER2 [ 0.111839] NET: Registered PF_INET protocol family [ 0.112552] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.114931] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.114980] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.115017] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.115070] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.115151] TCP: Hash tables configured (established 2048 bind 2048) [ 0.115813] UDP hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.115932] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.116933] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.121805] Unpacking initramfs... [ 0.135954] workingset: timestamp_bits30 max_order16 bucket_order0 [ 0.138969] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.138991] jffs2: version 2.2. (SUMMARY) 漏 2001-2006 Red Hat, Inc. [ 0.158835] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled [ 0.163093] printk: console [ttyS4] disabled [ 0.165121] 1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq 20, base_baud 1500000) is a 16550A [ 0.326435] printk: console [ttyS4] enabled [ 0.329124] timeriomem_rng 1e6e2078.hwrng: 32bits from 0x(ptrval) 1us [ 0.332317] aspeed_gfx 1e6e6000.display: assigned reserved memory node framebuffer [ 0.371403] [drm] Initialized aspeed-gfx-drm 1.0.0 20180319 for 1e6e6000.display on minor 0 [ 0.388654] aspeed_gfx 1e6e6000.display: [drm] fb0: aspeed-gfx-drmd frame buffer device [ 0.413113] loop: module loaded [ 0.482273] spi-nor spi0.0: w25q256 (32768 Kbytes) [ 0.512151] random: crng init done [ 0.753987] spi-aspeed-smc 1e620000.spi: CE0 read buswidth:2 [0x203b0641] [ 0.874721] Freeing initrd memory: 1060K [ 0.877843] 5 fixed-partitions partitions found on MTD device bmc [ 0.878942] Creating 5 MTD partitions on bmc: [ 0.879832] 0x000000000000-0x000000060000 : u-boot [ 0.881572] 0x000000060000-0x000000080000 : u-boot-env [ 0.882894] 0x000000080000-0x0000004c0000 : kernel [ 0.884206] 0x0000004c0000-0x000001c00000 : rofs [ 0.885642] 0x000001c00000-0x000002000000 : rwfs [ 0.897655] spi-nor spi1.0: mx25l25635e (32768 Kbytes) [ 0.902495] spi-aspeed-smc 1e630000.spi: Calibration area too uniform, using low speed [ 0.903845] spi-aspeed-smc 1e630000.spi: CE0 read buswidth:2 [0x203b0041] [ 0.919797] ftgmac100 1e660000.ethernet: Read MAC address 12:18:cf:56:7c:54 from chip [ 0.925951] RTL8211E Gigabit Ethernet 1e660000.ethernet--1:00: attached PHY driver (mii_bus:phy_addr1e660000.ethernet--1:00, irqPOLL) [ 0.929635] ftgmac100 1e660000.ethernet eth0: irq 22, mapped at (ptrval) [ 0.931293] ftgmac100 1e680000.ethernet: Read MAC address 8e:e3:1c:40:e9:81 from chip [ 0.934834] RTL8211E Gigabit Ethernet 1e680000.ethernet--1:00: attached PHY driver (mii_bus:phy_addr1e680000.ethernet--1:00, irqPOLL) [ 0.937590] ftgmac100 1e680000.ethernet eth1: irq 23, mapped at (ptrval) [ 0.952480] aspeed_vhub 1e6a0000.usb-vhub: Initialized virtual hub in USB2 mode [ 0.954489] Mass Storage Function, version: 2009/09/11 [ 0.955610] LUN: removable file: (no medium) [ 0.956818] no file given for LUN0 [ 0.957808] udc 1e6a0000.usb-vhub:p1: failed to start g_mass_storage: -22 [ 0.958950] g_mass_storage: probe of gadget.0 failed with error -22 [ 0.960036] Mass Storage Function, version: 2009/09/11 [ 0.960883] LUN: removable file: (no medium) [ 0.961586] no file given for LUN0 [ 0.962149] udc 1e6a0000.usb-vhub:p2: failed to start g_mass_storage: -22 [ 0.963246] g_mass_storage: probe of gadget.1 failed with error -22 [ 0.964416] Mass Storage Function, version: 2009/09/11 [ 0.965263] LUN: removable file: (no medium) [ 0.966118] no file given for LUN0 [ 0.966749] udc 1e6a0000.usb-vhub:p3: failed to start g_mass_storage: -22 [ 0.967921] g_mass_storage: probe of gadget.2 failed with error -22 [ 0.969508] Mass Storage Function, version: 2009/09/11 [ 0.970428] LUN: removable file: (no medium) [ 0.971184] no file given for LUN0 [ 0.971748] udc 1e6a0000.usb-vhub:p4: failed to start g_mass_storage: -22 [ 0.972842] g_mass_storage: probe of gadget.3 failed with error -22 [ 0.973895] Mass Storage Function, version: 2009/09/11 [ 0.974741] LUN: removable file: (no medium) [ 0.975583] no file given for LUN0 [ 0.976353] udc 1e6a0000.usb-vhub:p5: failed to start g_mass_storage: -22 [ 0.977507] g_mass_storage: probe of gadget.4 failed with error -22 [ 0.978645] UDC core: g_mass_storage: couldnt find an available UDC [ 0.980024] i2c_dev: i2c /dev entries driver [ 0.986214] at24 3-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write [ 0.987659] aspeed-i2c-bus 1e78a100.i2c-bus: i2c bus 3 registered, irq 25 [ 0.989541] aspeed-i2c-bus 1e78a300.i2c-bus: i2c bus 7 registered, irq 26 [ 0.990940] Driver for 1-wire Dallas network protocol. [ 0.993644] lm75 7-004d: hwmon0: sensor lm75 [ 0.995603] SPI driver bmp280 has no spi_device_id for bosch,bmp085 [ 1.000920] NET: Registered PF_INET6 protocol family [ 1.006255] Segment Routing with IPv6 [ 1.006981] In-situ OAM (IOAM) with IPv6 [ 1.008234] NET: Registered PF_PACKET protocol family [ 1.009067] 8021q: 802.1Q VLAN Support v1.8 [ 1.013306] printk: console [netcon0] enabled [ 1.014103] netconsole: network logging started [ 1.035707] Freeing unused kernel image (initmem) memory: 1024K [ 1.039784] Checked WX mappings: passed, no WX pages found [ 1.040838] Run /init as init process rofs mtd4 squashfs rwfs mtd5 jffs2 [ 2.154262] jffs2: notice: (84) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. find: run/initramfs/rw/cow/var/lib/systemd/random-seed: No such file or directory Fri Mar 9 12:35:01 UTC 2018 [ 2.334539] overlayfs: upper fs does not support tmpfile. [ 2.337840] overlayfs: upper fs does not support RENAME_WHITEOUT. [ 4.325572] systemd[1]: System time before build time, advancing clock. [ 4.474149] systemd[1]: systemd 253.1^ running in system mode (PAM -AUDIT -SELINUX -APPARMOR -IMA -SMACK SECCOMP -GCRYPT -GNUTLS -OPENSSL -ACL BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC -KMOD -LIBCRYPTSETUP LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB ZSTD -BPF_FRAMEWORK -XKBCOMMON -UTMP -SYSVINIT default-hierarchyunified) [ 4.483706] systemd[1]: Detected architecture arm.Welcome to Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) 2.14.0![ 4.541756] systemd[1]: Hostname set to evb-ast2500. [ 4.550899] systemd[1]: Initializing machine ID from random generator. [ 4.757550] systemd[1]: Using hardware watchdog aspeed_wdt, version 0, device /dev/watchdog0 [ 4.796279] systemd[1]: Watchdog running with a timeout of 2min. [ 4.797929] systemd[1]: Watchdog: reading from /sys/dev/char/247:0/pretimeout_governor [ 4.800023] systemd[1]: Watchdog: failed to read pretimeout governor: No such file or directory [ 4.801847] systemd[1]: Watchdog: setting pretimeout_governor to panic via /sys/dev/char/247:0/pretimeout_governor [ 4.804757] systemd[1]: Failed to set pretimeout_governor to panic: No such file or directory [ 4.806494] systemd[1]: Failed to set watchdog pretimeout governor to panic, ignoring: No such file or directory [ 7.016612] systemd[1]: /lib/systemd/system/phosphor-ipmi-net.socket:6: Invalid interface name, ignoring: sys-subsystem-net-devices-%i.device [ 7.137420] systemd[1]: Queued start job for default target Multi-User System. [ 7.161803] systemd[1]: Created slice Slice /system/getty. [ OK ] Created slice Slice /system/getty. [ 7.170446] systemd[1]: Created slice Slice /system/mapper-wait. [ OK ] Created slice Slice /system/mapper-wait. [ 7.176535] systemd[1]: Created slice Slice /system/modprobe. [ OK ] Created slice Slice /system/modprobe. [ 7.183669] systemd[1]: Created slice Slice /system/obmc-led-group-start. [ OK ] Created slice Slice /system/obmc-led-group-start. [ 7.190534] systemd[1]: Created slice Slice /system/phosphor-certificate-manager. [ OK ] Created slice Slice /system/phosphor-certificate-manager. [ 7.197805] systemd[1]: Created slice Slice /system/phosphor-discover-system-state. [ OK ] Created slice Slice /syste鈥osphor-discover-system-state. [ 7.205313] systemd[1]: Created slice Slice /system/phosphor-ipmi-net. [ OK ] Created slice Slice /system/phosphor-ipmi-net. [ 7.212227] systemd[1]: Created slice Slice /system/phosphor-reset-chassis-on. [ OK ] Created slice Slice /system/phosphor-reset-chassis-on. [ 7.219060] systemd[1]: Created slice Slice /system/phosphor-reset-chassis-running. [ OK ] Created slice Slice /syste鈥osphor-reset-chassis-running. [ 7.226630] systemd[1]: Created slice Slice /system/phosphor-reset-host-running. [ OK ] Created slice Slice /system/phosphor-reset-host-running. [ 7.233226] systemd[1]: Created slice Slice /system/serial-getty. [ OK ] Created slice Slice /system/serial-getty. [ 7.239601] systemd[1]: Created slice Slice /system/xyz.openbmc_project.State.Chassis. [ OK ] Created slice Slice /syste鈥penbmc_project.State.Chassis. [ 7.249573] systemd[1]: Created slice Slice /system/xyz.openbmc_project.State.Host. [ OK ] Created slice Slice /syste鈥z.openbmc_project.State.Host. [ 7.256000] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Dispatch Password 鈥s to Console Directory Watch. [ 7.261232] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ OK ] Started Forward Password R鈥ests to Wall Directory Watch. [ 7.266179] systemd[1]: Reached target Host0 running after reset. [ OK ] Reached target Host0 running after reset. [ 7.269445] systemd[1]: Reached target Path Units. [ OK ] Reached target Path Units. [ 7.272596] systemd[1]: Reached target Remote File Systems. [ OK ] Reached target Remote File Systems. [ 7.286486] systemd[1]: Reached target Slice Units. [ OK ] Reached target Slice Units. [ 7.289587] systemd[1]: Reached target Swaps. [ OK ] Reached target Swaps. [ 7.300777] systemd[1]: Listening on Syslog Socket. [ OK ] Listening on Syslog Socket. [ 7.324171] systemd[1]: Listening on Process Core Dump Socket. [ OK ] Listening on Process Core Dump Socket. [ 7.329773] systemd[1]: Journal Audit Socket was skipped because of an unmet condition check (ConditionSecurityaudit). [ 7.337538] systemd[1]: Listening on Journal Socket (/dev/log). [ OK ] Listening on Journal Socket (/dev/log). [ 7.343615] systemd[1]: Listening on Journal Socket. [ OK ] Listening on Journal Socket. [ 7.350119] systemd[1]: Listening on Network Service Netlink Socket. [ OK ] Listening on Network Service Netlink Socket. [ 7.361387] systemd[1]: Listening on udev Control Socket. [ OK ] Listening on udev Control Socket. [ 7.367289] systemd[1]: Listening on udev Kernel Socket. [ OK ] Listening on udev Kernel Socket. [ 7.373246] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists/sys/kernel/mm/hugepages). [ 7.377520] systemd[1]: POSIX Message Queue File System was skipped because of an unmet condition check (ConditionPathExists/proc/sys/fs/mqueue). [ 7.399229] systemd[1]: Mounting Kernel Debug File System...Mounting Kernel Debug File System... [ 7.432360] systemd[1]: Mounting Kernel Trace File System...Mounting Kernel Trace File System... [ 7.476449] systemd[1]: Mounting Temporary Directory /tmp...Mounting Temporary Directory /tmp... [ 7.538878] systemd[1]: Starting Load Kernel Module configfs...Starting Load Kernel Module configfs... [ 7.613383] systemd[1]: Starting Load Kernel Module efi_pstore...Starting Load Kernel Module efi_pstore... [ 7.656240] systemd[1]: Starting Load Kernel Module fuse...Starting Load Kernel Module fuse... [ 7.667621] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite!/). [ 7.846291] systemd[1]: Starting Journal Service...Starting Journal Service... [ 7.950807] systemd[1]: Starting Generate network units from Kernel command line...Starting Generate network 鈥s from Kernel command line... [ 8.107269] systemd[1]: Starting Remount Root and Kernel File Systems...Starting Remount Root and Kernel File Systems... [ 8.247561] systemd[1]: Starting Apply Kernel Variables...Starting Apply Kernel Variables... [ 8.387080] systemd[1]: Starting Coldplug All udev Devices...Starting Coldplug All udev Devices... [ 8.771729] systemd[1]: Mounted Kernel Debug File System. [ OK ] Mounted Kernel Debug File System. [ 8.817476] systemd[1]: Mounted Kernel Trace File System. [ OK ] Mounted Kernel Trace File System. [ 9.008706] systemd[1]: Mounted Temporary Directory /tmp. [ OK ] Mounted Temporary Directory /tmp. [ 9.064132] systemd[1]: modprobeconfigfs.service: Deactivated successfully. [ 9.113865] systemd-journald[115]: Collecting audit messages is disabled. [ 9.121763] systemd[1]: Finished Load Kernel Module configfs. [ OK ] Finished Load Kernel Module configfs. [ 9.134054] systemd[1]: modprobeefi_pstore.service: Deactivated successfully. [ 9.185567] systemd[1]: Finished Load Kernel Module efi_pstore. [ OK ] Finished Load Kernel Module efi_pstore. [ 9.212820] systemd[1]: modprobefuse.service: Deactivated successfully. [ 9.267227] systemd[1]: Finished Load Kernel Module fuse. [ OK ] Finished Load Kernel Module fuse. [ 9.284711] systemd[1]: Finished Generate network units from Kernel command line. [ OK ] Finished Generate network units from Kernel command line. [ 9.314765] systemd[1]: Finished Remount Root and Kernel File Systems. [ OK ] Finished Remount Root and Kernel File Systems. [ 9.345716] systemd[1]: Finished Apply Kernel Variables. [ OK ] Finished Apply Kernel Variables. [ 9.355649] systemd[1]: Reached target Preparation for Network. [ OK ] Reached target Preparation for Network. [ 9.378157] systemd[1]: FUSE Control File System was skipped because of an unmet condition check (ConditionPathExists/sys/fs/fuse/connections). [ 9.436381] systemd[1]: Mounting Kernel Configuration File System...Mounting Kernel Configuration File System... [ 9.517018] systemd[1]: Starting Rebuild Hardware Database...Starting Rebuild Hardware Database... [ 9.520524] systemd[1]: Platform Persistent Storage Archival was skipped because of an unmet condition check (ConditionDirectoryNotEmpty/sys/fs/pstore). [ 9.591461] systemd[1]: Starting Create System Users...Starting Create System Users... [ 9.769333] systemd[1]: Mounted Kernel Configuration File System. [ OK ] Mounted Kernel Configuration File System. [ 9.815172] systemd[1]: Finished Rebuild Hardware Database. [ OK ] Finished Rebuild Hardware Database. [ 10.092119] systemd[1]: Started Journal Service. [ OK ] Started Journal Service.Starting Flush Journal to Persistent Storage... [ 10.431905] systemd-journald[115]: Received client request to flush runtime journal. [ OK ] Finished Create System Users. [ OK ] Finished Flush Journal to Persistent Storage.Starting Create Static Device Nodes in /dev... [ OK ] Finished Create Static Device Nodes in /dev. [ OK ] Reached target Preparation for Local File Systems.Mounting /var/volatile...Starting Rule-based Manage鈥or Device Events and Files... [ OK ] Mounted /var/volatile.Starting Load/Save OS Random Seed... [ OK ] Reached target Local File Systems.Starting Create Volatile Files and Directories... [ OK ] Finished Load/Save OS Random Seed. [ OK ] Started Rule-based Manager for Device Events and Files.Starting Network Configuration... [ OK ] Finished Create Volatile Files and Directories.Starting Rebuild Journal Catalog...Starting Network Name Resolution...Starting Network Time Synchronization... [ OK ] Finished Rebuild Journal Catalog.Starting Update is Completed... [ OK ] Finished Update is Completed. [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Time Set. [ OK ] Started Network Name Resolution. [ OK ] Reached target Host and Network Name Lookups. [ OK ] Started Network Configuration. [ OK ] Reached target Network.Starting Wait for Network to be Configured... [ OK ] Finished Coldplug All udev Devices. [ 16.916445] ftgmac100 1e680000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx [ 16.923077] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 17.159974] ftgmac100 1e660000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx [ 17.169310] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ OK ] Found device /sys/subsystem/net/devices/eth0. [ OK ] Reached target System Initialization. [ OK ] Started Daily rotation of log files. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target Timer Units. [ OK ] Reached target Hardware activated USB gadget. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Listening on BMC Webserver socket. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Listening on dropbear.socket. [ OK ] Listening on Phosphor Host鈥le SSH Per-Connection socket. [ OK ] Listening on phosphor-ipmi-neteth0.socket. [ OK ] Reached target Socket Units.Starting D-Bus System Message Bus... [ OK ] Created slice Slice /system/xyz.openbmc_project.Hwmon. [ OK ] Started D-Bus System Message Bus. [ OK ] Reached target Basic System.Starting Avahi mDNS/DNS-SD Stack... [ OK ] Started Start bmcweb server.Starting Clear one time boot overrides...Starting SSH Key Generation...Starting Name Service Cache Daemon...Starting LDAP daemon... [ OK ] Started Phosphor Dump core monitor.. [ OK ] Started Phosphor certificate manager for authority. [ OK ] Started Phosphor certificate manager for bmcweb. [ OK ] Started Phosphor certificate manager for nslcd.Starting BMC health monitoring... [ OK ] Started Lightweight SLP Server.Starting OpenBMC ipKVM daemon...Starting Permit User Sessions...Starting Enable Linux trace events in the boot loader...Starting Phosphor Dump Manager... [ OK ] Started Fru Device.Starting Phosphor Inventory Manager...Starting Phosphor LED Group Management Daemon...Starting Phosphor Log Manager...Starting Phosphor Network Manager...Starting Phosphor DBus Service Discovery Manager...Starting Phosphor Settings Daemon...Starting OpenBMC Software Update Manager...Starting Phosphor Download Manager...Starting Phosphor Chassis0 State Manager...Starting Rsyslog config updater...Starting Telemetry...Starting Phosphor User Manager... [ OK ] Finished Wait for Network to be Configured. [ OK ] Started Name Service Cache Daemon. [ OK ] Started OpenBMC ipKVM daemon. [ OK ] Finished Permit User Sessions. [ OK ] Finished Enable Linux trace events in the boot loader. [ OK ] Started BMC health monitoring. [ OK ] Finished Clear one time boot overrides. [ OK ] Started LDAP daemon. [ OK ] Started Phosphor Settings Daemon. [ OK ] Started Phosphor Inventory Manager. [ OK ] Started Phosphor Log Manager. [ OK ] Started Rsyslog config updater. [ OK ] Started Phosphor DBus Service Discovery Manager. [ OK ] Started Telemetry. [ OK ] Started Phosphor Download Manager. [ OK ] Started Avahi mDNS/DNS-SD Stack. [ OK ] Started Phosphor Dump Manager. [ OK ] Started OpenBMC Software Update Manager. [ OK ] Started Phosphor Chassis0 State Manager. [ OK ] Reached target Network is Online. [ OK ] Started phosphor systemd target monitor.Starting System Logging Service... [ OK ] Started Serial Getty on ttyS4. [ OK ] Reached target Login Prompts.Starting Hostname Service...Starting Phosphor Ldap config updater...Starting Wait for /org/openbmc/control/power0...Starting Wait for /xyz/ope鈥/control/host0/auto_reboot...Starting Wait for /xyz/ope鈥ontrol/host0/boot/one_time...Starting Wait for /xyz/ope鈥project/control/host0/boot...Starting Wait for /xyz/ope鈥?/host0/power_restore_policy...Starting Wait for /xyz/ope鈥rol/host0/restriction_mode...Starting Wait for /xyz/ope鈥ject/led/groups/bmc_booted...Starting Wait for /xyz/openbmc_project/state/bmc0...Starting Wait for /xyz/openbmc_project/state/chassis0...Starting Wait for /xyz/openbmc_project/state/host0...Starting Wait for /xyz/ope鈥c_project/time/sync_method...Starting Phosphor Version Software Manager...Starting Phosphor BMC State Manager... [ OK ] Started System Logging Service. [ OK ] Finished SSH Key Generation. [ OK ] Finished Wait for /xyz/ope鈥ct/control/host0/auto_reboot. [ OK ] Finished Wait for /xyz/ope鈥/control/host0/boot/one_time. [ OK ] Finished Wait for /xyz/ope鈥c_project/control/host0/boot. [ OK ] Finished Wait for /xyz/ope鈥l/host0/power_restore_policy. [ OK ] Finished Wait for /xyz/ope鈥ntrol/host0/restriction_mode. [ OK ] Finished Wait for /xyz/openbmc_project/state/chassis0. [ OK ] Finished Wait for /xyz/openbmc_project/time/sync_method. [ OK ] Started Hostname Service. [ OK ] Started Phosphor Ldap config updater.Stopping LDAP daemon...Starting Phosphor Inband IPMI...Starting Phosphor Time Manager daemon... [ OK ] Stopped LDAP daemon. [ OK ] Started Phosphor Network Manager. [ OK ] Started Phosphor Version Software Manager. [ OK ] Started Phosphor User Manager.Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) nodistro.0 evb-ast2500 ttyS4evb-ast2500 login:登录系统使用的账号密码是root和0penBmc。注意密码的首字母是数字的0而不是大写的O。登录之后就可以进行各种操作 rootevb-ast2500:~# ls bmcweb_persistent_data.json rootevb-ast2500:~# obmcutil state CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.NotReady CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.Off CurrentHostState : xyz.openbmc_project.State.Host.HostState.Off BootProgress : xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive到这里一个可用的BMC镜像就已经启动起来了但是为了在Windows下能够访问这个BMC还需要联网为此需要配置QEMU的网络。 安装OpenVPN配置生成网桥 之后就可以使用这个tap0了。启动BMC的命令改成 qemu-system-arm -m 256 -M ast2500-evb -nographic -drive fileobmc-phosphor-image-evb-ast2500.static.mtd,formatraw,ifmtd -net nic -net tap,ifnametap0启动BMC之后可以在Windows下与其通信红框是BMC配置的IP注意不要跟网桥的一致 最重要的是可以登录到BMC Web Emmm…这显然不是我们要的结果。 进一步查看evb-ast2500对应的配方发现它默认是不带Web的因此我们需要自己何如Web。 最简单的方法就是查看别的平台是如何加Web的比如meta-ampere\meta-jade\recipes-phosphor\packagegroups\packagegroup-obmc-apps.bbappend下有如下的配置 RDEPENDS:${PN}-extras:append \webui-vue \phosphor-image-signing \phosphor-virtual-sensor \phosphor-misc-usb-ctrl \phosphor-gpio-monitor-monitor \RDEPENDS:${PN}-inventory:append \dbus-sensors \entity-manager \RDEPENDS:${PN}-extras:remove phosphor-hwmon VIRTUAL-RUNTIME_obmc-sensors-hwmon ? dbus-sensors RDEPENDS:${PN}-extras:append phosphor-virtual-sensor为了使用webui-vue我们也可以创建一个类似的文件放到meta-aspeed目录下然后只包含webui-vue jwHOME:~/openbmc$ cat meta-aspeed/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend RDEPENDS:${PN}-extras:append webui-vuejwHOME:~/openbmc$之后再进行bitbake构建此时会有新的配方比如nodejs被构建所以需要花费一定的时间。使用新的镜像可以看到Web文件了 rootevb-ast2500:~# ls /usr/share/www/ DMTF_Redfish_logo_2017.svg google js styles css img redfish favicon.ico.gz index.html.gz redfish.css再访问BMC得到如下的结果由于使用的是私有的证书所以会有一个拦截跳过即可 账号密码还是root/0penBmc登录之后进入OpenBMC的Web主界面
http://www.pierceye.com/news/452729/

相关文章:

  • 郑州网站设计 公司驻马店市可以做网站的公司
  • 推荐盐城网站开发安陆网站开发
  • wordpress中文网站模板软件开发者路线图
  • 福清市建设局网站深圳网站制作品牌祥奔科技
  • 工程建设采购有哪些网站做网络销售怎么样
  • wordpress数据库和网站文件下载商业网站成功的原因
  • 30岁转行做网站设计百度秒收网站
  • 网页设计与制作心得体会1000福州网站seo公司
  • 学校网站定位手机网站建设怎么样
  • 苏州科技网站建设模板网站 seo
  • 免费qq刷赞网站推广网站建设具体项目及价格
  • 怎么做网站页面代码搜索网站的根目录
  • 网站建设免责申明书做qq图片的网站吗
  • 营销型单页网站电子商务平台建设
  • 去柬埔寨做网站是传销吗app推广服务部
  • 网站建站的流程海南住建部建设网站的网站
  • 网站建设与推广的步骤网站建设费用如何做账务处理
  • 简单网站建设运营网页改版
  • 赣州网站建设江西网站建设怎么用网页制作一个网站
  • phpcms v9怎么做网站建设项目网站备案
  • 徐州市建设局网站电话号码网站怎么实现两种语言
  • 做网站涉及到哪些浙江城乡建设网站证件查询
  • 重庆市园林建设有限公司网站太原网站建设51sole
  • 淘宝客推广怎么做网站备案全国建设项目竣工验收公示网站
  • 数据型网站 建设方案建材类网站建设方案
  • 怎么和网站主联系方式seo站长工具箱
  • 西安网站运营招聘深圳网站设计公司电话
  • 老外的网站怎么做大学生个人网站制作
  • 顺德网站建设如何推广计划和推广单元
  • 什么是网站设计与运营苏州有哪些互联网大厂