Skip to content

Commit

Permalink
[iso] fix persistence option not being added for Ubuntu 24.04
Browse files Browse the repository at this point in the history
* Ubuntu changed their GRUB config format yet again, so our search for the kernel
  config no longer works, and the 'persistent' option doesn't get added.
* Switch to a more generic '/casper/vmlinuz' search, though it might have unintended
  consequences...
* Also fix a possible double free in FormatExtFs().
  • Loading branch information
pbatard committed Apr 28, 2024
1 parent 83e0bda commit 2a6df95
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
5 changes: 4 additions & 1 deletion src/format_ext.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,10 @@ BOOL FormatExtFs(DWORD DriveIndex, uint64_t PartitionOffset, DWORD BlockSize, LP

// Finally we can call close() to get the file system gets created
r = ext2fs_close(ext2fs);
if (r != 0) {
if (r == 0) {
// Make sure ext2fs isn't freed twice
ext2fs = NULL;
} else {
SET_EXT2_FORMAT_ERROR(ERROR_WRITE_FAULT);
uprintf("Could not create %s volume: %s", FSName, error_message(r));
goto out;
Expand Down
6 changes: 3 additions & 3 deletions src/iso.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,9 +384,9 @@ static void fix_config(const char* psz_fullpath, const char* psz_path, const cha
if ((props->is_grub_cfg) && replace_in_token_data(src, "linux",
"maybe-ubiquity", "", TRUE))
uprintf(" Removed 'maybe-ubiquity' kernel option");
} else if (replace_in_token_data(src, "linux", "layerfs-path=minimal.standard.live.squashfs",
"persistent layerfs-path=minimal.standard.live.squashfs", TRUE) != NULL) {
// Ubuntu 23.04 uses GRUB only with the above and does not use "maybe-ubiquity"
} else if (replace_in_token_data(src, "linux", "/casper/vmlinuz",
"/casper/vmlinuz persistent", TRUE) != NULL) {
// Ubuntu 23.04 and 24.04 use GRUB only with the above and don't use "maybe-ubiquity"
uprintf(" Added 'persistent' kernel option");
modified = TRUE;
} else if (replace_in_token_data(src, props->is_grub_cfg ? "linux" : "append",
Expand Down
10 changes: 5 additions & 5 deletions src/rufus.rc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 4.5.2147"
CAPTION "Rufus 4.5.2148"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
Expand Down Expand Up @@ -397,8 +397,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,5,2147,0
PRODUCTVERSION 4,5,2147,0
FILEVERSION 4,5,2148,0
PRODUCTVERSION 4,5,2148,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -416,13 +416,13 @@ BEGIN
VALUE "Comments", "https://rufus.ie"
VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "4.5.2147"
VALUE "FileVersion", "4.5.2148"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "� 2011-2024 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
VALUE "OriginalFilename", "rufus-4.5.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "4.5.2147"
VALUE "ProductVersion", "4.5.2148"
END
END
BLOCK "VarFileInfo"
Expand Down

0 comments on commit 2a6df95

Please sign in to comment.