grub | GRUB enhancements for ZFS on Linux
kandi X-RAY | grub Summary
kandi X-RAY | grub Summary
The home for this git repository is:. GRUB packages at (the PPA) and are built from this repository using the git-buildpackage tool.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of grub
grub Key Features
grub Examples and Code Snippets
Community Discussions
Trending Discussions on grub
QUESTION
I am trying to use grub in order to get the memory map, instead of going through the bios route. The problem is that grub seems to be giving me very weird values for some reason. Can anyone help with this?
Relevant code:
This is how I parse the mmap
...ANSWER
Answered 2021-May-17 at 12:51It turns out that the bit masking stuff was the problem. If we drop that, we can still have 32-bit addresses and the memory map works just fine.
QUESTION
From the Debian/Ubuntu grub configuration file /boot/grub/grub.cfg, I would like to extract only the Linux Kernel Version columns, using AWK.
I wrote one but very long command using pipes. Can we make it short?.
My command:
...ANSWER
Answered 2021-May-06 at 06:28With your shown attempts, could you please try following. This is not tested since actual samples are not given in post.
QUESTION
I am trying to write a kernel in assembly and C++ (I'm still on assembly right now), and I'm loading it with GRUB. So far, everything works fine, except for linking. I'm using ld
, and even though the input files are not empty, it produces an empty binary.
Here is my build script:
...ANSWER
Answered 2021-May-05 at 19:46As you said: Accidentally using ld.exe from MinGW can cause this to happen (as opposed to the ld.exe from Linux gcc)
QUESTION
I'm trying to test the throughput between two docker containers using Iperf3 (any throughput tester app) connected to OVS (openvswitch) and DPDK on ubuntu 18.04 (VMWare workstation). The goal of this is to compare the performance of OVS-DPDK vs Linux kernel in some scenarios.
I can't find a proper solution, which explains how to connect OVS+DPDK to the docker containers so that the containers can pass TCP/UDP traffic to each other.
I'd appreciate your help explaining how to connect two docker containers with OVS+DPDK. The configuration that needs to be done in the docker containers, and the ones that need to be done in the host OS.
BTW I don't have traffic from outside.
Thanks
Edit
- DPDK version is 20.11.0
- OVS version is 2.15.90
- Iperf3
Here are the steps I take:
I install dpdk using apt:
sudo apt install openvswitch-switch-dpdk
set the alternative as:
sudo update-alternatives --set OvS-vswitchd /usr/lib/openvswitch-switch -dpdk/OvS-vswitchd-dpdk
Allocate the hugepages and update the grub.
mount hugepages
bind NIC to DPDK:
sudo dpdk-devbind --bind=vfio-pci ens33
. Although I don't need this step because I don't have traffic from outside if I don't bind my NIC thesudo service openvswitch-switch restart
fails.I create a bridge:
ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
I create two ports for my containers:
ovs-vsctl add-port br0 client -- set Interface client type=dpdk options:dpdk-devargs=
andovs-vsctl add-port br0 server -- set Interface server type=dpdk options:dpdk-devargs=
. (server port number: 1, client port number: 2)Open bidirectional flow between ports:
sudo ovs-ofctl del-flows br0
sudo ovs-ofctl add-flow br0 in_port=1,action=output:2
ovs-ofctl add-flow br0 in_port=2,action=output:1
After step 8 I don't know how to connect my iperf3 docker containers to use these ports. I appreciate your help in letting me know how to connect containers to the ports and test the network.
Edit 2
Based on Vipin's answer these steps won't work considering my requirements.
...ANSWER
Answered 2021-May-05 at 04:31[EDIT: update to reflect only using OVS-DPDK and iperf3 on container]
There are multiple ways one can connect 2 dockers to talk directly with each other using to run iperf3.
- Virtual Interface like TAP-1|MAC-VETH-1 from Docker-1 is connected to TAP-2| MAC-VETH-2 via Linux Bridge.
- Virtual port-1 (TAP|memif) from OVS-DPDK to Docker-1 and virtual port-2 (tap|memif) to Docker-2 via DPDK-OVS
For scenario 2 one needs to add TAP interface to OVS. because end application iperf3 is using Kernel Stack for TCP|UDP termination. One can use the below settings (modified based on OVS-DPDK version) to achieve the result.
QUESTION
I made simple kernel for studying purposes. I cange MakeFile to CMakeLists.txt to automatically genreate my kernel form sources. But I encounter this relocation error.
...ANSWER
Answered 2021-Apr-27 at 07:38Finally I figure out how to remove useless linker argument from cmake. CMAKE uses compiler as an default linker. In my case, gcc is default linker because I build my source code with gcc. The important fact is that cmake also berings CMAKE_CXX_FLAGS with gcc in linking stage. So we have to use custom linker as like this to avoid cmake linking our oject files with default compiler linker.
QUESTION
I am currently trying to create an x86-64 Kernel from scratch (using GRUB Multiboot2 as a bootloader). I set up my GDT just fine, but when setting up my IDT, there seems to be a problem. I isolated the issue to be my call of lidt
by hlt
ing before and after most instructions of my code. Here are my C and ASM files that define my IDT:
ANSWER
Answered 2021-Apr-23 at 15:39Your load_idt
function is written as a 32-bit function where the first parameter is passed on the stack. In the 64-bit System V ABI the first parameter is passed in register RDI. Use this instead:
QUESTION
To try debugging kernel using qemu and gdb (how nice it would be) for aarch64, I tried this.
build kernel with CONFIG_DEBUG_INFO
build qemu with 'configure --target-list=aarch64-softmmu --enable-debug' and 'make' and 'make install'.
then I ran,
qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -nographic -smp 1 -m 2048 -kernel arch/arm64/boot/Image -append "earlyprintk console=ttyAMA0 rootwait root=/dev/vda2" -drive if=none,file=/home/ckim/N1SDP/arm-reference-platforms/output/n1sdp/grub-ubuntu.img,id=disk1 -device virtio-blk-device,drive=disk1 -s -Sand ran in another shell, 'gdb-multiarch vmlinux -x gdbcmd'. gdbcmd contains
set architecture aarch64 set serial baud 115200 target remote :1234
Without -S option, qemu proceeds with linux booting. (it starts with
...ANSWER
Answered 2021-Mar-31 at 13:32This was solve not long after my posting the question and I forgot to put an answer.
It was because of the KASLR (kernel address space location randomization). You should disable it in the kernel configuration, or give option in the boot parameter. (without it, the kernel image is located in random location, causing mismach between debug symbol location and actual code location). This KASLR is turned on by default for aarch64.
In my case I did it with :
QUESTION
I wrote this code to use ACPI for powering off computers from my program launched from 64-bit UEFI.
(sorry for long code, but I think all parts are necessary)
...ANSWER
Answered 2021-Mar-27 at 07:42I have no idea if this is actually going to help, but I have noticed a couple of differences from the ACPI power-off implementation in GRUB (which, as reported by the asker, does actually work):
GRUB doesn’t bother with sending anything to the SMI port. There is only one time GRUB performs any port I/O whatsoever, and that’s when writing to the PM1A register. (It doesn’t bother with PM1B either.) All that other code in
grub-core/commands/acpihalt.c
is just for locating and parsing ACPI tables. And yes,grub_acpi_halt
seems to be cold-invoked without any preceding ACPI initialisation call present. It does seem to release EFI resources beforehand, though, as seen ingrub-core/lib/efi/halt.c
andgrub-core/kern/i386/efi/init.c
, and ultimatelygrub-core/kern/efi/init.c
(but does not terminate EFI boot services).GRUB doesn’t preserve ‘unused’ PM1A register bits. The asker’s code first reads off the PM1A register in order to carefully mask out bitfields it doesn’t want to modify. GRUB doesn’t bother, it just puts zeroes there. Translated into names from the asker’s code, it seems to do
QUESTION
The guides I have for deploying LXC on CentOS is to install snapd's lxd https://www.cyberciti.biz/faq/set-up-use-lxd-on-centos-rhel-8-x/
SnapD is a type of service that allows installing debian/ubuntu based packages with the logic being lxd is most up to date on that platform.
Well. I'm all open to installing an alternative version if it's easier to enable gpu passthrough.
Ultimately I'm trying to build a container environment where I can run the latest version of python and jupyter that has gpu support.
I have some guides on how to enable gpu passthrough.
...ANSWER
Answered 2021-Mar-12 at 21:50Found the answer
QUESTION
Installed Ubuntu Studio 20.04 on an ASUS PN50 mini-PC with Ryzen 7 4800. Upgraded to 20.04.2, kernel 5.8.0-44-lowlatency. Memory 32 GB 3200 MHz. Installation itself was smooth. The box only runs Radeon graphics. There is no NVIDIA. The desktop is Xfce 4.14.
I may be mixing apples and oranges, but since I can't tell (I'm not a hw freak) I'll report more than one issue. They may or may not be related, please bear with me.
Prelude: After installation the system didn't seem to boot. Stuck with Ubuntu splash screen.
On closer look lightdm wouldn't start. This fact kept the system waiting indefinitely.
I modified /etc/default/grub, deleted "quiet splash", added "nomodeset". The system now boots to text. After logging in I do a manual "startx" and the box generally seems to behave well. Graphics look good, snappy response. Later I added "amdgpu.exp_hw_support=1" to grub, but I haven't noticed any difference. The gpumanager log ends with "Nothing to do".
I'm not sure what lightdm does, but it is the default display manager:
/etc/X11/default-display-manager: /usr/sbin/lightdm
Here is systemctl status lightdm.service
output. I'm not sure what it's telling me.
ANSWER
Answered 2021-Mar-17 at 08:34After two days of lightdm crash course, here is the answer, and it has nothing to do with Ryzen.
One file was missing from the lightdm configuration. This is an installation from scratch, so either it's missing from the Ubuntu Studio distribution, or maybe I unwittingly deleted it myself somehow.
The file is: /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install grub
List the current releases by branch name:.
Clone this repository: $ git clone git://github.com/zfsonlinux/grub.git $ cd grub
List the current releases by branch name: $ git branch --list 'master/*'
Or list previous releases by tag name: $ git tag --list 'master/*' $ git tag --list 'snapshot/*'
Before building the chosen tag/branch, because of limitations and faults with the current ZoL development package, you need to modify the includes. This is done using the command $ ./fix_includes-libspl.sh
Checkout the branch name or tag name that you want to build. For example, the latest code for Ubuntu 12.04 Raring is: $ git checkout master/ubuntu/raring/2.00-13ubuntu3+zfs3_raring
Now compile it: $ git-buildpackage -uc -us
And clean the working tree afterwards by doing this: $ git clean -df $ git reset --hard
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page