Commit Graph

348 Commits

Author SHA1 Message Date
044cfefe65 Generate HTML via make4ht (#20)
This patch generates HTML files with "make4ht" in the "html" directory.

Known issues with "make4ht":
Running "make4ht -suf html5 -d html lkmpg.tex" will cause the following
flaws:
1. The layout was unsatisfying.
2. After parsing TeX, it stoped at "\tableofcontents" with errors.
3. Several unneeded files were generated.
4. No way to specify the destination filename for HTML generation.

Solutions/workaround:
1. Use customized configuration file "html.cfg" to specify the layout style.
2. Turn off the \tableofcontents section when using make4ht. However, this
    results in the lack of table of contents in HTML. It can be fixed by
    appending "\Configure{tableofcontents*}{chapter,section,subsection}"
    to configuration file.
3. The build system removes the temporary files.
4. Use a symbolic link "index.html" to "lkmpg.html".
2021-08-02 02:42:39 +08:00
d097d0c472 Add package xparse (#31)
The package xparse should be included since
\NewDocumentCommand is part of it
2021-08-02 02:24:09 +08:00
4639ca1b26 Remove out-of-date versioing scheme 2021-08-01 22:41:28 +08:00
fd80247ec8 Merge pull request #29 from ekangmonyet/master
Delete existing release asset before releasing
2021-08-01 22:21:42 +08:00
7ee66c559f Delete existing release asset before releasing
Use mknejp/delete-release-assets to delete existing asset.
This approach might not be optimal if softprops/action-gh-release
supports upserting [1].

[1] https://github.com/softprops/action-gh-release/pull/134
2021-08-01 21:05:47 +08:00
0fce98f6d2 Dockerized PDF deployment in GitHub Actions (#28)
Add a new GitHub Action to build and release the PDF file after every
push to master.  Use texlive/texlive docker image for the sake of
reproducibility in preparation for future build tools like make4ht .

Progress #27 - Reproducible TeX build environment using Docker
2021-08-01 19:39:12 +08:00
6026699a40 Tidy section: Character Device drivers 2021-08-01 16:21:01 +08:00
4257b6ddcb Tidy section: Preliminaries 2021-08-01 15:03:49 +08:00
09bde29531 Zircon kernel was formerly called Magenta
The renaming appeared in 2017.
2021-08-01 14:15:59 +08:00
a949659e53 Merge pull request #24 from fennecJ/patch
Fix grammar
2021-07-31 23:39:03 +08:00
5d2f428cff Fix grammar 2021-07-31 23:19:44 +08:00
50e9d9176f chardev: Revise comment on device node (#23)
The device file create in this example is "chardev". 
So input command "sudo cat /dev/chardev" will get a valid message
"I already told you %d times Hello world!"
2021-07-31 23:03:16 +08:00
a4af7b5e5a Fix dead link (#21) 2021-07-30 14:47:22 +08:00
377ec93a05 Add information for contributing 2021-07-30 13:45:58 +08:00
b50323330c Merge pull request #19 from fennecJ/master
Fix typo
2021-07-30 00:40:58 +08:00
69b40b7bda Fix typo 2021-07-29 19:52:22 +08:00
c7a7a667cf Avoid strlen by assigning explicit length of string for proc_read (#18)
Since the address of buffer is userspace address, it may trigger an unexpected fault on strlen(buffer).

On Ubuntu 20.04.2 LTS ( 5.8.0-63-generic ), using strlen(buffer) will result in the following:
[ 2168.010930] /proc/buffer1k created
[ 2177.014347] BUG: unable to handle page fault for address: 00007fbbc2a17000
[ 2177.014355] #PF: supervisor read access in kernel mode
[ 2177.014358] #PF: error_code(0x0000) - not-present page
[ 2177.014361] PGD 80000003c61d0067 P4D 80000003c61d0067 PUD 3ee6c5067 PMD 40e1ff067 PTE 0
[ 2177.014369] Oops: 0000 [#1] SMP PTI
[ 2177.014376] CPU: 7 PID: 4750 Comm: cat Tainted: P        W  OE     5.8.0-63-generic #71~20.04.1-Ubuntu

[ 2177.014387] RIP: 0010:procfile_read+0xb/0x20 [procfs2]
[ 2177.014393] Code: Unable to access opcode bytes at RIP 0xffffffffc1253fe1.
[ 2177.014396] RSP: 0018:ffffbc84412cbe78 EFLAGS: 00010286
[ 2177.014400] RAX: ffffffffc1254000 RBX: 0000000000020000 RCX: ffffbc84412cbef0
[ 2177.014403] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: ffffa057d2708f00
[ 2177.014406] RBP: ffffbc84412cbe80 R08: 0000000000000001 R09: 0000000000000000
[ 2177.014409] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0581de8ccc0
[ 2177.014411] R13: ffffa057d2708f00 R14: ffffbc84412cbef0 R15: 00007fbbc2a17000
[ 2177.014415] FS:  00007fbbc3bfa580(0000) GS:ffffa0582dbc0000(0000) knlGS:0000000000000000
[ 2177.014418] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2177.014421] CR2: ffffffffc1253fe1 CR3: 00000003c611c004 CR4: 00000000003606e0
[ 2177.014424] Call Trace:
[ 2177.014435]  proc_reg_read+0x66/0x90
[ 2177.014441]  vfs_read+0xaa/0x190
[ 2177.014446]  ksys_read+0x67/0xe0
[ 2177.014451]  __x64_sys_read+0x1a/0x20
[ 2177.014458]  do_syscall_64+0x49/0xc0
[ 2177.014464]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 2177.014467] RIP: 0033:0x7fbbc3b18142
[ 2177.014472] Code: c0 e9 c2 fe ff ff 50 48 8d 3d 3a ca 0a 00 e8 f5 19 02 00 0f 1f 44 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 0f 05 <48> 3d 00 f0 ff ff 77 56 c3 0f 1f 44 00 00 48 83 ec 28 48 89 54 24
[ 2177.014476] RSP: 002b:00007ffcf2d20d78 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
[ 2177.014479] RAX: ffffffffffffffda RBX: 0000000000020000 RCX: 00007fbbc3b18142
[ 2177.014482] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: 0000000000000003
[ 2177.014485] RBP: 00007fbbc2a17000 R08: 00007fbbc2a16010 R09: 0000000000000000
[ 2177.014487] R10: 0000000000000022 R11: 0000000000000246 R12: 0000560f8ff081f0
[ 2177.014490] R13: 0000000000000003 R14: 0000000000020000 R15: 0000000000020000

[ 2177.014635] CR2: 00007fbbc2a17000
[ 2177.014639] ---[ end trace b71ff05c1b0a10f6 ]---
[ 2177.184174] RIP: 0010:procfile_read+0xb/0x20 [procfs2]
[ 2177.184176] Code: Unable to access opcode bytes at RIP 0xffffffffc1253fe1.
[ 2177.184177] RSP: 0018:ffffbc84412cbe78 EFLAGS: 00010286
[ 2177.184178] RAX: ffffffffc1254000 RBX: 0000000000020000 RCX: ffffbc84412cbef0
[ 2177.184179] RDX: 0000000000020000 RSI: 00007fbbc2a17000 RDI: ffffa057d2708f00
[ 2177.184180] RBP: ffffbc84412cbe80 R08: 0000000000000001 R09: 0000000000000000
[ 2177.184180] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0581de8ccc0
[ 2177.184181] R13: ffffa057d2708f00 R14: ffffbc84412cbef0 R15: 00007fbbc2a17000
[ 2177.184182] FS:  00007fbbc3bfa580(0000) GS:ffffa0582dbc0000(0000) knlGS:0000000000000000
[ 2177.184182] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2177.184183] CR2: ffffffffc1253fe1 CR3: 00000003c611c004 CR4: 00000000003606e0
2021-07-29 16:10:52 +08:00
a82cf74c15 Open Software License is not popular. Explicitly refer to OSI 2021-07-27 10:10:16 +08:00
d0f604fc26 Use unified command prompt (#11)
This patch enforces the assumption of using as a non-root user. That is,
it is necessary to specify sudo for the essential commands such as
insmod and rmmod. In addition, most command prompts should start with
$ (dollar sign).
2021-07-26 13:10:34 +08:00
cb5ae95673 Merge pull request #12 from 25077667/style-tweaks
Fix trivial tweak for missing comma
2021-07-26 03:18:06 +08:00
00f7e7018f Fix trivial tweak for missing comma 2021-07-26 03:08:27 +08:00
65a8c123e4 Tidy section: hello world 2021-07-26 01:46:26 +08:00
ddcbb69fa3 Trivial fix for writing style 2021-07-24 09:14:46 +08:00
1e3c1b8a76 Apply trivial tweak 2021-07-23 14:36:26 +08:00
40ae17c1f8 Merge pull request #2 from 25077667/master
Redraw figure: seq_file
2021-07-23 14:33:30 +08:00
78ca9884de Merge pull request #3 from ekangmonyet/minor-fixes
Typo at 0.7.3 Manage /proc file with seq_file
2021-07-23 14:31:18 +08:00
75356dbe43 Tidy section: hello world 2021-07-23 14:30:09 +08:00
9b05bf44dd Tweak wording 2021-07-23 14:05:52 +08:00
58e55d03d0 Tidy section: headers 2021-07-23 14:02:27 +08:00
f7f46f145d Tidy section: introduction 2021-07-23 13:56:51 +08:00
121d816282 Typo at 0.7.3 Manage /proc file with seq_file 2021-07-23 11:07:17 +08:00
245ac0298e Use TikZ to re-draw seq_file graph 2021-07-23 02:10:57 +08:00
35ac926de5 Remove unused packages 2021-07-22 20:47:48 +08:00
faf3aa7c22 Make each source file more consistent
It is vital to denote the file name and summary for each source,
otherwise readers could not figure out the corresponding files.
2021-07-22 11:25:32 +08:00
1c93f2f5ef Shorten sample code 2021-07-22 10:55:14 +08:00
52dfb6744d Use American English words 2021-07-22 10:54:24 +08:00
2e30e181f8 Drop duplicated copyright notice 2021-07-22 10:53:45 +08:00
b76e5d378e Reduce header inclusion 2021-07-22 10:31:24 +08:00
08e7b6efc3 Emphasize on 5.x kernel 2021-07-22 08:31:47 +08:00
60856826f0 Exclude the files generated by Linux kernel build system 2021-07-22 08:09:20 +08:00
d8812d2d9a Revise the authorship 2021-07-22 07:39:35 +08:00
675c002b15 Remove linux-2.6 specific checks 2021-07-22 07:33:27 +08:00
760bbe70cb Drop duplicated module author information 2021-07-22 07:29:07 +08:00
64f791f274 Improve the compatibility with kernel version < 5.6 2021-07-22 07:17:31 +08:00
50b8dfe6c2 Enforce the customized style for example code
Instead of using tab for indention, the style defaults to 4 spaces for
the sake of compact layout.
2021-07-22 06:58:13 +08:00
936d82fad7 Emphasize on the license terms 2021-07-22 06:39:22 +08:00
2246e20809 Add LaTeX script and sample code 2021-07-22 06:35:24 +08:00
826b45b3d9 Initial import 2021-07-22 06:34:19 +08:00