biosbits / bits Goto Github PK
View Code? Open in Web Editor NEWBIOS Implementation Test Suite
Home Page: http://biosbits.org/
License: Other
BIOS Implementation Test Suite
Home Page: http://biosbits.org/
License: Other
BIOS Implementation Test Suite (BITS) Build ID: @@BUILDID@@ Build number: @@BUILDNUM@@ Please send any bug reports, patches, or other mail about BITS to the BITS mailing list, <[email protected]>, and please include the build ID for reference. You can find the BITS homepage at http://biosbits.org/ Disclaimer ========== None of the menu options provided by this toolkit should affect your system permanently, only for the current boot. If you *ever* find that this toolkit affects your system in any permanent way, that represents a serious bug. However, poking around at the GRUB command line may turn up some commands provided by GRUB that can affect your system; if it breaks, you get to keep both pieces. Other sources of information ============================ This README.txt file documents how to use BITS. For instructions to build a bootable USB disk from a BITS binary distribution, refer to INSTALL.txt included in the top-level directory of that that binary distribution. For more detailed documentation on specific components of BITS, see the files in the Documentation directory. If you want to do BITS development, start with the BITS source code; on a BITS USB disk built from this version of BITS, you can find the source code under /boot/src/bits-@@BUILDNUM@@.tar.gz; for more information, see README.Developers.txt in the BITS source. Getting Started =============== BITS has two modes of operation: an interactive mode that provides a menu of available functionality, and a batch mode that automatically runs operations such as the testsuite or structure decoding and saves a log of the results without any user interaction. By default, BITS runs in interactive mode. To configure batch mode, edit the configuration file /boot/bits-cfg.txt and set the batch option to include one or more batch operations. BITS will detect your processor signature and enable appropriate menu options for your CPU and general CPU family. For instance, if you have a Westmere processor, you will see menu options specific to the Westmere processor, menu options for the Nehalem family of processors, and menu options for all Intel processors. The available options in BITS fall into several broad categories: - "Test Menu" contains various test suites designed to test your system and its BIOS configuration. When run normally, these test suites will produce a list of all test failures, and a summary of the tests run. Tests that pass will generate no output, and if the entire test suite passes, you will see only the summary at the end. If you want to see more verbose failure information from each test, you can set the verbosity level via the "test_options" command from the GRUB command line. If you turn it up high enough it will show tests that pass, but that will quickly drown out the useful information about test failures; apart from the novelty of seeing how many tests BITS includes, this serves little useful purpose. Turn it back off and get back to fixing bugs. :) - "Configure Menu" contains options to temporarily reconfigure your system. None of these options will touch your BIOS or permanently change your system configuration, but they will override that configuration for the current boot only. - "Explore Menu" contains options that let you explore your system's existing configuration and behavior, as well as experimental tests which produce results beyond just PASS/FAIL. For example, you can explore the latency incurred to wake CPUs from deeper C-states. - "View and Save Log" contains options to review the log of BITS test results, clear the log, or save the log to /boot/bits-log.txt. - "Boot an OS from disk" provides options that allow you to boot your existing operating system from a hard disk. You can use these options to test OS behavior after running options from the Configure menu to change your system's configuration; for instance, after running Intel's power management reference code to overwrite your BIOS's power management configuration, you could boot Linux and run powertop, or boot your own test workload and run benchmarks. Credits ======= Authors: Burt Triplett <[email protected]> Josh Triplett <[email protected]> Based on: GNU GRUB2 - https://www.gnu.org/software/grub/ Python - https://www.python.org/ ACPICA - https://acpica.org/ fdlibm - http://www.netlib.org/fdlibm/ For more details, see README.Developers.txt
Any usage info?? Can not find anything.
Hi there
first of all - in my opinion you created a great tool here!
My bosses also mentioned this and have the idea to run a python script before booting windows in uefi-mode.
I got the mission to realise this - and i´m failing. But maybe you can give me an hint.....
Thats what I tried until today:
I´ve created an debian based minimalistic USB-Stick. Unfortunately debian uses GRUB 2.02 and your files aren´t compatible. (I get the message error: symbol 'grub_isprint' not found. which means that the grub-version doesnt match)
So I purged grub* from the stick, cloned your repository and compiled the same grub version you use.
My idea was to boot from the stick and install grub on the existing uefi-partition (via grub-install /dev/sda --directory=biosbits/grub-core --recheck --force). This is working so far.
But when I overwrite or swap the files in /boot with your files I get again this error: symbol 'grub_isprint' not found...
What i´m doing wrong?
Thank you in forward!
edit
I forgot - your guide for installing via Syslinux doesn´t work in my case.
I tryed to install it in the EFI-Partition but Windows is booting straight trough...
Hello,
I want to add a new library for personal use but how to?
thanks
We should include tests for the correctness of the BGRT table:
Hi Josh
first of all - thanks for your great work!
Unfortunately i´m using an different keyboard layout.
It is possible, but quite annoying to search the right character when its needed.
Therefore i would like to ask you if you could create a set of gkb-files with the most used keyboard layouts. In my case german ;)
It seems that this gkb files have to be created exactly with the correct grub version. Else there is only an error message.
Thanks
Netlord
Hi.
I have copied the image file on a USB key. it works fine as live distro, but when I try to read the logs from the usb connected to Ubuntu or Windows, can't read any partition.
Any known issue on that?
Thanks
I am unable install the bits module in python. Is there any way to install module? is a available anymore??
Hi there
i get this error message while booting from an usb hard drive:
BIOS Implementation Test Suite (BITS)
bits-2005, build ID 6026f64
Initialization redirect module done
Importing acpi module... done
Initializing serial port redirection module...
Initialization serial port redirection module done
Importing os module... done
Importing bitsconfig module... done
Initializing bitsconfig module... done
Importing grubcmds module... done
Initializing grubcmds module... done
Importing bits module... done
Initializing PCI Express MCFG detection module...
Initialization PCI Express MCFG detection module done
Importing readline module... done
Initializing readline module... done
Importing rlcompleter_extra module... done
Importing testacpi module... done
Initializing testacpi module... done
Importing testsmrr module... done
Importing smilatency module... done
Initializing smilatency module... done
Importing mptable module... done
Initializing mptable module... done
Importing cpulib module... done
Initializing cpulib module... done
Importing testsuite module... done
Initializing testsuite module... done
Importing sysinfo module... done
Initializing sysinfo module...
Processor signature 0x306c3, detected CPU as Unknown
Initialization sysinfo module done
Importing smbios module... done
Initializing smbios module...
Error parsing SystemEnclosure
Traceback (most recent call last):
File "/boot/python/smbios.py", line 364, in init
self.add_field('contained_elements', tuple(SystemEnclosureContainedElement(u, self.contained_element_length) for i in range(self.contained_element_count)))
File "/boot/python/smbios.py", line 364, in
self.add_field('contained_elements', tuple(SystemEnclosureContainedElement(u, self.contained_element_length) for i in range(self.contained_element_count)))
File "/boot/python/smbios.py", line 386, in init
self.add_field('type_select', bitfields.getbits(self.type, 7), unpack.format_table("contained_element_type[7]={}", type_selections))
AttributeError: 'SystemEnclosureContainedElement' object has no attribute 'type'
SMBIOS information:
0: BIOSInformation(type=0x0, length=0x18, handle=0x0, vendor=1 'FUJITSU //
American Megatrends Inc.', version=2 'V4.6.5.4 R2.14.0 for D3239-A1x',
starting_address_segment=0xf000, release_date=3 '04/16/2015',
rom_size=0x7f, characteristics=0x134099880, characteristics_extensions=[3,
13], major_release=0x2, minor_release=0xe, ec_major_release=0xff,
ec_minor_release=0xff)
1: SystemInformation(type=0x1, length=0x1b, handle=0x1, manufacturer=1
'FUJITSU', product_name=2 'PRIMERGY TX1320 M1', version=3 'GS01',
serial_number=4 'YLXL001001', uuid=UUID('c9b50cb1-4c16-8a4f-b86e-
642761e128e4'), wakeup_type=6 (Power Switch), sku_number=5
'ABN:1386-V101-101', family=6 'SERVER')
Initialization smbios module done
Importing cpumenu module... done
Initializing cpumenu module... done
Importing bootmenu module... done
Initializing bootmenu module... done
Importing mwaitmenu module... done
Initializing mwaitmenu module... done
Importing builtin module... done
Error parsing SystemEnclosure
Traceback (most recent call last):
File "/boot/python/smbios.py", line 364, in init
self.add_field('contained_elements', tuple(SystemEnclosureContainedElement(u, self.contained_element_length) for i in range(self.contained_element_count)))
File "/boot/python/smbios.py", line 364, in
self.add_field('contained_elements', tuple(SystemEnclosureContainedElement(u, self.contained_element_length) for i in range(self.contained_element_count)))
File "/boot/python/smbios.py", line 386, in init
self.add_field('type_select', bitfields.getbits(self.type, 7), unpack.format_table("contained_element_type[7]={}", type_selections))
AttributeError: 'SystemEnclosureContainedElement' object has no attribute 'type'
Can you help me with this?
I got a bit older mainboard which may be the culprit but still I will post the log for possible hints
bootlog.txt
When I try to boot from the iso on virtualbox, I get the following:
Welcome to GRUB!
Starting BITS ...
[0.00] Import redirect
then the screen freezes. Any idea of how to get this working on Virtualbox?
The last commit was years ago and there has not been ANY recent activity. I tried mailing the developers but was ignored. Is this project even alive? There is no documentation. The 'readme' and 'readme-developers' both did not have any info. The Documentation folder was absolutely useless too. Where can I get a list of all the bits functions and classes with what they do? Is there any documentation or help for people that want to use this project? Or has this project been abandoned?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.