Skip to content

Commit 51c935a

Browse files
author
server
committed
2025 04 27 | Sun Apr 27 12:40:00 AM UTC 2025 | automatic backup
1 parent 9b78162 commit 51c935a

14 files changed

+186
-134
lines changed

About.mw

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,17 +309,23 @@ While developed with security-focused design goals, {{project_name_short}} remai
309309

310310
! scope="row"| Debian Usability Fixes
311311
|
312+
* Better download and instalation instructions.
313+
* Better usability installer. Uses Calamares by default. <ref>
314+
Debian default download link uses D-I.
315+
316+
Debian Live uses Calamares.
317+
</ref>
312318
* Functional default APT sources configuration. <ref>
313319
Debian comes with a broken <code>/etc/apt/sources.list</code> file by default.
314320

315321
* Debian default <code>/etc/apt/sources.list</code> comes with a broken <code>deb cd-rom:</code> line.
316322
* Debian default <code>/etc/apt/sources.list</code> comes with <code>http</code> instead of <code>https</code> by default.
317323
* Debian default <code>/etc/apt/sources.list</code> has only the <code>debian-security</code> repository enabled by default but not the <code>debian</code> repository. As a result, no packages are installable until the user figures out how to add that line to APT sources.
318324

319-
When using Debian Installer (not Calamares), installing while not using a network mirror, Debian default <code>/etc/apt/sources.list</code> comes empty except fora broken <code>deb cd-rom:</code> line.
325+
When using Debian Installer (D-I) (not Calamares), installing while not using a network mirror, Debian default <code>/etc/apt/sources.list</code> comes empty except for a broken <code>deb cd-rom:</code> line.
320326
</ref>
321327
* <code>sudo</code> pre-configured by default. <ref>
322-
On Debian, the user must run after a new installation <code>su</code> followed by <code>/usr/bin/adduser user sudo</code> and reboot (or re-login) to be able to user <code>sudo</code>.
328+
On Debian, when installing using D-I (Debian Installer), when setting a root password during installation, the user must run after a new installation <code>su</code> followed by <code>/usr/bin/adduser user sudo</code> and reboot (or re-login) to be able to user <code>sudo</code>.
323329
</ref>
324330
* <code>bash-completion</code> installed by default so for example by typing <code>sudo apt install libreo</code> followed by the TAB key a word completion to <code>libreoffice</code> will be suggested.
325331
* <code>zsh</code> installed as default shell that supports TAB word completion, colorful output, etc.
@@ -330,7 +336,9 @@ On Debian, the user must run after a new installation <code>su</code> followed b
330336
* Package [https://github.com/{{project_name_short}}/vm-config-dist shared folder help] simplifies shared folder set up for virtual machines. <ref>
331337
It currently only assists with using shared folders in VirtualBox. Other virtualizers -- such as KVM shared folder setup -- might be possible in the future.
332338
</ref>
333-
* Package [https://github.com/{{project_name_short}}/usability-misc usabilty-misc] is installed by default, increasing flexibility and providing numerous, miscellaneous usability features. <ref>Such as creating default folders, allowing commands to be run without a password, simplifying the running of OpenVPN as an unpriveleged user, and much more.</ref>
339+
* Package [https://github.com/{{project_name_short}}/usability-misc usabilty-misc] is installed by default, increasing flexibility and providing numerous, miscellaneous usability features. <ref>
340+
Such as creating default folders, allowing commands to be run without a password, simplifying the running of OpenVPN as an unpriveleged user, and much more.
341+
</ref>
334342
|-
335343

336344
! scope="row"| Popular applications

Boot_Clock_Randomization.mw

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,29 @@ Randomizes clock at boot time. Moves clock a few seconds and nanoseconds to past
1717
{{mbox
1818
| type = notice
1919
| image = [[File:Ambox_notice.png|40px|alt=Info]]
20-
| text = Disabling of Boot Clock Randomization is discouraged because it is not usually required. However, it may be useful for offline (vault) VMs.
20+
| text = Disabling Boot Clock Randomization is discouraged because it is not usually required. However, it may be useful for offline (vault) VMs.
2121
}}
2222

23-
Run the following command. Note:
23+
'''1.''' Platform specific notice.
2424

2525
* Qubes: Use a StandaloneVM or a separate Template.
2626
* Non-Qubes: No extra steps are required.
2727

28+
'''2.''' {{Open a product ws terminal}}
29+
30+
'''3.''' Disable Boot Clock Randomization.
31+
32+
Run the following command.
33+
2834
{{CodeSelect|code=
2935
sudo systemctl mask bootclockrandomization
3036
}}
3137

32-
Boot Clock Randomization will no longer occur after reboot.
38+
Boot Clock Randomization will no longer be applied after reboot.
39+
40+
'''4.''' Optional. Consider disabling [[sdwdate]].
41+
42+
The user might also be interested in disabling [[Sdwdate#Disable_Autostart|Disable sdwdate Autostart]].
3343

3444
= See Also =
3545
* [[Dev/TimeSync|TimeSync: {{project_name_long}} Time Synchronization Mechanism]]

Design.mw

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ Technical Design and Conception of {{project_name_short}}
6565
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
6666
<small>
6767
* [[Dev/Developer_Portal|Developer Portal]]
68+
* [[First_Time_Source_Code_Contributor_Policy|First-Time Source Code Contributor Policy]]
6869
* [[Dev/image_creation|Development of System Image Creation and Bootstrapping Tools]]
6970
* [[Dev/git|Git branches]]
7071
* [[Dev/repository|Debian APT Repository on the Blockchain?]]

Dev%2FDefault_Browser.mw

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,15 @@ Cons:
10741074
* Still in early development, not generally usable and very likely has security issues in its current state of development.
10751075
* May be usable in the future, once mature and packaged for Debian. Will likely require multiple years more development before it is secure and usable.
10761076

1077+
== Orion Browser ==
1078+
* Orion Browser by Kagi
1079+
* https://kagi.com/orion/
1080+
* not Open Source at time of writing:
1081+
** https://help.kagi.com/orion/faq/faq.html#oss
1082+
** https://orionfeedback.org/d/3882-open-source-the-browser
1083+
** https://orionfeedback.org/d/3882-open-source-the-browser/42
1084+
* https://youtube.com/watch?v=oyF21g5YI1o
1085+
10771086
== Customized Settings Projects ==
10781087
There are a number of projects that provide customized settings for Firefox. It is unlikely that most of these projects will be useful to Kicksecure, since they may enable settings that are potentially dangerous or disable settings that users need enabled, thus adding extra risk and support burden to the project. They are listed together here since they are not really web browsers, simply different ways of configuring existing browsers.
10791088

Dev%2FDeveloper_Portal.mw

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
1010
<small>
1111
* <u><b>[[Contribute| Contribute]]
12+
* [[First_Time_Source_Code_Contributor_Policy|First-Time Source Code Contributor Policy]]
1213
* [https://forums.{{project_clearnet}}/c/development Development Forum]
1314
</b></u>
1415
* [[Dev/git|Introduction into {{project_name_short}} simple git branch model]]

Dev%2Fboot.mw

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,40 @@ Boot Process Related Development Notes
1717
* See also [[Verified Boot]] chapter [[Verified_Boot#Keys|Keys]].
1818

1919
= GRUB =
20+
== GRUB Slow Upstream ==
21+
{{quotation
22+
|quote=We all know and love GRUB2. It is a good boot loader. It is also big, complex, rich, massive and tends to move slow on the development side.
23+
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
24+
}}
25+
26+
{{quotation
27+
|quote=The openSUSE package for this boot loader contains more than 200 patches. Some of those patches are there for the last 5, 6 … 10 years. That is both an indication of the talent of the maintainers, but also can signal an issue in how slow the upstream contribution process can be.
28+
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
29+
}}
30+
31+
== GRUB Feature Richness ==
32+
{{quotation
33+
|quote=GRUB2 supports all the relevant systems, including mainframes, arm or powerpc. Multiple types of file systems, including btrfs or NTFS. It contains a full network stack, an USB stack, a terminal, can be scripted … In some sense, it is almost a mini OS by itself.
34+
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
35+
}}
36+
37+
== GRUB Full Disk Encryption ==
38+
{{quotation
39+
|quote=Kicksecure doesn’t use GRUB to unlock encrypted disks. This is because we use Debian’s GRUB, and Debian’s GRUB only has very bad LUKS support (only supports LUKS1, can’t handle non-US keyboard layouts, ugly, slow, only gives you one shot to unlock the drive, and then the Linux kernel has to unlock the drive again once it boots). Instead, we use an unencrypted /boot partition and let the initramfs handle decrypt. This lets us use more secure encryption, provides a better user interface for decryption, works with multiple keyboard layouts, and works faster.
40+
|context=https://forums.kicksecure.com/t/installing-fde-luks-with-detached-luks-header-option/907/2
41+
}}
42+
43+
See also:
44+
45+
* [https://forums.kicksecure.com/t/iso-change-to-unencrypted-boot-if-using-full-disk-encryption/420 ISO: Change to unencrypted /boot if using Full Disk Encryption]
46+
47+
== GRUB Upstream Contributions ==
48+
* [https://lists.gnu.org/archive/html/grub-devel/2025-04/msg00000.html Determining when paging is and isn't enabled in GRUB]
49+
* [https://lists.gnu.org/archive/html/grub-devel/2025-04/msg00050.html DRAFT PATCH 0/1 - Add Xen command line parsing]
50+
* [https://lists.gnu.org/archive/html/grub-devel/2025-04/msg00051.html DRAFT PATCH 1/1 - Add Xen command line parsing]
51+
* [https://lists.gnu.org/archive/html/grub-devel/2025-04/msg00247.html PATCH 0/1 - Add Xen command line parsing]
52+
* [https://lists.gnu.org/archive/html/grub-devel/2025-04/msg00248.html PATCH 1/1 - Add Xen command line parsing]
53+
2054
== grub-install command responsibility ==
2155

2256
Who should run the <code>grub-install</code> command? SystemBuildTools or Debian package maintainer scripts?
@@ -119,7 +153,7 @@ Related Debian pull requests:
119153
=== grub-efi and grub-pc ===
120154
* Debian for grub-pc with grub-efi co-install-ability feature request: [https://bugs-devel.debian.org/cgi-bin/bugreport.cgi?bug=904062 Allow concurrent installation of grub-pc and grub-efi-amd64]
121155

122-
== Bootloader-related Kicksecure and Whonix packages ==
156+
= Bootloader-related Kicksecure and Whonix packages =
123157
The following packages directly affect the bootloader or bootloader configuration used by Kicksecure.
124158

125159
=== live-config-dist ===
@@ -226,34 +260,6 @@ derivative-maker sets a custom GRUB configuration for Kicksecure live ISOs. This
226260
* live-theme/theme.txt
227261
** Provides dynamic parts of the GRUB theme. Specifies the colors and positions of UI elements, and includes a progress bar indicating how much time the user has to react before GRUB automatically boots the first boot mode listed in the ISO's boot menu.
228262

229-
= GRUB Upstream =
230-
== GRUB Slow Upstream ==
231-
{{quotation
232-
|quote=We all know and love GRUB2. It is a good boot loader. It is also big, complex, rich, massive and tends to move slow on the development side.
233-
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
234-
}}
235-
236-
{{quotation
237-
|quote=The openSUSE package for this boot loader contains more than 200 patches. Some of those patches are there for the last 5, 6 … 10 years. That is both an indication of the talent of the maintainers, but also can signal an issue in how slow the upstream contribution process can be.
238-
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
239-
}}
240-
241-
== GRUB Feature Richness ==
242-
{{quotation
243-
|quote=GRUB2 supports all the relevant systems, including mainframes, arm or powerpc. Multiple types of file systems, including btrfs or NTFS. It contains a full network stack, an USB stack, a terminal, can be scripted … In some sense, it is almost a mini OS by itself.
244-
|context=openSUSE blog post [https://news.opensuse.org/2023/12/20/systemd-fde/ Systemd-boot and Full Disk Encryption in Tumbleweed and MicroOS] talking about their motivation to add support for systemd-boot
245-
}}
246-
247-
== GRUB Full Disk Encryption ==
248-
{{quotation
249-
|quote=Kicksecure doesn’t use GRUB to unlock encrypted disks. This is because we use Debian’s GRUB, and Debian’s GRUB only has very bad LUKS support (only supports LUKS1, can’t handle non-US keyboard layouts, ugly, slow, only gives you one shot to unlock the drive, and then the Linux kernel has to unlock the drive again once it boots). Instead, we use an unencrypted /boot partition and let the initramfs handle decrypt. This lets us use more secure encryption, provides a better user interface for decryption, works with multiple keyboard layouts, and works faster.
250-
|context=https://forums.kicksecure.com/t/installing-fde-luks-with-detached-luks-header-option/907/2
251-
}}
252-
253-
See also:
254-
255-
* [https://forums.kicksecure.com/t/iso-change-to-unencrypted-boot-if-using-full-disk-encryption/420 ISO: Change to unencrypted /boot if using Full Disk Encryption]
256-
257263
= Calamares =
258264
* [https://github.com/calamares/calamares/pull/2422 Prototype implementation of BIOS+UEFI boot support]
259265

Dev%2Ftodo.mw

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ TODO
1616
== grub - secure boot signed fonts ==
1717
* discuss upstream, file feature request
1818

19+
== wiki editing - First-Time Source Code Contributor Policy ==
20+
* [[First_Time_Source_Code_Contributor_Policy|First-Time Source Code Contributor Policy]]
21+
* please review, improve, if applicable
22+
23+
== publish debian live-build security comment ==
24+
* past private report, time to publish, if sensible
25+
1926
== dracut - hostonly yes versus no ==
2027
* after above task... should Kicksecure images (in trixie) use a different hostonly mode?
2128

@@ -689,15 +696,6 @@ debsums: changed file /etc/machine-id (from dist-base-files package) - issue for
689696
* Note that the use of apt-get in the binary stage appears to be very baked into live-build's logic. It's pretty unlikely this will change.
690697

691698
= REVIEW PLEASE =
692-
== grub skin - change text ==
693-
* Please change from <code>Choose an operating system to start</code> to <code>Choose boot mode</code>.
694-
** Done:
695-
*** anon-gw-base-files: https://github.com/ArrayBolt3/anon-gw-base-files/tree/arrabolt3/grub-theme
696-
*** anon-ws-base-files: https://github.com/ArrayBolt3/anon-ws-base-files/tree/arrabolt3/grub-theme
697-
*** kicksecure-base-files: https://github.com/ArrayBolt3/kicksecure-base-files/tree/arrabolt3/grub-theme
698-
* Ideally, that text would no longer be hardcoded but if it's a high effort or impossible, can hardcoded.
699-
** Done without hardcoding.
700-
701699
== review and test IPv6 support pull requests ==
702700
* https://forums.whonix.org/t/add-ipv6-support/19893
703701
* https://www.whonix.org/wiki/Dev/ipv6
@@ -718,6 +716,15 @@ debsums: changed file /etc/machine-id (from dist-base-files package) - issue for
718716
* Aaron: Left Daniel some feedback on things that didn't work. If not fixed in a week (so around April 4th), our plan is to merge as-is and fix bugs after.
719717

720718
= ARCHIVED =
719+
== grub skin - change text ==
720+
* Please change from <code>Choose an operating system to start</code> to <code>Choose boot mode</code>.
721+
** Done:
722+
*** anon-gw-base-files: https://github.com/ArrayBolt3/anon-gw-base-files/tree/arrabolt3/grub-theme
723+
*** anon-ws-base-files: https://github.com/ArrayBolt3/anon-ws-base-files/tree/arrabolt3/grub-theme
724+
*** kicksecure-base-files: https://github.com/ArrayBolt3/kicksecure-base-files/tree/arrabolt3/grub-theme
725+
* Ideally, that text would no longer be hardcoded but if it's a high effort or impossible, can hardcoded.
726+
** Done without hardcoding.
727+
721728
== sysmaint-panel - add repository-dist-wizard ==
722729
* todo
723730
* Implemented: https://github.com/ArrayBolt3/sysmaint-panel/commit/b376aea4a312fcbb83f2dd1801c8081b1575cb6b

Dev%2Fuser-sysmaint-split.mw

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,6 @@ This is documented on the [[unrestricted admin mode]] wiki page.
130130

131131
= Boot Modes Considered Too Unimportant to Be Added to GRUB Default Boot Menu =
132132

133-
'''Currently, we don’t have theoretical boot modes that haven't been implemented.'''
134-
135133
'''DIY Methods to Include Other Entries in the GRUB Boot Menu'''
136134

137135
{{IconSet|h2|A}} Files in the <code>/etc/grub.d/</code> folder could add entries, but they could be non-executable by default. To opt-in, users could run <code>sudo chmod +x /etc/grub.d/somenumber_name-of-boot-mode</code>.
@@ -349,6 +347,65 @@ Future work ideas:
349347
* '''Warning popups:'''
350348
** When starting Firefox in sysmaint mode, a popup could warn users to avoid browsing the internet unless absolutely necessary.
351349

350+
= Boot Menu Names and Ordering =
351+
=== Mode First Ordering ===
352+
Initial implementation.
353+
354+
<pre>
355+
PERSISTENT Mode | USER Session | For daily activities
356+
LIVE Mode | USER Session | For disposable use
357+
PERSISTENT Mode | SYSMAINT Session | For maintenance tasks
358+
LIVE Mode | SYSMAINT Session | For maintenance testing
359+
REMOVE sysmaint-user-split | Enable unrestricted admin mode
360+
</pre>
361+
362+
=== Session First Ordering ===
363+
364+
Potential future implementation based on user feedback.
365+
366+
<pre>
367+
USER Session | PERSISTENT Mode | For daily activities
368+
USER Session | LIVE Mode | For disposable use
369+
SYSMAINT Session | PERSISTENT Mode | For maintenance tasks
370+
SYSMAINT Session | LIVE Mode | For maintenance testing
371+
REMOVE sysmaint-user-split | Enable unrestricted admin mode
372+
</pre>
373+
374+
== Wiki ==
375+
=== BootEntries ===
376+
[[Template:BootEntries]]
377+
378+
{| class="wikitable"
379+
! Code
380+
! Result
381+
|-
382+
383+
| <code><nowiki>{{BootEntries|key=userpers}}</nowiki></code>
384+
| {{BootEntries|key=userpers}}
385+
|-
386+
387+
| <code><nowiki>{{BootEntries|key=userlive}}</nowiki></code>
388+
| {{BootEntries|key=userlive}}
389+
|-
390+
391+
| <code><nowiki>{{BootEntries|key=userpersad}}</nowiki></code>
392+
| {{BootEntries|key=userpersad}}
393+
|-
394+
395+
| <code><nowiki>{{BootEntries|key=syspers}}</nowiki></code>
396+
| {{BootEntries|key=syspers}}
397+
|-
398+
399+
| <code><nowiki>{{BootEntries|key=syslive}}</nowiki></code>
400+
| {{BootEntries|key=syslive}}
401+
|-
402+
403+
| <code><nowiki>{{BootEntries|key=sysremove}}</nowiki></code>
404+
| {{BootEntries|key=sysremove}}
405+
|-
406+
407+
|}
408+
352409
= Prior Versions =
353410

354411
[https://www.kicksecure.com/w/index.php?title=Dev/user-sysmaint-split&oldid=87353 Older concept version still containing "SUPERADMIN" and "SECUREADMIN".]

0 commit comments

Comments
 (0)