Tiny Core Linux
dCore Import Debian Packages to Mountable SCE extensions => dCore X86 => Topic started by: nitram on January 26, 2016, 11:14:28 PM
-
Troubleshooting slow boot, process of elimination it's related to xorg-intel. Don't think it's an xorg-intel issue as system runs fine, just that it's large (65mb) and takes time to process. Tried installing xserver-xorg-video-intel from Debian, smaller (51mb) but failed to boot graphics. Looks like the xorg-* SCEs are custom for dCore. Questions, thanks:
- Should Debian drivers like xserver-xorg-video-* be flagged as blocked?
- sce-searchprebuilt doesn't list the xorg-* related dCore drivers, should these be listed?
-
Slow boot xorg-intel related. The original SCE is a 65mb whopper. Re-importing with Xprogs and graphics-3.16.6-tinycore dependencies still 64mb, so really no benefit. Unsquashed xorg-intel.sce, got delete happy, resquashed to only 30mb, reduced boot time by ~25 seconds! Really not practical as an automated update will re-build the extension. The diff exceeds the character limit so won't bother.
Granted some users may need some of this, noteable deletions include:
/lib/systemd/
/usr/include/
/usr/lib/gcc/
/usr/lib/i386-linux-gnu/gconv/
/usr/lib/i386-linux-gnu/perl/5.20/
/usr/lib/python2.7/
/usr/lib/python3/
/lib/xorg/modules/multimedia/
/usr/share/X11/locale/
/usr/share/bug/
/usr/share/doc-base/
/usr/share/dpkg/
/usr/share/gcc-4.9/
/usr/share/locale/
/usr/share/perl/5.20/
/usr/share/zoneinfo/
The largest culprits were :(
15mb /usr/lib/gcc/
5mb /usr/lib/i386-linux-gnu/gconv/
18mb /usr/share/locale/
31mb /usr/lib/i386-linux-gnu/libLLVM-3.5.so.1
Relatively new to dCore so don't fully understand how the SCEs work:
- not sure why gcc is included
- thought locale was not included by default
- system runs fine without the 31mb libLLVM-3.5.so.1.
(Modular compiler and toolchain technologies, whatever that is)
Has anyone developed a script to *strip* extensions during or after import? Might be fruitful to incorporate something like this in the import script but i have much to learn. Will probably dissect more extensions for comparison. Thanks.
-
For comparison, on dCore-trusty 'xorg-intel.sce' comes at a respectable 40 mB without being based on any other extension.
Maybe you want to include gcc and others in a base extension that most other extension depend upon?
-
Thanks for the feedback, i've only used dCore-jessie. 65mb -> 40mb is quite the difference. IMO every mb counts, difference between snappy boot and 'what's wrong with my system' or 'why is dCore slow'? Especially if the bloat adds no functionality. Could i get a rebuild of xorg-intel for dCore-jessie please? Makes a big difference in boot time, especially during testing, and would benefit others.
Been playing with other extensions, some are fairly lean and some not. Another good example is bsdgames-nonfree.sce. Original size 4.8mb, cursory optimization 1.69mb, huge difference. Game plays fine, just got rid of what appears to be bloat, diff:
--- bsdgames-nonfree.orig.list
+++ bsdgames-nonfree.trimmed.list
@@ -1,5 +1,5 @@
Parallel unsquashfs: Using 1 processor
-385 inodes (2642 blocks) to write
+121 inodes (980 blocks) to write
squashfs-root
squashfs-root/cfg
@@ -128,275 +128,6 @@
squashfs-root/usr/games
squashfs-root/usr/games/rogue
squashfs-root/usr/lib
-squashfs-root/usr/lib/gcc
-squashfs-root/usr/lib/gcc/i586-linux-gnu
-squashfs-root/usr/lib/gcc/i586-linux-gnu/4.9.2
-squashfs-root/usr/lib/i386-linux-gnu
-squashfs-root/usr/lib/i386-linux-gnu/audit
-squashfs-root/usr/lib/i386-linux-gnu/audit/sotruss-lib.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ANSI_X3.110.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ARMSCII-8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ASMO_449.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/BIG5.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/BIG5HKSCS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/BRF.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP10007.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1125.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1250.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1251.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1252.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1253.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1254.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1255.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1256.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1257.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP1258.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP737.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP770.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP771.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP772.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP773.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP774.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP775.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CP932.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CSN_369103.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/CWI.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/DEC-MCS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-AT-DE-A.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-AT-DE.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-CA-FR.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-DK-NO-A.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-DK-NO.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-ES-A.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-ES-S.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-ES.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-FI-SE-A.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-FI-SE.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-FR.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-IS-FRISS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-IT.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-PT.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-UK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EBCDIC-US.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ECMA-CYRILLIC.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-CN.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-JISX0213.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-JP-MS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-JP.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-KR.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/EUC-TW.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GB18030.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GBBIG5.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GBGBK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GBK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GEORGIAN-ACADEMY.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GEORGIAN-PS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GOST_19768-74.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GREEK-CCITT.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GREEK7-OLD.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/GREEK7.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/HP-GREEK8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/HP-ROMAN8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/HP-ROMAN9.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/HP-THAI8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/HP-TURKISH8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM037.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM038.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1004.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1008.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1008_420.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1025.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1026.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1046.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1047.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1097.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1112.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1122.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1123.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1124.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1129.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1130.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1132.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1133.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1137.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1140.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1141.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1142.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1143.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1144.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1145.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1146.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1147.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1148.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1149.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1153.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1154.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1155.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1156.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1157.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1158.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1160.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1161.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1162.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1163.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1164.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1166.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1167.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM12712.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1364.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1371.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1388.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1390.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM1399.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM16804.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM256.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM273.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM274.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM275.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM277.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM278.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM280.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM281.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM284.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM285.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM290.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM297.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM420.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM423.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM424.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM437.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM4517.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM4899.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM4909.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM4971.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM500.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM5347.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM803.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM850.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM851.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM852.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM855.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM856.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM857.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM860.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM861.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM862.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM863.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM864.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM865.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM866.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM866NAV.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM868.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM869.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM870.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM871.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM874.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM875.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM880.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM891.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM901.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM902.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM903.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM9030.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM904.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM905.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM9066.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM918.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM921.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM922.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM930.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM932.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM933.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM935.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM937.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM939.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM943.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IBM9448.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/IEC_P27-1.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/INIS-8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/INIS-CYRILLIC.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/INIS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISIRI-3342.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-2022-CN-EXT.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-2022-CN.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-2022-JP-3.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-2022-JP.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-2022-KR.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-IR-197.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO-IR-209.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO646.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-10.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-11.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-13.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-14.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-15.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-16.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-2.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-3.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-4.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-5.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-6.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-7.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-9.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO8859-9E.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_10367-BOX.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_11548-1.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_2033.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_5427-EXT.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_5427.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_5428.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_6937-2.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/ISO_6937.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/JOHAB.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/KOI-8.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/KOI8-R.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/KOI8-RU.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/KOI8-T.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/KOI8-U.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/LATIN-GREEK-1.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/LATIN-GREEK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MAC-CENTRALEUROPE.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MAC-IS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MAC-SAMI.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MAC-UK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MACINTOSH.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/MIK.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/NATS-DANO.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/NATS-SEFI.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/PT154.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/RK1048.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/SAMI-WS2.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/SHIFT_JISX0213.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/SJIS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/T.61.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/TCVN5712-1.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/TIS-620.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/TSCII.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/UHC.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/UNICODE.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/UTF-16.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/UTF-32.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/UTF-7.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/VISCII.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/gconv-modules
-squashfs-root/usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libCNS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libGB.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libISOIR165.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libJIS.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libJISX0213.so
-squashfs-root/usr/lib/i386-linux-gnu/gconv/libKSC.so
-squashfs-root/usr/lib/i386-linux-gnu/libform.so.5
-squashfs-root/usr/lib/i386-linux-gnu/libform.so.5.9
-squashfs-root/usr/lib/i386-linux-gnu/libmenu.so.5
-squashfs-root/usr/lib/i386-linux-gnu/libmenu.so.5.9
-squashfs-root/usr/lib/i386-linux-gnu/libpanel.so.5
-squashfs-root/usr/lib/i386-linux-gnu/libpanel.so.5.9
-squashfs-root/usr/lib/i386-linux-gnu/libtic.so.5
-squashfs-root/usr/lib/i386-linux-gnu/libtic.so.5.9
squashfs-root/usr/local
squashfs-root/usr/local/postinst
squashfs-root/usr/local/postinst/bsdgames-nonfree
Think there may be something to adding an optimize option to sce-import that would remove certain directories or large files before squashing, like locale/, gcc/ , likely i386-linux-gnu/ ... Maybe ask user if they want to remove any file flagged at >1-2 mb. Of course include warning may break extension, if so re-import without optimization option.
-
Here are two thoughts. One is if you make a custom sce, remove the files in /usr/local/sce/xorg-intel if the sce is xorg-intel, and then the custom extension will not be updated with sce-update.
Second, is we can have a "nolocale" type of option, the locales in my main 1.8GB sce weighs in at 118M, so getting near 10% space savings.
The xorg-* pacakges are meta collections of Debian package dependencies and not prebuilt, they just make it easy for new users to install a working xorg for their hardware. xorg-all is the meta package to install all drivers so one does not have to worry about what hardware they have.
-
For own use will opt to go with a custom SCE, as it's much leaner than simply removing /locale. Keeping xorg small made such a huge improvement in boot time. But in general i believe removing locale should be default behaviour, similar to how Tiny Core encourages splitting out /locale/ information. Anything to help keep the SCEs smaller. Maybe a KEEPLOCALE=FALSE default entry in sceconfig.
Still think it would be nice for other directories to be stripped by default, like /usr/lib/gcc/, /usr/lib/i386-linux-gnu/, /usr/share/dpkg/, /lib/systemd/, /usr/include/. For the most part, i would think there is minimal risk of breakage by removing some select known-not-to-be-required directories. Any thoughts on this or do you think it gets to complicated or problematic?
-
/usr/include, and /usr/lib/gcc I can see, the do save some MB in my large desktop sce. But /usr/lib/i386-linux-gnu contains a lot of libs and directories of other files that packages use. /usr/share/dpkg is only 12k of uncompressed files in my large 1.8G compressed sce.
I am open to letting us look into what can be left out by default for the average user. The libLLV* one is large and I can't find anything in my huge sce that needs it according to ldd.
-
Thanks for considering. Puppy Linux has a decent 'trim the fat' system (~2/3 way down): http://barryk.org/woof/ppm.htm. User can choose to trim, select locale(s) (instead of all or nothing), remove documentation files and remove development files. Don't think it needs to be this complicated, although the option to select locale(s) is really nice.
Agree removing /usr/include and /usr/lib/gcc would likely yield best results, plus removing the large libLLV* for xorg. Reviewed dCore-jessie file system and came up with a potential blocklist, although some items may provide almost no benefit. And i think default is already not to include /man and /doc stuff. Your large SCE would provide the best analysis of space saved.
/etc/apt/
/etc/cron.daily/
/etc/dpkg/
/etc/logrotate.d/
/etc/rc*.d/
/lib/systemd/
/usr/include/
/usr/lib/debug/
/usr/lib/gcc/
/usr/lib/i386-linux-gnu/libLLVM-3.5.so.1
/usr/share/X11/locale/
/usr/share/bug/
/usr/share/doc/
/usr/share/doc-base/
/usr/share/dpkg/
/usr/share/gcc-4.9/
/usr/share/locale/
/usr/share/man/
-
Quick test, took stock xorg-intel and removed /usr/include, /usr/lib/gcc, /usr/share/locale and /usr/lib/i386-linux-gnu/libLLVM-3.5.so.1. From 65mb down to 37mb with minimal effort and risk of breakage.
-
FWIW, my LFS system has the env var LINGUAS set to fi. This means any autotools-using package will only install that locale.
As it's standard behavior there, it would make sense to have a "keep only these locales" function.
-
hi curaga,
LINGUAS is used by gentoo, too.
https://wiki.gentoo.org/wiki/Localization/Guide#LINGUAS
do you see there a way to use this concept or something like localepurge in dcore?
https://packages.debian.org/jessie/localepurge
thank you for your ideas and help.
-
I have about a 3 or 4 line of code concept that can be part of sce-import to allow only keeping desired locales. Can keep 1, 10, or whatever, just list them in a config file and if found it will be used. I will make it and test it tomorrow.
As for excluding libraries and directories, that also can be done with a config file, if one wants to enter the unwanted large files or unneeded dirs then have at it, place it in the config file and it will be done. Those lists can then be tested and shared among users, I would much rather that than to try to add in a hard coded list of files and dirs in base or even on the server to be fetched to be constantly revised- except for the current default of deleting /usr/share/doc and /usr/share/man. So most documentation files are already trimmed, and development files are included in the -dev packages which are not installed by default.
I will try to put in place both tomorrow, I think it will be liked.
-
Thanks for making changes, didn't want to mess up the announcement thread.
You are running dCore-jessie:2016.01.30.02.04, the latest release candidate.
Only have a 'language' file, not 'locale.nopurge'. Also the file contains only 'LANG=C' without instructions. How would a user add additional languages (comma seperate, space, new line)? You mentioned somewhere 1-10 languages, was this literal? Could user choose to install all with a wildcard? LANG=C good for me, just trying to help get this figured out for other language users.
Also don't have an sce.purge file, so can't test proper, thanks.
PS - just tested new sce-remove and sce-update menus, much improved appearance and behaviour, no more confusion. Only thing is this line in sce-remove still needs to be changed to Enter: Choose SCE(s) to update check, can choose more than one, quit to proceed.
-
/etc/sysconfig/language is created by the boot code LANG=, it is not to be manually edited.
I meant adding 1 to 10 or more entries to /etc/sysconfig/locale.nopurge to keep, as in directories under /usr/share/locale that are not deleted by the tool.
I will be making an adjustment to sce-load and will include /etc/sysconfig/locale.nopurge.example and /etc/sysconfig/sce.purge so folks can see the format of the entries. But they can be created by the user and will be recognized by sce-import.
Ok, will fix the sce-remove thing.
-
Running latest RC, tested local.nopurge and sce.purge, everything appears to work very well, even wildcards. It's amazing actually! Some of the changes you've implemented in the last few weeks Jason really bring dCore to a whole new level.
Just the simplest nano example using new language and purge system, nano still functions fine upon preliminary testing:
7.43 mb: nano default
5.43 mb: italian only
5.36 mb: no locales
1.86 mb: using sce.purge below
Only 25% original size without even pairing dependencies or using a list file :)
sce.purge used:
etc/alternatives
etc/cron.daily
etc/dpkg
etc/ld.so.conf.d
etc/logrotate.d
usr/bin/dpkg*
usr/bin/update-alternatives
usr/lib/gcc
usr/lib/i386-linux-gnu/libLLVM*
usr/lib/i386-linux-gnu/audit
usr/lib/i386-linux-gnu/gconv
usr/sbin/dpkg*
usr/sbin/update-alternatives
usr/share/doc-base
usr/share/dpkg
usr/share/info
usr/share/locale
Plan to add more sce.purge items that arise and will review my old list above. Thanks again.
-
Thanks for the testing and feedback. I admit at first I was hesitant to support trimming files beyond /usr/share/man and /usr/share/doc as I thought Debian only includes what is absolutely necessary, and surely true for their dep routine but not for the files contained in those packages, as we see that is the case.
Here is a pondering for the future. As sce.purge files may get SCE specific, we can allow sce-import to recognize those files as /etc/sysconfig/sce.purge.packagename when we want to trim certain SCEs and their deps of unneeded files. That way one general sce.purge file does not overstep when one package needs a more aggressive pruning that may cause another SCE to break. Just a thought.
-
Here is a pondering for the future. As sce.purge files may get SCE specific, we can allow sce-import to recognize those files as /etc/sysconfig/sce.purge.packagename when we want to trim certain SCEs and their deps of unneeded files. That way one general sce.purge file does not overstep when one package needs a more aggressive pruning that may cause another SCE to break. Just a thought.
great idea... that would be really great, if you follow this concept.
thank you for your commitment.
-
Modern Debian is bloated, main reason i'm here!
Been playing with sce.purge, no doubt this can break stuff...don't ask me how i know :)
In regards to SCE specific purge files, might be a good idea, especially for users that want to trade lists. Personally i like the present system, where only one config file needs to be added to backup. User is free to add #/comments into the config and manually toggle (# on/off) purged items between imports at will. For me the present functionality is very good. Really like it, superior to Puppy's 'trim the fat' function.
Couple things:
1) Are you able to middle-click mouse paste from aterm to editor? Works fine from xterm to editor but not aterm. This seems odd, either i broke something during purge or maybe a default aterm issue, which i think was recently added to dCore to make Control Panel work properly.
2) As things can break, the intitial troubleshooting method for new sce-imports that don't work will be for the user to re-import with sce.purge file disabled. As sce-import already has almost too many options, what do you think about adding this as an sce-import -z feature to temporarily ignore both sceconfig and sce.purge?
-
SCE specific purge lists may be overkill as what can be purged depends on a particular package's needs and not packages that depend on or use that package so if rox-filer.sce can have certain files purged that are part of ligtk2.0-0, then any other SCE containing libgtk2.0-0 should also have the purge or nopurge requirements.
I can middle button paste into aterm on my machine.
And making sce-import -z ignore the sce.purge and locale.nopurge files sounds like a good idea, I will add it in.
-
The new -z option appears to work, just doesn't output 'Using the -z option' during use like the others.
Fixed aterm, i broke, will take a bit to figure out what to safely purge, more aggressive = more breakage.
-
I'll add the echoing of "using the -z option" when it is used.
Yeah, aside from the locales and the LLVM file, it is definitely risky to delete files, but the tool is there for those who want to use it.
-
Yeah, aside from the locales and the LLVM file, it is definitely risky to delete files, but the tool is there for those who want to use it.
yes, i experienced something similiar and i agree!!!
i reduced 100mb in my packages just with the locales and the LLVM file.
hopefully we will find some other files, that can be deleted without negative consequences and make the packages even smaller, without losing stability :-)
thank you for sharing your experiences and ideas.
-
Slow boot issue resolved, thanks again.
15 year old 800mhz single core booting dCore-Jessie from grub to Dillo and emelfm opening using new sce.purge:
1min 55sec: default boot
1min 37sec: purging xorg-intel 65mb -> 29mb
1min 27sec: purging all other sceboot.lst items:
1.2mb -> 1.2mb graphics-3.16.6-tinycore
1.8mb -> 1.8mb alsa-modules-3.16.6-tinycore
468k -> 468k netfilter-3.16.6-tinycore
948k -> 948k Xprogs
8.2mb -> 5.1mb alsa-utils
4.9mb -> 1.9mb iptables
19mb -> 12 mb fluxbox
16mb -> 10mb conky
35mb -> 27mb dillo
4.8mb -> 1.9mb emelfm
Other:
4.8mb -> 1.7mb bsdgames-nonfree
96mb -> 80mb iceweasel
11mb -> 8mb mupdf
Obviously purging *-3.16.6-tinycore extensions provided no space savings, but nice to know running sce-update -a won't break anything.
Took a while to figure out sce.purge list, especially Xorg. All SCEs load, boot and initially test well. Thanks for making sce.purge configurable, as removing these marginally impacted boot time:
usr/lib/i386-linux-gnu/libLLVM*
usr/share/locale
usr/include
Primary culprits, minimal space savers but i suspect due to system having to create >500 links at boot !
usr/lib/i386-linux-gnu/perl, <1mb, 40 files
usr/share/perl, 1.77 Mbytes, 421 Files
usr/share/perl5, 194.75 Kbytes, 115 Files
[edit]: Forgot to mention /usr/share/zoneinfo from xorg-intel contains 1796 files !
sce.purge file utilized:
etc/alternatives
etc/apt
etc/cron.daily
etc/dpkg
etc/ld.so.conf.d
etc/logrotate.d
etc/rc*
lib/systemd
usr/bin/dpkg*
usr/bin/update-alternatives
usr/include
usr/lib/debug
usr/lib/gcc
usr/lib/i386-linux-gnu/libLLVM*
usr/lib/i386-linux-gnu/audit
usr/lib/i386-linux-gnu/gbm
usr/lib/i386-linux-gnu/gconv
usr/lib/i386-linux-gnu/perl
usr/lib/mime
usr/lib/pkgconfig
usr/lib/xorg/modules/drivers/vesa*
usr/lib/xorg/modules/input/synaptics*
usr/lib/xorg/modules/input/vmmouse*
usr/lib/xorg/modules/multimedia
usr/sbin/dpkg*
usr/sbin/update-alternatives
### DO NOT REMOVE xorg.conf.d DIRECTORY EVEN IF DON"T USE IT, WITH xorg-intel LOCKS-UP SYSTEM:
#usr/share/X11/xorg.conf.d
usr/share/X11/xorg.conf.d/50-synaptics.conf
usr/share/X11/xorg.conf.d/50-vmmouse.conf
usr/share/X11/locale
### DO NOT REMOVE, CONTAINS DESKTOP FILES AND BREAKS THINGS:
#usr/share/applications
usr/share/bug
usr/share/doc
usr/share/doc-base
usr/share/dpkg
usr/share/gcc*
usr/share/gdb
usr/share/info
usr/share/locale
usr/share/man
usr/share/perl
usr/share/perl5
usr/share/pkgconfig
usr/share/zoneinfo
var/cache
var/lib
-
Glad to hear it is working for you!
"Using the -z option." now added to sce-import when invoked.
-
Above sce.purge list amended, this should NOT be purged:
### DO NOT PURGE, BREAKS ATERM CUT/PASTE:
#usr/share/X11/locale
Purge SCEs at own risk. The list above has only been tested on ~15 extensions and may require revision (which will not be posted here). If something breaks, modify purge list and re-import SCE. Although sce-import -z can be used to re-import a given extension without purging, the usual sce-update -a session may break something again if the purge list has not been appropriately modified, thanks.