New answers tagged

0

I wrote a helper to easily generate EDID binary files, with proper checksum, from Xorg modeline format: https://github.com/akatrevorjay/edid-generator You can use this to easily generate yourself some fresh bins. I use it to get 60hz on my monitor as well as deal with Apple's Thunderbolt display's EDID woes. There are instructions for using it on that ...


0

ps aux will create a listing of all running applications and two columns tell you something about the memory usage of all running applications. I prefer the %MEM column but that doesn't give you a tangible number but you get faster to the point when looking at double digit numbers in that column. See http://stackoverflow.com/questions/7880784/what-is-rss-...


2

The Unix kernel has traditionally included some assembly language code.  I haven’t looked at its source code recently, but I suspect that that’s still true. See How does a driver actually communicate with a hardware device? for an overview of that topic.  The answers to that question discuss two kinds of computer architecture.  On a system that uses port-...


0

The kernel reproduces a whole bunch of the functionality provided by libc statically, within itself. Just like in user-mode C programming, a function can be defined in one compilation unit and another unit can simply reference it (usually via a header file), the compiler will make it an undefined reference, and the linker will link it with the compilation ...


0

Not all drivers are loadable modules, being loadable is simply an option but some crucial drivers are not dynamically loaded, they are part of the kernel.


2

You should not have done the mkdir .config; you should have just copied the existing config file to a filename called .config in the kernel source directory. e.g. cd linux-yocto-3.14 cp /path/to/config-3.14.26-yocto-qemu .config make -j4 all


2

You don't need to patch anything. You just need to configure and compile the kernel by yourself. This is advanced task so it is not for begginers. The trick is to configure the kernel to support just your hardware and compile everything inside the kernel and not as a module (at least the drivers necessary for booting: disk controller, filesystem, …). There ...


1

The easiest solution is to have two rules defining eth0 in the 70-persistent-net.rules file, one each for the relevant MAC addresses in each server. This version of the file should be the same on both servers. When booted on server1, server1's MAC address gets eth0. When booted on server2, server2's MAC address gets eth0. e.g. SUBSYSTEM=="net", ACTION=="...


1

Linux drivers are kernel modules. This means they can be part of the big binary file that is the kernel (and therefore built-in), or loaded later after the kernel starts. The only drivers you really have to have built into the kernel are those to access the root filesystem. Even then, it's possible to have a useable system without such drivers if you ...


0

You could try modifying the start-up script for udev to delete the file 70-persistent-net.rules before it does anything else. Or add a custom hook/script to your initramfs (generation).


2

TL;DR sh->sector is the number of sectors in the physical disks after the start of the data section Setup Here's a simple test setup to illustrate: /dev/raidme/rd[0-3], 2GB devices /dev/md127 created as a raid5 over these 5, init'd as xfs and filled with random data Now to get started, get a non-zero block and overwrite it # dd if=/dev/raidme/rd0 ...


0

Solution using Btrfs: Create separate partition with Btrfs Mount with -o sync to disable caching Create Linux swap file https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-swap-creating-file.html


2

From: http://developer.toradex.com/device-tree-customization Nodes can be referenced using the ampersand (&) character and the label. Overwriting properties To overwrite a property, the node needs to be referenced using the ampersand character and the label. Later device tree entries overwrite earlier entries (the sequence order of entries is what ...


2

Files in /dev are mostly created by the udev process which receives events from the kernel by listening to the netlink socket for NETLINK_KOBJECT_UEVENT (see man 7 netlink). The events are sent when a new kernel object (kobject) is created. These objects are also seen in the /sys sysfs filesystem. In particular, files named dev in the /sys/devices subtree ...


0

This Linux document gives the guidelines for adding a new system calls. Here are the key points from the it, related to our discussion When a new system call is added, it becomes a part of the kernel API, and has to be supported indefinitely. Creating a new system call is also a bigger responsibility as it involves creating test code, man pages, and a ...


2

New system calls are added pretty rarely. Most new kernel functionality can be reached through a few general mechanisms: File descriptors are a very general feature for resource management. Custom actions on file descriptors happen through ioctl. Interactions are also possible through the proc filesystem and its variant sysfs for hardware- and driver-...


2

There is no single repository of documentation about Linux kernel threads. Some basic documentation of the Linux kernel exists in the Documentation directory, but there is no specific part about kernel threads (some threads are mentioned in passing in the documentation of the feature they participate in). Beyond this, the (excuse for a) documentation ...


2

In do_mounts.c, the variable saved_root_name is set to the value of the root= command line parameter, if present. This value is a path-like string passed by the kernel, it typically looks like /dev/something (though the /dev/ prefix is optional) but it doesn't actually correspond to any on-disk path. If the root= parameter is absent, the value of ROOT_DEV is ...


-1

Have you tried x="kblockd" man -k "$x" locate "$x" for i in $(locate "$x") ; do dpkg -S "$i" done This will produce a list of packages related to your "object". Read man dpkg to see how to get a list of files in a package.


0

I think I finally understood how redirecting ingress to IFB is working: +-------+ +------+ +------+ |ingress| |egress| +---------+ |egress| |qdisc +--->qdisc +--->netfilter+--->qdisc | |eth1 | |ifb1 | +---------+ |eth1 | +-------+ +------+ +------+ My initial assumption in figure 2, that the ...


1

If dtc is available on your platform (else, install the device-tree-compiler package), you can use: dtc -I fs /sys/firmware/devicetree/base


1

The device tree is exposed as a hierarchy of directories and files in /proc. You can cat the files, eg: find /proc/device-tree/ -type f -exec head {} + | less Beware, most file content ends with a null char, and some may contain other non-printing characters.


1

Unlike certain other operating systems such as Windows, which builds a list of the hardware with its corresponding drivers that it will follow every boot, many Linux distributions will include kernel modules to support most hardware configurations to provide the ease of use that you seem to like. Doing that obviously makes the boot process longer as the ...


0

Check Product Documentation for Red Hat Enterprise Linux and look for Technical Notes for your current release and the ones in between from your old release. For a quick path: Google search/ "udev.html" site:access.redhat.com


0

Well, We did code reading as it was being suggested in the comments and found the section of the patch where system may go into infinite loop(in irq) and won't come out of it. However when we put printk in that irq function issue was not getting reproduced. (timing issue you know!) So finally my colleague tried old school method of toggling GPIO and it ...


1

I'm guessing you're working on an ARM kernel (MIGHT_HAVE_PCI is only used for arc and arm). As you noticed, CONFIG_PCI depends on CONFIG_MIGHT_HAVE_PCI; the latter isn't a user-selectable option, it's a setting selected by ARM platforms, via the "ARM system type" option, or specific SoCs or machines, via their own options (e.g. "AT91RM9200" in the Atmel SoCs)...


1

By default, Linux kernel reserves lowest 64K of system memory for BIOS and repeatedly scans that part of the memory for unexpected changes. If background scanning process notices that the memory has been unexpectedly changed (corrupted) it spams the kernel log with something along the lines Corrupted low memory at <virtual address> (<address> ...


4

You've identified pretty much the only difference: the Debian kernel can load firmware, the Linux-libre kernel can't. Both kernels are free software, even as far as the Free Software Foundation is concerned — the FSF considers the Debian GNU/Linux distribution to be free software as long as no repositories are used beyond the main one; the issue they have ...


1

Yes, Linux could do fragmentation, but like incoming packets, the kernel try hard not to do fragmentation on first place (e.g. with path MTU discovery before to sending, receiving data). You can see e.g. https://github.com/torvalds/linux/blob/master/net/ipv4/ip_output.c function ip_do_fragment


3

That is pretty much the main, major and only difference: linux-libre is the linux kernel with the "firmware binary blobs" removed. What the FSF calls the firmware blobs are the parts of the linux kernel that are incompatible with the philosophy of free software. Often these pieces of firmware are in binary blobs which does not even come with any kind of ...


1

Those options work by passing options to the compiler, so the most straightforward way is to recompile the kernel. However for a reproducible and module-specific way kbuild allows you to set custom CFLAGs on a per-module basis. https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt You particularly want to set -fno-stack-protector for the modules ...


0

Are these the hashes for the pool/main/l/linux/linux-image-3.16.0-4-686-pae_3.16.7-ckt25-2_i386.deb file? Yes. Where can I find these hashes online to see if mine are correct? Here! Assuming the answer to (1) is 'yes', then how can I check that the kernel that is actually running on my pc is the same as would be installed by this .deb file? I ...


1

The design of most modern operating systems employs flat memory model where the segments concept introduced with Intel 80286 is not in use and Linux among them. The OS kernel requires the user process memory space to be directly addressable by the kernel in favor of performance, so the 2^32 address space is split between the kernel and a user space process. ...


1

The operating system will not use more memory than it can handle in its allocation table. Since the maximum number of bytes that can be represented with 32 bits is 4 294 967 296, that limits the memory to 4GB. On 64 bit systems, the maximum would therefore be 18 446 744 073 709 551 616 bytes (16 777 216 TB) which will obviously not be an issue for ...


2

According to the man page: Linux supports PTHREAD_SCOPE_SYSTEM, but not PTHREAD_SCOPE_PROCESS And if you take a look at the glibc's implementation: 0034 /* Catch invalid values. */ 0035 switch (scope) 0036 { 0037 case PTHREAD_SCOPE_SYSTEM: 0038 iattr->flags &= ~ATTR_FLAG_SCOPEPROCESS; 0039 break; 0040 0041 case ...



Top 50 recent answers are included