interesting cross-install failure

看板DFBSD_kernel作者時間21年前 (2004/10/27 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
I was able to successfully buildworld and buildkernel in /dfly/usr/src. I ran into interesting difficulties when trying to install from /dfly/usr/src to /dfly. For background, as an experiment I was trying to do a "fresh" install (a sort of bootstrap) via source, on a machine running FreeBSD 4.10. I fdisked and disklabeled a new disk, mounted it (/dfly and /dfly/usr), cvsupped the DragonFly source onto it, and built the system & kernel. Installing gets tricky, in three places. mergemaster, for whatever reason, refused to DTRT (even using -m) - it kept mysteriously wanting to install FreeBSD files - so instead I had to do cp -pR /dfly/usr/src/etc /dfly/etc to get an etc to start with. Also, when I tried to installkernel, it complained that I was missing parts of the directory hierarchy - most of it in fact! So I decided to do installworld first, thinking it would probably create the missing dirs. Doing that I discovered a subtle issue with the install _program_. It _implicitly_ refers to the "host" machine's /etc/master.passwd and /etc/group, and there is no way to override this, and since installworld uses symbolic rather than numeric uid's and gid's, and since DragonFly introduces a few new uid's and gid's (compared to FBSD 4.10), install complains, and installworld fails. I tried using chroot, but figure out a way to make it work. My interim simple solution was to add the necessary id's to /etc/master.passwd and /etc/group. Doing that, the installworld and installkernel were successful. I've crufted together an rc.conf and fstab. Maybe it'll boot... Has anyone ever tried anything like this, and is worth trying to change/fix? Now that I have DragonFly "bootstrapped" onto this disk I won't have this trouble in the future; even so, I thought the process was worth documenting. Cheers, - David
文章代碼(AID): #11VokV00 (DFBSD_kernel)
文章代碼(AID): #11VokV00 (DFBSD_kernel)