I'm trying to symlink /etc/group, /etc/passwd and /etc/shadow to RW partition, in my case to /data/etc (rootfs-overlay). I created a post-build that moves above files to /data/etc/ directory and creates symlinks pointing to the moved files. When I'm pausing my post-build script just before the exit everything is looking fine. /output/target: lrwxrwxrwx 1 timo timo 17 huhti 20 12:24 group -> ../data/etc/group lrwxrwxrwx 1 timo timo 18 huhti 20 12:24 passwd -> ../data/etc/passwd lrwxrwxrwx 1 timo timo 18 huhti 20 12:24 shadow -> ../data/etc/shadow But when the Buildroot build is finished the above symlinks are overwritten -rw-r--r-- 1 timo timo 320 huhti 20 12:29 group -rw-r--r-- 1 timo timo 389 huhti 20 12:29 passwd -rw------- 1 timo timo 291 huhti 20 12:29 shadow Q: Is this as specified or a bug? Q: If as specified, what is correct way to symlink above files?
Timo, This is (somewhat) expected. When creating the filsystem images, there is a part creating the passwd, groups and shadow (and possibly, gshadow) files from the setting in Buildroot. This will forcibly create files (AFAIR). So, what you want to provide is probably a "fakeroot" script. This will be called after the passwd, group and shadow files are created, but before the images are assembled.
Thanks. I have totally missed the fakeroot script - perhaps I have just skipped it as didn't understood when to use it. I moved /etc/group, /etc/passwd and /etc/shadow handling from post-build script to fakeroot script. Result: works as it should be. I mark bug resolved as invalid.