-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathHACKING
More file actions
65 lines (42 loc) · 2.02 KB
/
HACKING
File metadata and controls
65 lines (42 loc) · 2.02 KB
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
Patches
=======
If you have made changes to the source and would like to send these changes
to us, you can use git format-patch to create patches:
1) Run git log to get the patch hash of the latest patch you do _not_ want to
send:
$ git log --pretty=oneline
ff5700b293015ddfb269838f1f74abb586c199c5 configsource: more LOG() calls
cdc6f87e51d4443c774f83a4be0168d06a7927c1 postconf: use fw_system_interactive()
1634dda91f6ecdd0ea22eff6fa3a5874b0a81f59 partdisk: use fw_system_interactive()
If you want to send the first, two, then run:
$ git format-patch 1634dda91f6ecdd0ea22eff6fa3a5874b0a81f59..
And just subscribe to the frugalware-devel@frugalware.org mailing list and send
the created patches to us.
Testing changes
===============
When you make a change, PLEASE test it by building the initrd + kernel then
creating an ISO with mkiso, or using a network boot server. This is a core
part of Frugalware we're talking about here, if it's broken, then it can
render Frugalware uninstallable.
A few common commandlines:
qemu -hda frugalware-0.8-i686-usb.img -hdb ~/documents/qemu/hda.img
to test the usb image.
qemu -hda ~/documents/qemu/hda.img -fda frugalware-0.8-i686-tftp.img -boot a -tftp ~/git/current/boot/
to test the tftp image.
Quick build
===========
Quick build means that once you built everything, and changed only the setup
code itself and you would like to test it. Building the initrd from scratch is
rather slow. We have three targets to prevent this problem:
# make initrd - this builds setup and updates the uncompressed initrd
$ make qemu - boots the brand new initrd
(example when using custom parameters: $ make qemu QEMU="qemu -vnc :1")
or
$ make uml - boots the brand new initrd
External commands
=================
Don't use system(). There are two wrapper functions:
fw_system() is for non-interactive commands, their output is logged.
fw_system_interactive() is for interactive commands, their path+args and return
code are logged, but not their output. Ideally git-grep '[^_]system(' should
return almost nothing.