Building current source trunk

154 views
Skip to first unread message

Bill R

unread,
Apr 9, 2024, 11:23:00 PMApr 9
to Alt-F
João, I’ve finally finished writing up how I build the current trunk of Alt-F. I started down this road because I needed a build with USB HID support in the kernel and then figured why not get all the recent commits too while I’m at it. It was a good (and time consuming) learning exercise for me. It’s to the point where everything I use either seems to work fine or a fix is beyond my skill set. I would like your feedback on some of my steps in case I did something fundamentally wrong. I have only done builds for the dns325 board family since I've retired my 323 (and it seems impossible to shrink everything to fit the limited flash size anyway.) Here is my process:

1) Use openSUSE Leap 15.2

It was straightforward to get a successful build on 15.2 while anything later had a lot more errors. I decided not to fight it and just stuck with 15.2.

2) Install dev tools per wiki, including intltools and bc as noted for Leap 15
3) Install antlr3-java

This was an additional package that was needed to get the full Alt-F build to complete.

4) svn checkout https://svn.code.sf.net/p/alt-f/code/trunk alt-f-code
5) cd alt-f-code/alt-f
6) Get patch below as mentioned in wiki
While you’ve said this patch shouldn't be needed, I could not get a build to work unless it was applied.

7) patch -p0 < Alt-F-1.0-openSUSE-Leap-15.0.patch

The patch will complain that some changes are already applied. For all prompts, just hit enter.

8) modify configfs file to fix URL

97c97
< curl -o $ca_bundle --time-cond $ca_bundle https://curl.haxx.se/ca/cacert.pem
---
> curl -o $ca_bundle --time-cond $ca_bundle https://curl.se/ca/cacert.pem

9) copy update_ca.sh from openssl package below to customroot/usr/bin

The update_ca.sh file was missing once I checked the finished build, and it was not in the source tree.

10) modify customroot/usr/bin/update_ca.sh to fix URL

5c5
< CA_SITE="https://curl.haxx.se/ca"
---
> CA_SITE="https://curl.se/ca"

11) modify mkinitramfs.sh

112,113c112,114
< base_pkgs="alt-f-utils mdadm e2fsprogs dosfstools ntfs-3g gptfdisk-sgdisk sfdisk dropbear portmap nfs-utils kexec openssl zlib popt"
< base_pkgs2="inadyn-mt smartmontools at ntp-common cifs-utils openssh-sftp vsftpd rsync wget msmtp stunnel libiconv"
---
> base_pkgs="alt-f-utils mdadm e2fsprogs dosfstools ntfs-3g gptfdisk-sgdisk sfdisk dropbear portmap nfs-utils kexec zlib popt"
> base_pkgs2="inadyn-mt smartmontools at ntp-common cifs-utils openssh-sftp vsftpd rsync wget msmtp stunnel libiconv openssl"

I did this because otherwise I get a filesystem too large error later in the build process. Moving openssl to base_pkgs2 did not seem to have any negative effects but I would like your opinion if that was the right thing to do.

12) modify package/stunnel/stunnel.mk to fix URL

8c8
< STUNNEL_SITE:=https://www.stunnel.org/downloads
---
> STUNNEL_SITE:=https://www.stunnel.org/archive/5.x

13) modify package/ntfs-3g/ntfs-3g.mk to fix URL

10c10
< NTFS_3G_SITE:=http://sources.openelec.tv/mirror/ntfs-3g_ntfsprogs
---
> NTFS_3G_SITE:=https://ftp.osuosl.org/pub/blfs/conglomeration/ntfs-3g

14) copy updated opkg files from archive below to customroot/usr/www/cgi-bin/
This is for the new Entware scripts with some additional fixes added below.

15) modify customroot/usr/www/cgi-bin/packages_opkg.cgi

64c64
< if ! grep -qE armv5soft\|armv7soft $CONFF 2> /dev/null; then
---
> if ! grep -qE armv5-3.2\|armv7-3.2 $CONFF 2> /dev/null; then
151c151
< if (system("opkg -V0 compare_versions " v " \">\" " ver[uinst[nm]]))
---
> if (system("opkg -V0 compare-versions " v " \"<\" " ver[uinst[nm]]))

16) modify customroot/usr/www/cgi-bin/packages_opkg_proc.cgi

226c226
< if ! res=$(opkg update 2>&1); then
---
> if res=$(opkg update 2>&1); then

17) modify package/alt-f-utils/alt-f-utils-0.1.11/dns320l-daemon.c

1250c1250
< if(((sleepCount * pollTimeMs) % 15000) == 0)
---
> if(((sleepCount * pollTimeMs) % 15000) == 0) {
1251a1252,1253
> sleepCount = 0;
> }

This fixes the issue with the fan control counter being a signed value that I discussed in another thread.

18) modify customroot/usr/www/cgi-bin/firmware.cgi

21,22c21,22
< flashed_kernel=$(nanddump -qal 1 /dev/$kernel | grep -o 'Alt-F.*')
< flashed_initramfs=$(nanddump -qal 1 /dev/$initramfs | grep -o 'Alt-F.*')
---
> flashed_kernel=$(nanddump -qal 1000 /dev/$kernel | grep -o 'Alt-F.*')
> flashed_initramfs=$(nanddump -qal 1000 /dev/$initramfs | grep -o 'Alt-F.*')

I saw that this page would not read the current versions from flash and this change fixes that.

19) modify package/cryptodev/cryptodev.mk to fix URL

9c9
< CRYPTODEV_SITE:=https://github.com/cryptodev-linux/cryptodev-linux/archive
---
> CRYPTODEV_SITE:=http://nwl.cc/pub/cryptodev-linux/

20) modify package/mxml/mxml.mk to fix URL

10c10
< MXML_SOURCE = mxml_$(MXML_VERSION).orig.tar.gz
---
> MXML_SOURCE = mxml-$(MXML_VERSION).tar.gz

21) modify customroot/usr/www/cgi-bin/sys_utils_proc.cgi

52c52
< cat $1 | grep -iE "$pat"
---
> cat $1 | grep -iE "$pat" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'
54c54
< cat $1
---
> cat $1 | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'

Syslog would sometimes contain reserved HTML characters resulting in chunks of the log not being displayed. This happens for example whenever msmtp sends an email.

22) modify customroot/usr/www/cgi-bin/sys_utils.cgi

232c232
< eval $(openssl x509 -in /etc/ssl/certs/server.pem -noout -subject | awk  -F '/' '{print $2,$3,$4}')
---
> eval $(openssl x509 -in /etc/ssl/certs/server.pem -noout -subject -nameopt compat | awk  -F '/' '{print $2,$3,$4}')

This fixes the display of certificate info when the updated openssl package is used.

23) modify customroot/etc/Alt-F with desired version string
24) echo "Certificates|certs.cgi" >> customroot/usr/www/cgi-bin/Setup.men

This would normally be done as part of the package postinst script, but it doesn’t happen when I do a full build.

25) modify customroot/usr/www/cgi-bin/certs.cgi

175a176,177
> <tr><td>Save CA certificate and key to backup file</td>
> <td><input $cadis type=submit name="CAsave" value="saveCA" $(ttip saveca_tt)></td></tr>
185,187d186
< <tr><td>Save CA certificate and key to backup file</td>
< <td><input $cadis type=submit name="CAsave" value="saveCA" $(ttip saveca_tt)></td></tr>
<

The new certificate setup page was unable to save or load the fake root CA. I was able to get saving to work with the change above, but loading is still broken and it is beyond my ability to fix it.

26) chmod +x customroot/usr/www/cgi-bin/certs*.*
27) modify customroot/etc/settings

37a38,41
> /etc/ssl/certs/rootCA.crt
> /etc/ssl/certs/rootCA.key
> /etc/ssl/certs/server.crt
> /etc/ssl/certs/server.key
38a43,44
> /etc/ssl/certs/stunnel.pem
> /etc/ssl/certs/vsftpd.pem

28) modify customroot/usr/sbin/hot_aux.sh

92c92,99
< logger -st hot_aux "$($i restart)"
---
> case "$i" in
> rcentware)
> logger -st hot_aux "$($i start)"
> ;;
> *)
> logger -st hot_aux "$($i restart)"
> ;;
> esac

When Entware is started from boot, the individual packages are started in reverse order. This causes problems with dependencies (between dbus and avahi in my case) so I made this correction.

29) . exports dns325

Use -Os for any prompt ending with "OPTIM) [] (NEW)", for any others just hit return. I would like feedback if this was the correct approach.

30) make >> build-dns325.log && echo OK || echo FAIL
31) ./mkinitramfs.sh
32) ./mkfw.sh

In the end I only get two warnings that are of concern:
WARNING: Package mtd-utils does not contains all files, might or not be OK!
WARNING: Package kernel-modules-armv5 does not contains all files, might or not be OK!
./mkpkg.sh -check mtd-utils
ls: cannot access './usr/sbin/ubi.sh': No such file or directory
./mkpkg.sh -check kernel-modules-armv5
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_deflate/zlib_deflate.ko': No such file or directory
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_inflate/zlib_inflate.ko': No such file or directory

I’d like your opinion on these errors and if I need to make any build adjustments. Thank you again for all the help you've given me over the years.

Bill

João Cardoso

unread,
Apr 11, 2024, 2:45:15 PMApr 11
to Alt-F
Good job Bill

I will try to address some of your concerns bellow, but some of your points need more time to verify, I will eventually answer to those later.
Download URL are always changing, that's an unavoidable curse, thanks.

On Wednesday, April 10, 2024 at 4:23:00 AM UTC+1 Bill R wrote:
João, I’ve finally finished writing up how I build the current trunk of Alt-F. I started down this road because I needed a build with USB HID
But USB_HID is defined in the kernel config for Alt-F-1.0 and latter...

grep USB_HID ../1.0/local/pkgs/linux-4.4.*
../1.0/local/pkgs/linux-4.4.45.config:CONFIG_USB_HID=y
../1.0/local/pkgs/linux-4.4.45.config:# CONFIG_USB_HIDDEV is not set
../1.0/local/pkgs/linux-4.4.86.config:CONFIG_USB_HID=y
../1.0/local/pkgs/linux-4.4.86.config:# CONFIG_USB_HIDDEV is not set

support in the kernel and then figured why not get all the recent commits too while I’m at it. It was a good (and time consuming) learning exercise for me. It’s to the point where everything I use either seems to work fine or a fix is beyond my skill set. I would like your feedback on some of my steps in case I did something fundamentally wrong. I have only done builds for the dns325 board family since I've retired my 323 (and it seems impossible to shrink everything to fit the limited flash size anyway.)

Up to a point.
In my current sources I have removed some firmware builtin pkgs for the DNS-323 and created a compatibility meta package (no files, only dependencies) with the removed packages. If you don't use NTFS, you can remove ntfs-3g (but be aware that some USB disks or pens are NTFS formatted, so you loose support for those). If you don't use rsync or the "Alt-F Backup" feature, it can also be removed.
I think that's mostly OK. The reason for splitting base_pkgs in two is to make the "fw/firmware" component (initramfs) auto-sufficient, in case something nasty happens to the squashfs component -- they are flashed in different flash "partitions"
I'm using "128" 
It is not OK but it is harmless. There are (in my current sources) no references to 'ubi.sh ' under customroot; but you can check that for yourself: 'grep -r ubi.sh customroot'.

WARNING: Package kernel-modules-armv5 does not contains all files, might or not be OK!

It is OK, zlib_deflate is a kernel builtin for some boxes and a module for others.
 
./mkpkg.sh -check mtd-utils
ls: cannot access './usr/sbin/ubi.sh': No such file or directory
./mkpkg.sh -check kernel-modules-armv5
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_deflate/zlib_deflate.ko': No such file or directory
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_inflate/zlib_inflate.ko': No such file or directory

I’d like your opinion on these errors and if I need to make any build adjustments. Thank you again for all the help you've given me over the years.

 As I was not intending to make another Alt-F release, I stop making svn commits. Currently there are 200 new file additions and 740 file modifications. I will eventually apply these commits, making trunk really unstable, even if not making a new Alt-F release.

João


Bill

João Cardoso

unread,
Apr 12, 2024, 2:21:34 PMApr 12
to Alt-F
On Wednesday, April 10, 2024 at 4:23:00 AM UTC+1 Bill R wrote:
João, I’ve finally finished writing up how I build the current trunk of Alt-F. I started down this road because I needed a build with USB HID support in the kernel and then figured why not get all the recent commits too while I’m at it. It was a good (and time consuming) learning exercise for me. It’s to the point where everything I use either seems to work fine or a fix is beyond my skill set. I would like your feedback on some of my steps in case I did something fundamentally wrong. I have only done builds for the dns325 board family since I've retired my 323 (and it seems impossible to shrink everything to fit the limited flash size anyway.) Here is my process:

1) Use openSUSE Leap 15.2

It was straightforward to get a successful build on 15.2 while anything later had a lot more errors. I decided not to fight it and just stuck with 15.2.

2) Install dev tools per wiki, including intltools and bc as noted for Leap 15
3) Install antlr3-java

This was an additional package that was needed to get the full Alt-F build to complete.

4) svn checkout https://svn.code.sf.net/p/alt-f/code/trunk alt-f-code
5) cd alt-f-code/alt-f
6) Get patch below as mentioned in wiki
While you’ve said this patch shouldn't be needed, I could not get a build to work unless it was applied.

7) patch -p0 < Alt-F-1.0-openSUSE-Leap-15.0.patch

The patch will complain that some changes are already applied. For all prompts, just hit enter.

8) modify configfs file to fix URL
checked 

97c97
< curl -o $ca_bundle --time-cond $ca_bundle https://curl.haxx.se/ca/cacert.pem
---
> curl -o $ca_bundle --time-cond $ca_bundle https://curl.se/ca/cacert.pem

9) copy update_ca.sh from openssl package below to customroot/usr/bin
checked 

The update_ca.sh file was missing once I checked the finished build, and it was not in the source tree.

10) modify customroot/usr/bin/update_ca.sh to fix URL
 checked

5c5
< CA_SITE="https://curl.haxx.se/ca"
---
> CA_SITE="https://curl.se/ca"

11) modify mkinitramfs.sh
 it would be better to move ntfs-3g, as that only impact NTFS disk/pens

112,113c112,114
< base_pkgs="alt-f-utils mdadm e2fsprogs dosfstools ntfs-3g gptfdisk-sgdisk sfdisk dropbear portmap nfs-utils kexec openssl zlib popt"
< base_pkgs2="inadyn-mt smartmontools at ntp-common cifs-utils openssh-sftp vsftpd rsync wget msmtp stunnel libiconv"
---
> base_pkgs="alt-f-utils mdadm e2fsprogs dosfstools ntfs-3g gptfdisk-sgdisk sfdisk dropbear portmap nfs-utils kexec zlib popt"
> base_pkgs2="inadyn-mt smartmontools at ntp-common cifs-utils openssh-sftp vsftpd rsync wget msmtp stunnel libiconv openssl"

I did this because otherwise I get a filesystem too large error later in the build process. Moving openssl to base_pkgs2 did not seem to have any negative effects but I would like your opinion if that was the right thing to do.

12) modify package/stunnel/stunnel.mk to fix URL
 checked

8c8
< STUNNEL_SITE:=https://www.stunnel.org/downloads
---
> STUNNEL_SITE:=https://www.stunnel.org/archive/5.x

13) modify package/ntfs-3g/ntfs-3g.mk to fix URL
 better use authors site: https://tuxera.com/opensource/obsolete

10c10
< NTFS_3G_SITE:=http://sources.openelec.tv/mirror/ntfs-3g_ntfsprogs
---
> NTFS_3G_SITE:=https://ftp.osuosl.org/pub/blfs/conglomeration/ntfs-3g

14) copy updated opkg files from archive below to customroot/usr/www/cgi-bin/
 my current sources are a bit different. Can you please post the URL where you got the attachment?
This is for the new Entware scripts with some additional fixes added below.

15) modify customroot/usr/www/cgi-bin/packages_opkg.cgi
 checked

64c64
< if ! grep -qE armv5soft\|armv7soft $CONFF 2> /dev/null; then
---
> if ! grep -qE armv5-3.2\|armv7-3.2 $CONFF 2> /dev/null; then
151c151
< if (system("opkg -V0 compare_versions " v " \">\" " ver[uinst[nm]]))
---
> if (system("opkg -V0 compare-versions " v " \"<\" " ver[uinst[nm]]))

16) modify customroot/usr/www/cgi-bin/packages_opkg_proc.cgi
checked

226c226
< if ! res=$(opkg update 2>&1); then
---
> if res=$(opkg update 2>&1); then

17) modify package/alt-f-utils/alt-f-utils-0.1.11/dns320l-daemon.c
 checked, but I'm using an unsigned short sleepCount.
1250c1250
< if(((sleepCount * pollTimeMs) % 15000) == 0)
---
> if(((sleepCount * pollTimeMs) % 15000) == 0) {
1251a1252,1253
> sleepCount = 0;
> }

This fixes the issue with the fan control counter being a signed value that I discussed in another thread.

18) modify customroot/usr/www/cgi-bin/firmware.cgi
checked, but I'm using 128 pages 

21,22c21,22
< flashed_kernel=$(nanddump -qal 1 /dev/$kernel | grep -o 'Alt-F.*')
< flashed_initramfs=$(nanddump -qal 1 /dev/$initramfs | grep -o 'Alt-F.*')
---
> flashed_kernel=$(nanddump -qal 1000 /dev/$kernel | grep -o 'Alt-F.*')
> flashed_initramfs=$(nanddump -qal 1000 /dev/$initramfs | grep -o 'Alt-F.*')

I saw that this page would not read the current versions from flash and this change fixes that.

19) modify package/cryptodev/cryptodev.mk to fix URL

9c9
< CRYPTODEV_SITE:=https://github.com/cryptodev-linux/cryptodev-linux/archive
---
> CRYPTODEV_SITE:=http://nwl.cc/pub/cryptodev-linux/

20) modify package/mxml/mxml.mk to fix URL
 can't find version 2.6 in author's site nor in https://ftp.debian.org. This affects forked-daapd only

10c10
< MXML_SOURCE = mxml_$(MXML_VERSION).orig.tar.gz
---
> MXML_SOURCE = mxml-$(MXML_VERSION).tar.gz

21) modify customroot/usr/www/cgi-bin/sys_utils_proc.cgi
 Applied. but I never noticed any issues

52c52
< cat $1 | grep -iE "$pat"
---
> cat $1 | grep -iE "$pat" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'
54c54
< cat $1
---
> cat $1 | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'

Syslog would sometimes contain reserved HTML characters resulting in chunks of the log not being displayed. This happens for example whenever msmtp sends an email.

22) modify customroot/usr/www/cgi-bin/sys_utils.cgi
 I have removed that, as Setup->Certificates displays it

232c232
< eval $(openssl x509 -in /etc/ssl/certs/server.pem -noout -subject | awk  -F '/' '{print $2,$3,$4}')
---
> eval $(openssl x509 -in /etc/ssl/certs/server.pem -noout -subject -nameopt compat | awk  -F '/' '{print $2,$3,$4}')

This fixes the display of certificate info when the updated openssl package is used.

23) modify customroot/etc/Alt-F with desired version string
OK, and what is it for you?  
24) echo "Certificates|certs.cgi" >> customroot/usr/www/cgi-bin/Setup.men
checked 

This would normally be done as part of the package postinst script, but it doesn’t happen when I do a full build.

25) modify customroot/usr/www/cgi-bin/certs.cgi
 There are yet many differences to commit

175a176,177
> <tr><td>Save CA certificate and key to backup file</td>
> <td><input $cadis type=submit name="CAsave" value="saveCA" $(ttip saveca_tt)></td></tr>
185,187d186
< <tr><td>Save CA certificate and key to backup file</td>
< <td><input $cadis type=submit name="CAsave" value="saveCA" $(ttip saveca_tt)></td></tr>
<

The new certificate setup page was unable to save or load the fake root CA. I was able to get saving to work with the change above, but loading is still broken and it is beyond my ability to fix it.

26) chmod +x customroot/usr/www/cgi-bin/certs*.*
checked 
27) modify customroot/etc/settings
checked. I save server.pem instead, but I have some logic changed in /etc/init.d/S11sslcert

37a38,41
> /etc/ssl/certs/rootCA.crt
> /etc/ssl/certs/rootCA.key
> /etc/ssl/certs/server.crt
> /etc/ssl/certs/server.key
38a43,44
> /etc/ssl/certs/stunnel.pem
> /etc/ssl/certs/vsftpd.pem

28) modify customroot/usr/sbin/hot_aux.sh
 I see... but I'm not changing that
92c92,99
< logger -st hot_aux "$($i restart)"
---
> case "$i" in
> rcentware)
> logger -st hot_aux "$($i start)"
> ;;
> *)
> logger -st hot_aux "$($i restart)"
> ;;
> esac

When Entware is started from boot, the individual packages are started in reverse order. This causes problems with dependencies (between dbus and avahi in my case) so I made this correction.

29) . exports dns325

Use -Os for any prompt ending with "OPTIM) [] (NEW)", for any others just hit return. I would like feedback if this was the correct approach.

I think that that's happening because local/dns-325/dns325.config (the same for other "boards") are not up to date and do not contain the definitions for those *_OPTIM options.
These OPTIM options are intended for space saving compilation, in the never ending struggle to fit the rootfs and kernel in the available flash space, so you answer correctly, '-Os' is the right answer when flash space is tight.
When you have enough free space for the rootfs, you can try to just press ENTER, and the default global optimization (BR2_OPTIMIZE_0/1/2/3/S when doing "menuconfig") is used.
To avoid the same questions in the future, you can "cp .config local/<board>/<board>.config" aftwards


30) make >> build-dns325.log && echo OK || echo FAIL
31) ./mkinitramfs.sh
32) ./mkfw.sh

In the end I only get two warnings that are of concern:
WARNING: Package mtd-utils does not contains all files, might or not be OK!
WARNING: Package kernel-modules-armv5 does not contains all files, might or not be OK!
./mkpkg.sh -check mtd-utils
ls: cannot access './usr/sbin/ubi.sh': No such file or directory
I think that 'ubi.sh' is not used in trunk.
It is an utility/helper script to use UBI, allowing packages to be installed  into flash instead of disk. It's part of my current sources but not for trunk, I believe.
  
./mkpkg.sh -check kernel-modules-armv5
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_deflate/zlib_deflate.ko': No such file or directory
ls: cannot access './usr/lib/modules/4.4.86/kernel/lib/zlib_inflate/zlib_inflate.ko': No such file or directory
The dns325/327 uses zlib_inflate/deflate as builtin kernel modules, while the "323/pkgs" board compiles it as a kernel modules.:

grep -i zlib.*flate local/pkgs/linux-4.4.86.config
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m

while

grep -i zlib.*flate local/dns325/linux-4.4.86.config
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y

I also get those warnings, that's why it says "might or not be OK!" -- in this case it is OK, in the mtd-utils case it not OK (but is harmless for you)


I’d like your opinion on these errors and if I need to make any build adjustments. Thank you again for all the help you've given me over the years.

Bill

 
Thank you for your extensive report, I hope to have give all answers you need.
João

Bill R

unread,
Apr 20, 2024, 12:16:55 PMApr 20
to Alt-F
João,

Thank you for your replies below. I have a few items to comment on.
 
But USB_HID is defined in the kernel config for Alt-F-1.0 and latter...

grep USB_HID ../1.0/local/pkgs/linux-4.4.*
../1.0/local/pkgs/linux-4.4.45.config:CONFIG_USB_HID=y
../1.0/local/pkgs/linux-4.4.45.config:# CONFIG_USB_HIDDEV is not set
../1.0/local/pkgs/linux-4.4.86.config:CONFIG_USB_HID=y
../1.0/local/pkgs/linux-4.4.86.config:# CONFIG_USB_HIDDEV is not set

My mistake. I meant to say I needed USB_HIDDEV which is not defined by default.
 
11) modify mkinitramfs.sh
 it would be better to move ntfs-3g, as that only impact NTFS disk/pens

I was trying to move different packages to get the size down, but I don't remember if I specifically tried your suggestion. I will try moving ntfs-3g instead of openssl and see what happens.
 
13) modify package/ntfs-3g/ntfs-3g.mk to fix URL
 better use authors site: https://tuxera.com/opensource/obsolete

I get a 403 error on that URL.
  
14) copy updated opkg files from archive below to customroot/usr/www/cgi-bin/
 my current sources are a bit different. Can you please post the URL where you got the attachment?
 
You had posted this in the samba optimization on DNS-320 thread.

17) modify package/alt-f-utils/alt-f-utils-0.1.11/dns320l-daemon.c
 checked, but I'm using an unsigned short sleepCount.

Noted.
 
18) modify customroot/usr/www/cgi-bin/firmware.cgi
checked, but I'm using 128 pages 

I didn't try to find the smallest value that still worked. I just went in large increments. I will use 128 going forward.
 
19) modify package/cryptodev/cryptodev.mk to fix URL

I get a 404 error on that URL.

21) modify customroot/usr/www/cgi-bin/sys_utils_proc.cgi
 Applied. but I never noticed any issues

This was a strange one that I found by accident. I had a script calling /usr/bin/mail and every time that happened, I would have large sections of syslog missing in the web UI but shown fine using the command line. The < character was part of the log entry from msmtp and that was causing the web UI to treat parts that followed as an HTML tag.
  
22) modify customroot/usr/www/cgi-bin/sys_utils.cgi
 I have removed that, as Setup->Certificates displays it

Noted.
 
23) modify customroot/etc/Alt-F with desired version string
OK, and what is it for you?  

I used "1.0-3929" just so I knew what official commits were included.
 
25) modify customroot/usr/www/cgi-bin/certs.cgi
 There are yet many differences to commit

I consider it a personal accomplishment that I was even able to get saving working. It looked like the rest would require a significant rewrite which is beyond my capability.

27) modify customroot/etc/settings
checked. I save server.pem instead, but I have some logic changed in /etc/init.d/S11sslcert

The server.pem file is already included in settings. I added the others so that I wouldn't be prompted to save settings after every reboot.
 
28) modify customroot/usr/sbin/hot_aux.sh
 I see... but I'm not changing that

I think this is an important item to address. I understand you use restart since you want to run newer versions of services once /Alt-F is mounted. But there are no entware services running until /opt is mounted and by using restart, the rc.unslung script uses a reverse order. In cases where there are dependencies in the start order (S20dbus and S42avahi-daemon in my case) processes fail to start. I could rename these files in init.d so they start correctly from hot_aux.sh, but then a manual start of entware would be in the wrong order. Perhaps there is a better way to fix this than what I did, but in my opinion this is an important item so users can use entware packages without the headaches I experienced.
  
Thank you for your extensive report, I hope to have give all answers you need.

Yes, this has been a great help to me. I appreciate all the time you took to look this over as well as all the previous times you've provided guidance. I feel a lot better about the builds I made.

Bill

Bill R

unread,
Apr 20, 2024, 1:00:04 PMApr 20
to Alt-F
Quick update, I tried to move just ntfs-3g and get a filesystem too large error:

__ DNS-325-rev-Ax ___
Image Name:   Alt-F-1.0-3929, kernel 4.4.86
Created:      Sat Apr 20 11:47:58 2024
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1852171 Bytes = 1808.76 kB = 1.77 MB
Load Address: 0x00008000
Entry Point:  0x00008000

mkfw: Firmware creation FAILED at rootfs too big by 634944 bytes, max is 3145728, exiting.

Do you have any suggestions since moving openssl is not really recommended? Openssl is such a large package now that you probably have to move many others to compensate.

João Cardoso

unread,
May 5, 2024, 2:46:06 PMMay 5
to Alt-F

Sorry for the late reply, I'm trying to do a huge commit to bring trunk up to date with my sources, but it is taking more time than I anticipated.
 

On Saturday, April 20, 2024 at 6:00:04 PM UTC+1 Bill R wrote:
Quick update, I tried to move just ntfs-3g and get a filesystem too large error:

Most of your  problems are due to trunk being unstable. Many packages have been version updated since 1.0, without consideration on flash space issues, as these are handled at pre-release time.


__ DNS-325-rev-Ax ___
Image Name:   Alt-F-1.0-3929, kernel 4.4.86
Created:      Sat Apr 20 11:47:58 2024
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1852171 Bytes = 1808.76 kB = 1.77 MB
Load Address: 0x00008000
Entry Point:  0x00008000

mkfw: Firmware creation FAILED at rootfs too big by 634944 bytes, max is 3145728, exiting.

Do you have any suggestions since moving openssl is not really recommended? Openssl is such a large package now that you probably have to move many others to compensate.

Putting openssl in the base firmware (initramfs) is not mandatory, if there is an option it is preferable. 
Reply all
Reply to author
Forward
0 new messages