12-05-2009
How to implement a system call in linux?
I encountered a variety of difficulties when implementing a system call as simple as HelloWorld example in Linux so far.
Firstly, according to the book "Linux Kernel Development Second Edition", I tried to implement a syscall in 2.6.31 but no way absolutely because 2.6.10 has a very different way to deal with it by comparison to 2.6.31. In fedora 4(2.6.11) I tried to compile the new kernel versions 2.6.10 or 2.6.11 but failed with unexpected errors. Even "make menuconfig" fails to work in this case.
Secondly, I tried to get help from the example from "http://tldp.org/HOWTO/html_single/Implement-Sys-Call-Linux-2.6-i386/" but still not work. Even the compilation of new kernel 2.6.17 in Ubuntu 6.10(exact 2.6.17) fails to add a syscall.
Last I also got no help from the example "http://www.imada.sdu.dk/~daniel/DM510/assignment1/system-call.html" which indicates how to implement a syscall in recent 2.6.28. But the error always take place when compiling the source with new system call modification on source:
arch/x86/built-in.o: In function `sys_call_table':
(.rodata+0x724): undefined reference to `sys_hellokernel'
make: *** [.tmp_vmlinux1] Error 1
Now can somebody give me a detailed step-by-step howto example to implement a syscall in linux?
Thank you!
9 More Discussions You Might Find Interesting
1. Linux
Hi Everyone!
How can we make a socket() system call from a linux module executing in kernel space?
If any one knows, kindly tell me. It will be great.
I want to use the socket interface in linux kernel space for sending raw packets over the network.
Hamayun (0 Replies)
Discussion started by: mian_m_hamayun
0 Replies
2. UNIX for Advanced & Expert Users
Hi,
Ho do I differentiate system call from library call?
for example if I am using chmod , how do I find out if it is a system call or library call?
Thanks
Muru (2 Replies)
Discussion started by: muru
2 Replies
3. UNIX for Advanced & Expert Users
Hi,
I would like o implement a kernel call, but I don't know how to do it. Where can I find an example?
I've already look to minix source code, but I'm still confused and not very comfortable to mess with the code at this level.
Thanks, (1 Reply)
Discussion started by: pedrosacosta
1 Replies
4. Programming
How the c compiler differentiates the system calls and function calls? (1 Reply)
Discussion started by: rangaswamy
1 Replies
5. UNIX for Advanced & Expert Users
Greetings,
Please help me with the following :
Where can I find what means exactly and how to use each of the second
argument of the ioctl() system call in Linux/386 : FIOxxx (file IOCTL
requests), SIOxxx (socket IOCTL requests), TCxxx TIOxxx (terminal
IOCTL requests) ?
... (1 Reply)
Discussion started by: aigoia
1 Replies
6. Shell Programming and Scripting
Hi,
How to write a system calls in a script ?
> cd $HOME
> ls -ltr
thanks in advance.. (10 Replies)
Discussion started by: hegdeshashi
10 Replies
7. Ubuntu
Hi,
I need to override ioctl operation for a few USB drivers (sierra, option, cdc-acm) on Linux Ubuntu 2.6.34sb2 to support TIOCOUTQ command.
Unfortunately, none of the drivers I mentioned above support TIOCOUTQ because it seems unclear to know amount of data inside a modem.
Does Linux... (12 Replies)
Discussion started by: SDoroshenko
12 Replies
8. Shell Programming and Scripting
Trying to figure out a load issue with a webserver. I have traced a php script and noticed the following
connect(4, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000035>
poll(, 1, 2000) = 1 () <0.000120>... (5 Replies)
Discussion started by: rajan007
5 Replies
9. IP Networking
Hello. I want to Communicate 2 VLAN with router like this solution:
http://8pic.ir/images/83m0ouih8mmm9s1sfl56.jpg
For this purpose I'm configuring 2 Linux system as a switch and connect 4 host to them. Then a router is added to scenario.
The configuration of the switches is:
On DUT1(Linux):... (1 Reply)
Discussion started by: zsn
1 Replies
LEARN ABOUT ULTRIX
fsck.cramfs
FSCK.CRAMFS(8) System Administration FSCK.CRAMFS(8)
NAME
fsck.cramfs - fsck compressed ROM file system
SYNOPSIS
fsck.cramfs [options] file
DESCRIPTION
fsck.cramfs is used to check the cramfs file system.
OPTIONS
-v, --verbose
Enable verbose messaging.
-b, --blocksize blocksize
Use this blocksize, defaults to page size. Must be equal to what was set at creation time. Only used for --extract.
--extract[=directory]
Test to uncompress the whole file system. Optionally extract contents of the file to directory.
-a This option is silently ignored.
-y This option is silently ignored.
-V, --version
Display version information and exit.
-h, --help
Display help text and exit.
EXIT STATUS
0 success
4 file system was left uncorrected
8 operation error, such as unable to allocate memory
16 usage information was printed
SEE ALSO
mount(8), mkfs.cramfs(8)
AVAILABILITY
The example command is part of the util-linux package and is available from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils
/util-linux/>.
util-linux April 2013 FSCK.CRAMFS(8)