public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
From: Arne Fitzenreiter <git@ipfire.org>
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. b69f054b8d357f1e4cad00c33206e0288aaf9a2d
Date: Sun, 16 Jan 2022 15:25:16 +0000	[thread overview]
Message-ID: <4JcJkh2rkCz2xS0@people01.haj.ipfire.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 7444 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".

The branch, next has been updated
       via  b69f054b8d357f1e4cad00c33206e0288aaf9a2d (commit)
       via  68a50dd12df884743ac2f885d4d36a7b99126e99 (commit)
      from  14aa983025562b72ee62a1c7515b25c680658516 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b69f054b8d357f1e4cad00c33206e0288aaf9a2d
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date:   Sun Jan 16 15:24:28 2022 +0000

    core163: add cake changes to updater
    
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>

commit 68a50dd12df884743ac2f885d4d36a7b99126e99
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date:   Sun Jan 16 13:46:36 2022 +0000

    installer: add partitions as installation source
    
    This add compatiblity for rufus usb-keys that convert the
    iso to fat or ntfs partition.
    
    Signed-off-by: Arne Fitzenreiter <arne_f(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 config/rootfiles/core/163/filelists/files   |  5 +++++
 config/rootfiles/core/163/update.sh         |  9 +++++++--
 src/installer/dracut-module/module-setup.sh |  2 +-
 src/installer/hw.c                          | 27 +++++++++++++++++++++++++--
 src/installer/main.c                        |  8 ++++++--
 5 files changed, 44 insertions(+), 7 deletions(-)

Difference in files:
diff --git a/config/rootfiles/core/163/filelists/files b/config/rootfiles/core/163/filelists/files
index d8baf418f..c3d53e9d2 100644
--- a/config/rootfiles/core/163/filelists/files
+++ b/config/rootfiles/core/163/filelists/files
@@ -1,6 +1,11 @@
 etc/dracut.conf
+lib/udev/network-aqm
+lib/udev/network-hotplug-bridges
+lib/udev/rules.d/99-aqm.rules
+srv/web/ipfire/cgi-bin/qos.cgi
 srv/web/ipfire/cgi-bin/ovpnmain.cgi
 srv/web/ipfire/cgi-bin/vpnmain.cgi
 srv/web/ipfire/html/themes/ipfire/include/functions.pl
 var/ipfire/backup/bin/backup.pl
 var/ipfire/dhcp/advoptions-list
+var/ipfire/qos/bin/makeqosscripts.pl
diff --git a/config/rootfiles/core/163/update.sh b/config/rootfiles/core/163/update.sh
index f0bc7fb55..5b35ed4df 100644
--- a/config/rootfiles/core/163/update.sh
+++ b/config/rootfiles/core/163/update.sh
@@ -17,7 +17,7 @@
 # along with IPFire; if not, write to the Free Software                    #
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
 #                                                                          #
-# Copyright (C) 2021 IPFire-Team <info(a)ipfire.org>.                        #
+# Copyright (C) 2022 IPFire-Team <info(a)ipfire.org>.                        #
 #                                                                          #
 ############################################################################
 #
@@ -56,9 +56,12 @@ rm -vrf \
 	/lib/firmware/cxgb4/t4fw-1.25.4.0.bin \
 	/lib/firmware/cxgb4/t5fw-1.25.4.0.bin \
 	/lib/firmware/cxgb4/t6fw-1.25.4.0.bin \
-	/lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg
+	/lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg \
+	/lib/udev/enable_codel \
+	/lib/udev/rules.d/99-codel.rules
 
 # Stop services
+/usr/local/bin/qosctrl stop
 
 # Extract files
 extract_files
@@ -77,6 +80,8 @@ telinit u
 /etc/init.d/apache restart
 /etc/init.d/unbound restart
 /etc/init.d/squid restart
+/usr/local/bin/qosctrl generate
+/usr/local/bin/qosctrl start
 
 # rebuild initrd
 dracut --force --early-microcode --strip --verbose --xz
diff --git a/src/installer/dracut-module/module-setup.sh b/src/installer/dracut-module/module-setup.sh
index 5550ec763..c68b51d26 100755
--- a/src/installer/dracut-module/module-setup.sh
+++ b/src/installer/dracut-module/module-setup.sh
@@ -31,7 +31,7 @@ install() {
 
     # Filesystem support
     inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs mkfs.vfat
-    instmods ext4 iso9660 reiserfs vfat xfs
+    instmods ext4 iso9660 reiserfs vfat xfs ntfs3
 
     # Extraction
     inst_multiple tar gzip zstd
diff --git a/src/installer/hw.c b/src/installer/hw.c
index b532bb16e..17e0bbb01 100644
--- a/src/installer/hw.c
+++ b/src/installer/hw.c
@@ -202,6 +202,15 @@ int hw_umount(const char* source, const char* prefix) {
 static int hw_test_source_medium(const char* path) {
 	int ret = hw_mount(path, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
 
+	if (ret != 0) {
+		// 2nd try, ntfs for a rufus converted usb key
+		ret = hw_mount(path, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
+	}
+	if (ret != 0) {
+		// 3rd try, vfat for a rufus converted usb key
+		ret = hw_mount(path, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
+	}
+
 	// If the source could not be mounted we
 	// cannot proceed.
 	if (ret != 0)
@@ -275,6 +284,20 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
 	struct hw_disk** ret = hw_create_disks();
 	struct hw_disk** disks = ret;
 
+	// Determine the disk device of source if it is a partition
+	char* sourcedisk = NULL;
+	char syssource[PATH_MAX];
+	(void)snprintf(syssource, sizeof(syssource) - 1, "/sys/class/block/%s", sourcedrive + 5);
+	struct udev_device* s_dev = udev_device_new_from_syspath(hw->udev, syssource);
+	const char* s_devtype = udev_device_get_property_value(s_dev, "DEVTYPE");
+	if (s_devtype && (strcmp(s_devtype, "partition") == 0)) {
+		struct udev_device* p_dev = udev_device_get_parent_with_subsystem_devtype(s_dev,"block","disk");
+		if (p_dev) {
+			sourcedisk = udev_device_get_devnode(p_dev);
+		}
+	}
+	if (!sourcedisk) sourcedisk = sourcedrive;
+
 	struct udev_enumerate* enumerate = udev_enumerate_new(hw->udev);
 
 	udev_enumerate_add_match_subsystem(enumerate, "block");
@@ -298,8 +321,8 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
 			continue;
 		}
 
-		// Skip sourcedrive if we need to
-		if (sourcedrive && (strcmp(dev_path, sourcedrive) == 0)) {
+		// Skip sourcedisk if we need to
+		if (sourcedisk && (strcmp(dev_path, sourcedisk) == 0)) {
 			udev_device_unref(dev);
 			continue;
 		}
diff --git a/src/installer/main.c b/src/installer/main.c
index fabc0ef52..b31b096a5 100644
--- a/src/installer/main.c
+++ b/src/installer/main.c
@@ -415,7 +415,8 @@ int main(int argc, char *argv[]) {
 	}
 
 	// Load common modules
-	mysystem(logfile, "/sbin/modprobe vfat"); // USB key
+	mysystem(logfile, "/sbin/modprobe vfat");  // USB key
+	mysystem(logfile, "/sbin/modprobe ntfs3"); // USB key
 	hw_stop_all_raid_arrays(logfile);
 
 	if (!config.unattended) {
@@ -555,7 +556,10 @@ int main(int argc, char *argv[]) {
 	assert(sourcedrive);
 
 	int r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
-	if (r) {
+	if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
+	if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
+	if (r)
+		{
 		snprintf(message, sizeof(message), _("Could not mount %s to %s:\n  %s\n"),
 			sourcedrive, SOURCE_MOUNT_PATH, strerror(errno));
 		errorbox(message);


hooks/post-receive
--
IPFire 2.x development tree

                 reply	other threads:[~2022-01-16 15:25 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4JcJkh2rkCz2xS0@people01.haj.ipfire.org \
    --to=git@ipfire.org \
    --cc=ipfire-scm@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox