CN114691223B - 一种通过网络传输bios日志的方法及装置 - Google Patents

一种通过网络传输bios日志的方法及装置 Download PDF

Info

Publication number
CN114691223B
CN114691223B CN202210279828.XA CN202210279828A CN114691223B CN 114691223 B CN114691223 B CN 114691223B CN 202210279828 A CN202210279828 A CN 202210279828A CN 114691223 B CN114691223 B CN 114691223B
Authority
CN
China
Prior art keywords
bios
log
network card
early
bios log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210279828.XA
Other languages
English (en)
Other versions
CN114691223A (zh
Inventor
李启明
唐斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tong Tai Yi Information Technology Co ltd
Original Assignee
Shenzhen Tong Tai Yi Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Tong Tai Yi Information Technology Co ltd filed Critical Shenzhen Tong Tai Yi Information Technology Co ltd
Priority to CN202210279828.XA priority Critical patent/CN114691223B/zh
Publication of CN114691223A publication Critical patent/CN114691223A/zh
Application granted granted Critical
Publication of CN114691223B publication Critical patent/CN114691223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于计算机技术领域,公开了一种通过网络传输BIOS日志的方法及装置,其中包括:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。通过网络将BIOS日志信息发送至指定IPV4地址的网络服务器中,不依靠外部的嵌入式芯片支持就能通过互联网在另一台电脑上直接远程查看BIOS日志。

Description

一种通过网络传输BIOS日志的方法及装置
技术领域
本发明属于计算机技术领域,公开了一种通过网络传输BIOS日志的方法及装置。
背景技术
在基本输入/输出***(Basic Input/Ouput System,BIOS)引导服务器开机过程中,会对服务器主板上的硬件设备进行扫描检测、设备初始化、资源分配与适配,若在引导过程中,出现引导失败***宕机、或者出现其他故障现象,此时往往需要开启BIOS代码中的启动串行口控制开关,保存选项机器重启后,再通过串行口线或者通过基板管理控制器(Baseboard Management Controller,BMC)的SOL(Serial Over Lan)接口收集BIOS串行口日志,从BIOS的启动过程进一步对问题进行分析定位。
BIOS日志反应了电脑从上电到进入***整个过程中BIOS的运行状态,对BIOS工程师来说是最常规的debug手段。对于X86架构的电脑来说,BIOS运行过程中产生日志,按内容可以分为80port日志和COM(串口)日志。因为BIOS不直接输出日志,想要获取信息必须靠外部嵌入式芯片(BMC、superIO、debug卡)的支持,一旦失去支持(BMC故障,debug卡缺失或者不工作)则无法获取BIOS日志,不是很方便。
COM作为一个发展了几十年的接口确实有些落伍,COM口连接线都不那么常见,给调试人员带来一些困难。COM口少见,BIOS诊断卡就更加专业了,基本是只有相关的从业人员才会拥有。这样的接口设计给缺乏工具的非专业人士带来了困难。
不管是台式机还是笔记本、服务器。它们输出BIOS日志的行为都是实时的。80port信息,COM信息都是实时输出,BIOS本身并没有什么保存手段(因为如果储存在内存中,内存下电会丢失信息,如果储存在BIOS ROM中,ROM空间不够用而且容易和BIOS本身数据冲突造成BIOS数据损坏)。现有的BIOS日志记录方法,不管是以什么样子的形式,其本质都是记录每一条从串口传递出来的数据,以此来达到储存BIOS日志的目的。
发明内容
本发明的目的在于提供一种通过网络传输BIOS日志的方法及装置,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一方面,本申请实施例提供了一种通过网络传输BIOS日志的方法,包括:
优先初始化网卡,使所述网卡发送数据的功能可用;
在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;
在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;
通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;
通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
在一些实施例中,所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
在一些实施例中,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;
当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;
获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。
在一些实施例中,优先初始化所述网卡,使所述网卡发送数据的功能可用,包括:
优先运行所述网卡驱动,初始化所述网卡,使所述网卡发送数据功能可用。
在一些实施例中,通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡包括:
获取所述早期BIOS日志和所述后期BIOS日志;
通过所述debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给COM接口和BIOS诊断卡;
同时把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡。
在一些实施例中,在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括:
判断所述网卡收到的所述IPV4地址是否为空;
若否,判断所述网卡收到的所述IPV4地址是否符合格式;
若是,提示用户填写所述IPV4地址。
在一些实施例中,判断所述网卡收到的所述IPV4地址是否符合格式,包括:
判断所述网卡收到的所述IPV4地址是否符合格式;
若是,判断所述网卡是否连接网络;
若否,提示用户所述IPV4地址错误。
在一些实施例中,判断所述网卡是否连接网络,包括:
判断所述网卡是否连接网络;
若是,通过网线向给定的所述IPV4地址发送所述BIOS日志;
若否,提示连接网络。
另一方面,本申请实施例还提供了一种通过网络传输BIOS日志的装置,包括:
检测单元,用于获取装置内的硬件状态信息,输出所述第一早期BIOS日志和所述第二早期BIOS日志;
初始化单元,用于初始化所述网卡,所述内存等单元;
CPU缓存单元,用于临时存放所述第一早期BIOS日志;
内存单元,用于临时存放所述第一早期BIOS日志和所述第二早期BIOS日志;
debuglib模块,用于分配和发送所述早期BIOS日志和所述后期BIOS日志;
网卡单元,用于发送所述早期BIOS日志和所述后期BIOS日志到指定的所述IPV4地址。
目标信息获取单元,用于获取IPV4地址;
页面显示单元,用于当检测到获取IPV4地址为空或者用户输入的IPV4地址格式错误时显示提醒页面。
另一方面,本申请实施例还提供了一种通过网络传输BIOS日志的装置,包括:
消息显示单元,用于显示所述早期BIOS日志和所述后期BIOS日志;
硬盘单元,用于储存接收到的所述早期BIOS日志和所述后期BIOS日志。
本申请实施例还提供一种存储介质,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的通过网络传输BIOS日志的方法
综上所述,与现有技术相比,本发明具有以下有益效果:一种通过网络传输BIOS日志的方法及装置,其中包括:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。通过网络将BIOS日志信息发送至指定IPV4地址的网络服务器中,不依靠外部的嵌入式芯片支持就能通过互联网在另一台电脑上直接远程查看BIOS日志。
附图说明
图1是本实施例提供的一种通过网络传输BIOS日志的方法的流程示意图;
图2是本实施例提供的一种通过网络传输BIOS日志的方法的流程示意图;
图3是本实施例提供的一种通过网络传输BIOS日志的方法的流程示意图;
图4是BIOS日志的分类示意图;
图5是传统服务器BIOS日志的传输流程示意图;
图6是机器上电到进入***,BIOS经历各阶段的示意图;
图7是传统服务器BIOS日志的传输流程示意图;
图8是本实施例提供的一种通过网络传输BIOS日志的方法的硬件初始化的工作流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种通过网络传输BIOS日志的方法、装置、及计算机可读存储介质。
此外,上面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图(1-3)为本申请实施例所提供的的一种通过网络传输BIOS日志的方法的流程示意图,包括:网卡、debuglib模块、主板及主板上的各种硬件设备(该主板及主板上的各种硬件设备还可以包括更多,具体个数在此不作限定)该主板即为计算机的物理机,也称为实体服务器,是相对于虚拟机(Virtual Machine)而言的实体计算机的称呼,物理机提供给虚拟机的硬件环境,也称为“宿主”或者“寄主”。
参考图5和图7,BIOS日志反应了电脑从上电到进入***整个过程中BIOS的运行状态,对BIOS工程师来说是最常规的debug手段。对于X86架构的电脑来说,BIOS运行过程中产生日志,按内容可以分为80port日志和COM(串口)日志。80port日志主要是外接BIOS诊断卡使用,BIOS诊断卡有一个显示两位数字的晶体管,用于根据80port信息显示当前BIOS处于什么阶段(比如晶体管信息卡在55不动的话,说明BIOS侦测到内存未安装,如果是B4则说明BIOS侦测到USB设备***,等等等等)。详细的日志信息(debug信息等等)则是通过COM输出。
其中COM口,也不是由PCH直接引出,它是由一个外部的嵌入式控制器引出。
BIOS日志由南桥(PCH)通过LPC总线、SPI总线或eSPI总线传递给外部的嵌入式控制芯片,再由外部的嵌入式芯片将信息处理后输出至COM口(也就是常说的串行通讯端口、串口)。这个嵌入式控制器在笔记本上为EC,台式机上为SuperIO,服务器上为BMC。参考图5,以服务器为例介绍整个BIOS日志的传输流程。
值得注意的是80port日志和COM日志都属于BIOS日志(如图4),都是在LPC总线,SPI总线或者eSPI总线上进行传输的,所以硬件设计上BIOS诊断卡、PCH、BMC线路是连在一起的。另外,BMC也有能力获取80port相关信息(利用ipmi命令与BIOS通信获得,与本专利讨论无关,这里不多做介绍)。
但是随着时代发展,COM口体积大,使用率很低,接口老旧等缺点,新款笔记本在设计上几乎很少有设计COM口,无COM口笔记本的BIOS日志获取方式特殊一些:在PCH和EC相互传递信息的总线上(LPC、SPI、eSPI),再引出新的一组信号线,做成一个debug接口。会有专门的debug卡来连接这个debug接口,再由debug卡将信息处理后输出。
不管是哪种平台,BIOS都是间接的输出80port信息和COM信息。也就是说,需要外部嵌入式芯片以及BIOS诊断卡的支持,用户才能得到BIOS运行过程中的日志信息。
以下分别进行详细说明。需说明的是,以下实施例的顺序不作为对实施例优选顺序的限定。
一种通过网络传输BIOS日志的方法,包括:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
需要说明的是:如图6所述,从机器上电到进入***,BIOS会经历大概4个阶段,按顺序分别是SEC、PEI、DXE、BDS。本专利把BIOS运行过程中PEI和DXE阶段的部分内容调整重构,让BIOS在DXE早期就将主板上网卡适配器初始化并启用,利用网络将BIOS日志发送到指定的IPV4地址上。
这样做有以下几点优点:
(1)不依靠外部的嵌入式芯片支持就能输出BIOS日志。在外部嵌入式芯片(BMC、superIO)不工作的情况下也能独立对外输出BIOS日志,反应机器启动情况。
(2)输出日志的途径更简单、通用。本专利的目的是让BIOS利用网络发送日志,电脑不可能没有网口,不管是有线网口还是WIFI模块,网络都是电脑特别重要的部件之一。使用网络传输日志,可以省去专业的工具,直接在另一台电脑上就可以查看BIOS的日志(COM日志)以及当前的运行状态(80port信息)。
(3)提供一种储存BIOS日志的新方法。BIOS可以利用网络,将日志信息发送至指定IPV4地址的网络服务器中,由该网络服务器记录接收到的BIOS日志。此过程与传统的COM接收存储BIOS日志为并行关系,二者互不影响。
在一实施例中,所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
在一些实施例中,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。
需要说明的是:启用网卡之前的日志,做了如下处理:主要是PEI阶段和DXE阶段内核的一些日志,相对而言比较少,可以通过修改BIOS代码,先将第一早期BIOS日志,并临时存放在CPU缓存中,等内存初始化完成之后,再把临时存放在储存在CPU缓存中的第一早期BIOS日志传输到内存空间的指定区域中,当然,内存初始化完成之后到网卡初始化完成之前的阶段,所产生的的BIOS日志,即第二早期BIOS日志也同步存放在内存空间的指定区域。等DXE阶段网卡启用后,再将内存空间的早期BIOS日志信息通过网络传递出去。
PEI和DXE阶段的内存空间有所不同:DXE阶段使用的就是***内存,但是PEI阶段不是。PEI后期***内存才被初始化变为可用状态,在此之前使用的是CPU缓存。
本设计还需修改BIOS代码,让BIOS将PEI前期的日志信息额外备份一份存放在CPU缓存中,PEI后期***内存初始化完毕后,在BIOS从临时内存切换到***内存的时候,将储存BIOS日志的内存区域的信息转移到***内存中去。然后在网卡启用之前,继续将新产生的日志信息额外备份一份存放在该内存区域。在网卡启用后,将所有存放的日志信息传递出去并释放该内存区域。然后就按上文DXE设计,网口和COM口一起输出信息直到操作***被成功加载。
在一实施例中,优先初始化所述网卡,使所述网卡发送数据的功能可用,包括:优先运行所述网卡驱动,初始化所述网卡,使所述网卡发送数据功能可用。
需要说明的是:SEC阶段属于芯片内部的安全验证。DXE阶段,是大量设备初始化(包括网卡)、安装驱动的阶段。也是整个BIOS运行过程中历时最长,日志信息最多的阶段。参考图8,DXE内核组件之一的DXE dispatcher会搜寻BIOS rom中所有的DXE驱动,并按照一定的顺序执行。其中就包含了网卡驱动。
整个DXE阶段,驱动的执行顺序与"The A Priori File"(先验文件)有很大的关系,实际上"The A Priori File"(先验文件)中的驱动顺序是一种强顺序,DXE Dispatcher会严格按顺序执行其包含的所有驱动。执行完毕后DXE Dispatcher才会按照驱动之间的相互依赖关系来执行固件卷中剩下的驱动。
本专利的修改点之一:通过修改BIOS代码,在"The A Priori File"(先验文件)所包含的DXE驱动列表中加入网卡驱动,驱动网卡所需的其他驱动也按照相互依赖的关系以一种合适的顺序添加入到"The A Priori File"(先验文件)中。这样做的目的是让DXEDispatcher最优先将网卡初始化并把网卡的驱动调用起来,使网卡具备发送数据的能力。
在一实施例中,通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡包括:获取所述早期BIOS日志和所述后期BIOS日志;通过所述debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给COM接口和BIOS诊断卡;同时把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡。
需要说明的是:在网卡具备发送数据的能力后,调整重构BIOS代码中的debuglib模块(该模块就是输出BIOS日志的模块),使其在输出BIOS日志的时候,也控制网卡向给定的IPV4地址发送相同的数据。这样就可以在DXE早期初始化网卡、加载网卡驱动、网卡发送数据功能可用后,BIOS就可以在输出日志的时,也将信息传递给网卡,由网卡发送至指定的IPV4地址的服务器。
在一实施例中,在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括:判断所述网卡收到的所述IPV4地址是否为空;若否,判断所述网卡收到的所述IPV4地址是否符合格式;若是,提示用户填写所述IPV4地址。
在一实施例中,判断所述网卡收到的所述IPV4地址是否符合格式,包括:判断所述网卡收到的所述IPV4地址是否符合格式;若是,判断所述网卡是否连接网络;若否,提示用户所述IPV4地址错误。
在一实施例中,判断所述网卡是否连接网络,包括:判断所述网卡是否连接网络;若是,通过网线向给定的所述IPV4地址发送所述BIOS日志;若否,提示连接网络。
可以理解的是:以上验证阶段包括验证IPV4地址是否为空、验证IPV4地址是否符合格式和验证网络是否连接,均为实现网卡向指定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志而设,可以根据现实设备的情况设定。
设计中提到的IPV4地址,可以在BIOS界面加入一个相关选项,方便用户指定默认接收BIOS日志服务器的IPV4地址。这样与用户交互、接收用户输入信息的选项是比较容易实现的。
由上可知,本申请实施例一种通过网络传输BIOS日志的方法,其中包括:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。通过网络将BIOS日志信息发送至指定IPV4地址的网络服务器中,不依靠外部的嵌入式芯片支持就能通过互联网在另一台电脑上直接远程查看BIOS日志。
为了更好地实施以上方法,本申请实施例还提供一种通过网络传输BIOS日志的装置,该装置具体可以集成在电子设备中,该电子设备可以为终端、服务器、个人电脑等设备。比如,在本实施例中,该装置可以包括:初始化单元、CPU缓存单元、内存单元、debuglib模块、网卡单元、目标信息获取单元和页面显示单元,具体如下:
检测单元,用于获取装置内的硬件状态信息,输出所述第一早期BIOS日志和所述第二早期BIOS日志;
初始化单元,用于初始化所述网卡,所述内存等单元;
在一实施例中,初始化单元具体可以用于:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
在另一实施例中,初始化单元具体可以用于:所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
在一些实施例中,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。
在另一实施例中,初始化单元具体可以用于:优先初始化所述网卡,使所述网卡发送数据的功能可用,包括:优先运行所述网卡驱动,初始化所述网卡,使所述网卡发送数据功能可用。
CPU缓存单元,用于临时存放所述第一早期BIOS日志;
在一实施例中,CPU缓存单元具体可以用于:所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
在一些实施例中,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。
内存单元,用于临时存放所述第一早期BIOS日志和所述第二早期BIOS日志;
在一实施例中,内存单元具体可以用于:所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
在一些实施例中,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;
当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。debuglib模块,用于分配和发送所述早期BIOS日志和所述后期BIOS日志;
在一实施例中,debuglib模块具体可以用于:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
在另一实施例中,debuglib模块具体可以用于:通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡包括获取所述早期BIOS日志和所述后期BIOS日志;通过所述debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给COM接口和BIOS诊断卡;同时把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡。
(5)网卡单元,用于发送所述早期BIOS日志和所述后期BIOS日志到指定的所述IPV4地址。
在一实施例中,网卡单元具体可以用于:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
在另一实施例中,网卡单元具体可以用于:优先初始化所述网卡,使所述网卡发送数据的功能可用,包括优先运行所述网卡驱动,初始化所述网卡,使所述网卡发送数据功能可用。
在另一实施例中,网卡单元具体可以用于:通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡包括获取所述早期BIOS日志和所述后期BIOS日志;通过所述debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给COM接口和BIOS诊断卡;同时把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡。
在另一实施例中,网卡单元具体可以用于:在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括判断所述网卡收到的所述IPV4地址是否为空;若否,判断所述网卡收到的所述IPV4地址是否符合格式;若是,提示用户填写所述IPV4地址。
在另一实施例中,网卡单元具体可以用于:判断所述网卡收到的所述IPV4地址是否符合格式,包括判断所述网卡收到的所述IPV4地址是否符合格式;若是,判断所述网卡是否连接网络;若否,提示用户所述IPV4地址错误。
在另一实施例中,网卡单元具体可以用于:在一实施例中,判断所述网卡是否连接网络,包括判断所述网卡是否连接网络;若是,通过网线向给定的所述IPV4地址发送所述BIOS日志;若否,提示连接网络。
(6)目标信息获取单元,用于获取IPV4地址;
在一实施例中,目标信息获取单元具体可以用于:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
在另一实施例中,目标信息获取单元具体可以用于:在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括判断所述网卡收到的所述IPV4地址是否为空;若否,判断所述网卡收到的所述IPV4地址是否符合格式;若是,提示用户填写所述IPV4地址。
在另一实施例中,目标信息获取单元具体可以用于:判断所述网卡收到的所述IPV4地址是否符合格式,包括判断所述网卡收到的所述IPV4地址是否符合格式;若是,判断所述网卡是否连接网络;若否,提示用户所述IPV4地址错误。
(7)页面显示单元,用于当检测到获取IPV4地址为空或者用户输入的IPV4地址格式错误时显示提醒页面。
在一实施例中,页面显示单元具体可以用于:在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括判断所述网卡收到的所述IPV4地址是否为空;若否,判断所述网卡收到的所述IPV4地址是否符合格式;若是,提示用户填写所述IPV4地址。
在另一实施例中,页面显示单元具体可以用于:判断所述网卡收到的所述IPV4地址是否符合格式,包括判断所述网卡收到的所述IPV4地址是否符合格式;若是,判断所述网卡是否连接网络;若否,提示用户所述IPV4地址错误。
由上可知,本申请实施例一种通过网络传输BIOS日志的装置,其中包括:
检测单元、初始化单元、CPU缓存单元、内存单元、debuglib模块、网卡单元、目标信息获取单元和页面显示单元。通过网络将BIOS日志信息发送至指定IPV4地址的网络服务器中,不依靠外部的嵌入式芯片支持就能通过互联网在另一台电脑上直接远程查看BIOS日志。
为了更好地实施配合以上设备工作,本申请实施例还提供一种通过网络传输BIOS日志的装置,该装置具体可以集成在电子设备中,该电子设备可以为终端、服务器、个人电脑等设备。比如,在本实施例中,将以装置集成在接收终端中为例,对本申请实施例的设备进行详细说明。
该装置可以包括:消息显示单元、硬盘单元,具体如下:
(1)消息显示单元,用于显示所述早期BIOS日志和所述后期BIOS日志;
(2)硬盘单元,用于储存接收到的所述早期BIOS日志和所述后期BIOS日志。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种通过网络传输BIOS日志的方法中的步骤。例如,该指令可以执行如下步骤:
优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
综上所述,本发明具有以下有益效果:一种通过网络传输BIOS日志的方法及装置,其中包括:优先初始化网卡,使所述网卡发送数据的功能可用;在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。通过网络将BIOS日志信息发送至指定IPV4地址的网络服务器中,不依靠外部的嵌入式芯片支持就能通过互联网在另一台电脑上直接远程查看BIOS日志。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (11)

1.一种通过网络传输BIOS日志的方法,其特征在于,包括:
优先初始化网卡,使所述网卡发送数据的功能可用;
在所述网卡初始化成功之前,根据主板上硬件设备的状态以及操作,生成早期BIOS日志;
在所述网卡初始化成功之后,根据主板上硬件设备的状态以及操作,生成后期BIOS日志;
通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡;
通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志。
2.根据权利要求1所述的一种通过网络传输BIOS日志的方法,其特征在于,所述早期BIOS日志包括:内存初始化完成之前阶段的第一早期BIOS日志和所述内存初始化完成之后阶段的第二早期BIOS日志。
3.根据权利要求2所述的一种通过网络传输BIOS日志的方法,其特征在于,获取所述第一早期BIOS日志,并临时存放在CPU缓存中;
当内存初始化完成之后,获取所述第二早期BIOS日志,存放到所述内存中;
获取临时存放在所述CPU缓存中的所述第一早期BIOS日志,存放到所述内存中。
4.根据权利要求3所述的一种通过网络传输BIOS日志的方法,其特征在于,优先初始化所述网卡,使所述网卡发送数据的功能可用,包括:
优先运行所述网卡驱动,初始化所述网卡,使所述网卡发送数据功能可用。
5.根据权利要求1所述的一种通过网络传输BIOS日志的方法,其特征在于,通过debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡包括:
获取所述早期BIOS日志和所述后期BIOS日志;
通过所述debuglib模块把所述早期BIOS日志和所述后期BIOS日志传输给COM接口和BIOS诊断卡;
同时把所述早期BIOS日志和所述后期BIOS日志传输给所述网卡。
6.根据权利要求5所述的一种通过网络传输BIOS日志的方法,其特征在于,在通过所述网卡向给定的IPV4地址发送所述早期BIOS日志和所述后期BIOS日志之前,还包括:
判断所述网卡收到的所述IPV4地址是否为空;
若否,判断所述网卡收到的所述IPV4地址是否符合格式;
若是,提示用户填写所述IPV4地址。
7.根据权利要求6所述的一种通过网络传输BIOS日志的方法,其特征在于,判断所述网卡收到的所述IPV4地址是否符合格式,包括:
判断所述网卡收到的所述IPV4地址是否符合格式;
若是,判断所述网卡是否连接网络;
若否,提示用户所述IPV4地址错误。
8. 根据权利要求7所述的一种通过网络传输BIOS日志的方法,其特征在于,判断所述网卡是否连接网络,包括:
判断所述网卡是否连接网络;
若是,通过网线向给定的所述IPV4地址发送所述BIOS日志;
若否,提示连接网络。
9.一种根据权利要求1至8任一所述的通过网络传输BIOS日志的方法的装置,其特征在于,包括:
检测单元,用于获取装置内的硬件状态信息,输出第一早期BIOS日志和第二早期BIOS日志;
初始化单元,用于初始化所述网卡,内存单元;
CPU缓存单元,用于临时存放所述第一早期BIOS日志;
内存单元,用于临时存放所述第一早期BIOS日志和所述第二早期BIOS日志;
debuglib模块,用于分配和发送所述早期BIOS日志和所述后期BIOS日志;
网卡单元,用于发送所述早期BIOS日志和所述后期BIOS日志到指定的所述IPV4地址;
目标信息获取单元,用于获取IPV4地址;
页面显示单元,用于当检测到获取IPV4地址为空或者用户输入的IPV4地址格式错误时显示提醒页面。
10.根据权利要求9所述的装置,其特征在于,包括:
消息显示单元,用于显示所述早期BIOS日志和所述后期BIOS日志;
硬盘单元,用于储存接收到的所述早期BIOS日志和所述后期BIOS日志。
11.一种存储介质,其上存储有计算机程序,其特征在于,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的通过网络传输BIOS日志的方法。
CN202210279828.XA 2022-03-21 2022-03-21 一种通过网络传输bios日志的方法及装置 Active CN114691223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210279828.XA CN114691223B (zh) 2022-03-21 2022-03-21 一种通过网络传输bios日志的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210279828.XA CN114691223B (zh) 2022-03-21 2022-03-21 一种通过网络传输bios日志的方法及装置

Publications (2)

Publication Number Publication Date
CN114691223A CN114691223A (zh) 2022-07-01
CN114691223B true CN114691223B (zh) 2023-08-22

Family

ID=82138298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210279828.XA Active CN114691223B (zh) 2022-03-21 2022-03-21 一种通过网络传输bios日志的方法及装置

Country Status (1)

Country Link
CN (1) CN114691223B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610539B (zh) * 2023-04-07 2024-04-05 合芯科技有限公司 一种开机自检信息的显示***、显示方法、设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595388A (zh) * 2003-09-10 2005-03-16 联想(北京)有限公司 一种通过远程配置获取基本输入输出***信息的方法
CN102147763A (zh) * 2010-02-05 2011-08-10 中国长城计算机深圳股份有限公司 一种网络日志的记录方法、***及计算机
CN104268068A (zh) * 2014-09-24 2015-01-07 浪潮电子信息产业股份有限公司 一种服务器日志信息的获取方法
CN104391765A (zh) * 2014-10-27 2015-03-04 浪潮电子信息产业股份有限公司 一种自动诊断服务器启动故障的方法
CN105867945A (zh) * 2016-04-20 2016-08-17 华为技术有限公司 一种bios启动方法及装置
CN108984377A (zh) * 2018-06-29 2018-12-11 深圳市同泰怡信息技术有限公司 一种统计bios登录日志的方法、***及介质
CN109815076A (zh) * 2019-03-06 2019-05-28 苏州浪潮智能科技有限公司 一种网卡boot选项检测方法、***、终端及存储介质
CN112445678A (zh) * 2020-10-16 2021-03-05 苏州浪潮智能科技有限公司 一种服务器***日志存储的方法
CN112748885A (zh) * 2021-01-18 2021-05-04 联想(北京)有限公司 一种信息处理方法、装置、设备及存储介质
CN113254286A (zh) * 2021-05-28 2021-08-13 苏州浪潮智能科技有限公司 一种服务器的日志输出方法、***及相关装置
CN113806127A (zh) * 2021-09-12 2021-12-17 济南浪潮数据技术有限公司 一种服务器日志收集方法、设备及可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595388A (zh) * 2003-09-10 2005-03-16 联想(北京)有限公司 一种通过远程配置获取基本输入输出***信息的方法
CN102147763A (zh) * 2010-02-05 2011-08-10 中国长城计算机深圳股份有限公司 一种网络日志的记录方法、***及计算机
CN104268068A (zh) * 2014-09-24 2015-01-07 浪潮电子信息产业股份有限公司 一种服务器日志信息的获取方法
CN104391765A (zh) * 2014-10-27 2015-03-04 浪潮电子信息产业股份有限公司 一种自动诊断服务器启动故障的方法
CN105867945A (zh) * 2016-04-20 2016-08-17 华为技术有限公司 一种bios启动方法及装置
CN108984377A (zh) * 2018-06-29 2018-12-11 深圳市同泰怡信息技术有限公司 一种统计bios登录日志的方法、***及介质
CN109815076A (zh) * 2019-03-06 2019-05-28 苏州浪潮智能科技有限公司 一种网卡boot选项检测方法、***、终端及存储介质
CN112445678A (zh) * 2020-10-16 2021-03-05 苏州浪潮智能科技有限公司 一种服务器***日志存储的方法
CN112748885A (zh) * 2021-01-18 2021-05-04 联想(北京)有限公司 一种信息处理方法、装置、设备及存储介质
CN113254286A (zh) * 2021-05-28 2021-08-13 苏州浪潮智能科技有限公司 一种服务器的日志输出方法、***及相关装置
CN113806127A (zh) * 2021-09-12 2021-12-17 济南浪潮数据技术有限公司 一种服务器日志收集方法、设备及可读存储介质

Also Published As

Publication number Publication date
CN114691223A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
KR100990188B1 (ko) Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법
US6754817B2 (en) Apparatus and method for detecting a change in system hardware configuration to reduce the amount of time to execute a post routine
US8830228B2 (en) Techniques for enabling remote management of servers configured with graphics processors
US7721080B2 (en) Management of option ROM
US20070192582A1 (en) Techniques for initializing a device on an expansion card
US8707109B2 (en) Computer apparatus, non-transitory computer-readable medium storing an error recovery control program, and error recovery control method
EP2189906A1 (en) Method and apparatus for abnormality recovering of data card, and data card
CN110162435B (zh) 一种服务器pxe启动测试方法、***、终端及存储介质
US6785807B1 (en) Method and system for providing bootcode support in a data processing system that uses a communications port that utilizes a first communications protocol, an external device that utilizes a second communications protocol, and a device driver that is loaded in response to booting to communicate with the external device through the communications port
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
EP3062216A1 (en) Network bios management
US10210842B2 (en) Techniques of displaying host data on a monitor connected to a service processor during pre-boot initialization stage
CN109936716B (zh) 一种显示驱动的实现方法及***
US20080059786A1 (en) Device initiated mode switching
CN114691223B (zh) 一种通过网络传输bios日志的方法及装置
CN114116378A (zh) 获取PCIe设备温度的方法、***、终端及存储介质
CN112231005A (zh) 一种基于uboot管理fpga版本的方法
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
CN110688235B (zh) Uefi固件与os间共享无线连接信息的***及方法
CN116881929B (zh) 安全防护方法、装置、电子设备以及基板控制器芯片
CN116627472A (zh) 高速***组件设备的固件程序升级方法及服务器
EP2487598A1 (en) Data card upgrading method and device
US10509656B2 (en) Techniques of providing policy options to enable and disable system components
CN110737480B (zh) 一种串口驱动程序复用方法和装置
CN108073481B (zh) 可提供硬件运作信息的服务器***及其处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant