Bug 27887 - Mageia 8b2 Live installer ask to install f2fs-tools, but fail.
Summary: Mageia 8b2 Live installer ask to install f2fs-tools, but fail.
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Martin Whitaker
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-20 22:09 CET by Morgan Leijström
Modified: 2021-01-17 23:19 CET (History)
3 users (show)

See Also:
Source RPM: drakxtools ? Live installer from desktop
CVE:
Status comment: fixed in svn


Attachments

Description Morgan Leijström 2020-12-20 22:09:46 CET
Booted 8b2 Live Xfce 32 bit with persistence to desktop, configured wifi, configured repos, installed gkrellm, nothing more.

Launched Live installer, selected for F2FS for /
Installer ask to install f2fs-tools, o say OK and it say it could not.

in a terminal i then su -, urpmi f2fs-tools, it suggest the packages = I see everything should work, but i abort package installation.

Try again in installer, it say it cant install f2fs-tools.

Then I urpmi f2fs-tools and let it.

Installer then do not ask and proceed.

Yeah, i could have grabbed some log, but you can easily try this.
Comment 1 Dave Hodgins 2020-12-20 23:17:19 CET
Likely a mirror problem. Selecting f2fs-tools from rpmdrake worked here ...
Dec 20 17:15:22 i8v.hodgins.homeip.net drakrpm[17831]: opening the RPM database
Dec 20 17:15:27 i8v.hodgins.homeip.net [RPM][17831]: Transaction ID 5fdfccff started
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install libf2fs8-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install libf2fs_format7-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install f2fs-tools-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install libf2fs8-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install libf2fs_format7-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: install f2fs-tools-1.14.0-1.mga8.i586: success
Dec 20 17:15:28 i8v.hodgins.homeip.net [RPM][17831]: Transaction ID 5fdfccff finished: 0

Resolution: (none) => WORKSFORME
Status: NEW => RESOLVED
CC: (none) => davidwhodgins

Comment 2 Morgan Leijström 2020-12-21 00:55:02 CET
As I said urpmi could install the package both before and after so mirror, network etc all OK, while live installer failed both before and between.

I did not try rpmdrake

Why do live installer fail installing but not urpmi?  Configuration problem?

"Install failed" is not very informative...

I will try again later as the process had other bumps too, and reopen if needed.
Comment 3 Morgan Leijström 2020-12-21 02:20:52 CET
New round, same result.  This time I also verified rpmdrake works too, and updated its dependencies.

Same: Live installer say it can not install f2fs-tools while other tools can.

Nothing in journal.  Where is it logging?

Please try following my footsteps, see comment 0

Resolution: WORKSFORME => (none)
Status: RESOLVED => REOPENED

Comment 4 Dave Hodgins 2020-12-21 02:50:32 CET
Sorry, read too fast.

The installer runs from distrib.sqfs (whether run from the boot menu or live)
and after filesystem formatting/selection copies the live image to the target
system. Live mode just adds any changes made in live mode to what is copied to
the target. It's contents do not alter what is accessible to the installer.
Adding persistence just increases the amount of changes allowed to exceed one
half of ram, and also keeps the changes after shutdown.

Failure in the live xfce i586 when selecting Journalized FS f2fs confirmed due to
missing f2fs-tools package in the compressed installer image.

In addition, checking the other live iso images, confirming the bug affects
all live iso images.

Assignee: bugsquad => mageia

Comment 5 Morgan Leijström 2020-12-21 15:34:16 CET
Another observation: At end of install, the Live installer install grub2 and deps.  That worked silently yesterday, but this morning internet router was down.  After rebooting the router installer could install grub2.

So:

1) something is internally wrong with how Live installer tries to install f2fs-tools, because it apparently can install grub2.

2) Yes we should include actual dependencies of Live installer in the ISO - at least grub2 and deps, and now as we in general support F2FS better, also f2fs-tools and deps.

Even if we fix 2), we should take a look at why 1) fail in case user select another type of filesystem that is not included, or some other reason a package is needed.
Comment 6 Martin Whitaker 2020-12-21 20:53:46 CET
draklive-install shares the partitioning tool used by the classical installer and diskdrake. That tool attempts to install the needed packages in the target filesystem, not the running filesystem. As the target filesystem hasn't been created at that point, that of course fails.

I don't know why it does that. I found this old comment in the code:

#- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mageia One)

which indicates it is an old and known problem. Maybe Thierry can shed some light on that.

I'll add f2fs-tools to the Live ISOs, which will work around this problem.

CC: (none) => thierry.vignaud

Comment 7 Thierry Vignaud 2020-12-21 21:37:47 CET
"Mandriva One" was a live CD (maybe done by Olivier Blin?)
(I'd worked on the earlier livecd editions but then Olivier took care of later editions if I remember right)
(I remember a night just before the release where we swichted from gzip to bzip2? compressor for live cd and then we'd plenty of space to add more pkgs :-))
(The comment was wrongly updated to Mageia when imported into git in commit fd8bbba2f0)

See eg:
http://www.tuxmachines.org/node/5372
https://duskfire.wordpress.com/2011/03/05/mandriva-one-review/

That particular comment was indeed added by Olivier Blin:
http://gitweb.mageia.org/software/drakx/commit/?id=059ebf518764b39267cb8ca3cfadb6f573eddeec
He added a check to bypass/skip the chrooted test for live cases.

We didn't have $::isLiveInstall at that time.
You added it 3 years ago in 2017: http://gitweb.mageia.org/software/draklive-install/commit/?id=7e28f939b41928fd41efb220af91337b31bfc37a

Nor is_mgalive() which got added in http://gitweb.mageia.org/software/drakx/commit/?id=73c30d928f6b53b727f92455c66c7aa83405b910 in 2015

do_pkgs.pm implements 2 sets of functions.
The initial one was for DrakX installer, working in a chroot (usually /mnt).
The 2nd one is for the standalone tools (working on real root fs, aka "/").

See do_pkgs() with either "drakdoc do_pkgs" or http://gitweb.mageia.org/software/drakx/tree/perl-install/do_pkgs.pm#n15

You do want to use the first version as you'll work in a chroot.
But you also do want to have the tools listed installed in http://gitweb.mageia.org/software/drakx/tree/perl-install/fs/format.pm#n29 in the live CD else it'll try to install them (think: the standalone "diskdrake case")

Else the partitionner will try to install them:
http://gitweb.mageia.org/software/drakx/tree/perl-install/fs/format.pm#n144

Another solution would to forbid the fs if the tools are not installed but I think it's just simpler for the live cd to match DrakX installer:
http://gitweb.mageia.org/software/drakx/tree/perl-install/install/share/list.xml#n24
https://svnweb.mageia.org/packages/cauldron/drakx-installer-stage2/current/SPECS/drakx-installer-stage2.spec?revision=1655144&view=markup#l135

CC: (none) => mageia

Comment 8 Dave Hodgins 2020-12-21 22:24:29 CET
(In reply to Morgan Leijström from comment #5)
> Even if we fix 2), we should take a look at why 1) fail in case user select
> another type of filesystem that is not included, or some other reason a
> package is needed.

The installer runs from distrib.sqfs whether run at boot or from live.

Changes made during live do not alter distrib.sqfs or the installer. The
f2fs-tools package may be installed in the live (tmpfs or persistent), but
that does not make it available in the distrib.sqfs file. As the distrib.sqfs
is read only when it's mounted, it can not be altered so the installer's
attempt to install f2fs-tools fails.
Comment 9 Morgan Leijström 2020-12-22 01:34:31 CET
(In reply to Dave Hodgins from comment #8)
> The installer runs from distrib.sqfs whether run at boot or from live.
> 
> Changes made during live do not alter distrib.sqfs or the installer.

Reality: if i install f2fs-tools in the Live system, Live installer succeeds creating f2fs. (and do not ask for f3fs-tools)
Comment 10 Martin Whitaker 2020-12-22 10:28:43 CET
Indeed, the installer runs in the live system environment, so has access to any additional software you install before starting it. And that additional software will also be copied to the installed system.
Comment 11 Morgan Leijström 2020-12-22 11:28:20 CET
Thierry, thank you for the history :)



--------(In reply to Martin Whitaker from comment #6)
> I'll add f2fs-tools to the Live ISOs, which will work around this problem.

If you also add grub2 and deps (and anything more the Live installer need) then Live installer can work without working internet which would be very nice.



(In reply to Martin Whitaker from comment #10)
> Indeed, the installer runs in the live system environment, so has access to
> any additional software you install before starting it. And that additional
> software will also be copied to the installed system.

Yes I noticed settings and added soft propagated :)

That is wonderful: user set up Live like he wants, then kind of carbon copy to target, over a partitioning he can set.


*IF* user want to install without his changes, he can start Live without his changes by one of several methods: the boot option to use RAM instead of partition, temporarily renamed persistence partition or renamed memory folder.

/home/live get linked to /home/thenewuser  Nice trick.


Do we have this already documented for users?
Else I add it to the wiki page i write
Comment 12 Martin Whitaker 2020-12-22 12:17:54 CET
grub2 and deps are already on the Live ISO (in its small local repository).
The Live Installer manual mentions that settings are copied over, but doesn't mention anything else.
Comment 13 Morgan Leijström 2020-12-22 15:52:56 CET
(In reply to Martin Whitaker from comment #12)
> grub2 and deps are already on the Live ISO (in its small local repository).

Well something was not working:
At end of install Live installer popped up a dialogue saying it could not install grub2, after i rebooted router it succeeded.


> The Live Installer manual mentions that settings are copied over, but
> doesn't mention anything else.

OK Thanks.
Comment 14 Martin Whitaker 2020-12-22 18:54:47 CET
The necessary packages have been added to the LIVE category in rpmsrate.

To be verified in the next ISO build.

Status: REOPENED => ASSIGNED
Status comment: (none) => fixed in svn

Comment 15 Morgan Leijström 2021-01-17 01:48:30 CET
Still valid 8RC round two + updates.

Running Live installer with network disconnected;
In custom partioning step trying to create F2FS partition, it ask to install f2fs-tools, click OK -> "Could not install the f2fs-tools package"

Repos Live Core and Live Nonfree are both enabled.
Comment 16 Morgan Leijström 2021-01-17 11:10:40 CET
OOPS i see today i tested using wrong stick, that one was beta2 ISO based...

Sorry

Retesting today
Comment 17 Morgan Leijström 2021-01-17 23:19:57 CET
Fixed :)

Resolution: (none) => FIXED
Status: ASSIGNED => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.