-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsteps
92 lines (75 loc) · 1.68 KB
/
steps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
(dependencies)
sudo apt-get install libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
sudo apt-get install lib32ncurses5-dev
sudo apt-get install gcc gdb bison flex
sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install libidn11-dev libidn11
sudo apt-get install zlibc minizip
sudo apt-get install build-essential openssl
sudo apt-get install libelf-dev
sudo gedit arch/x86/entry/syscalls/syscall_64.tbl
common first sys_first
common second sys_second
64 add sys_add
64 max sys_max
sudo gedit include/linux/syscalls.h
(before for __ARCH_WANT_SYS_IPC)
asmlinkage long sys_first(void);
asmlinkage long sys_second(int number);
(before #endif)
asmlinkage int sys_add(int a,int b);
asmlinkage int sys_max(int a,int b,int c);
sudo gedit kernel/sys.c
(before #endif)
SYSCALL_DEFINE0(first)
{
printk("Hello!\n");
return 0;
}
SYSCALL_DEFINE1(second, int, number)
{
printk("The number is %d\n", number);
return number;
}
(before #ifdef CONFIG_COMPAT)
SYSCALL_DEFINE2(add,int,a,int,b)
{
return a+b;
}
SYSCALL_DEFINE3(max,int,a,int,b,int,c)
{
if(a>=b)
{
if(a>=c)
return a;
else
return c;
}
else
{
if(b>=c)
return b;
else
return c;
}
}
sudo make mrproper
sudo make clean
sudo make menuconfig
(save&exit)
(edit .config)
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_REVOCATION_KEYS=""
sudo apt-get install dwarves
sudo make -j4
sudo make modules_install
sudo make install
update-grub2