On Sat, Nov 27, 2010 at 10:28 AM, koniu <[email protected]> wrote: > Hello, > > I have a problem with opkg reporting built-in packages as upgradable > because of differences in /usr/lib/opkg/status file on /rom and > /overlay (USB pendrive block-extroot). > > I just reflashed my router with a fresh build from trunk and now "opkg > list_upgradable" wrongly shows a bunch of packages that are built into > the image. Let's take libc as an example: > > r...@marvin:~# opkg list_upgradable | grep libc > Multiple packages (libc and libc) providing same name marked HOLD or > PREFER. Using latest. > Multiple packages (libc and libc) providing same name marked HOLD or > PREFER. Using latest. > libc - 0.9.31-60 - 0.9.31-61 > > This is because there's 2 different versions of /usr/lib/opkg/status - > one in /rom and one /overlay - and the package is, for some reason, in > both of them:
It sounds like when you created the files on your (soon to be) / filesystem, instead of copying the overlay, you separately copied the 2 filesystems that comprise it... You would have ended up with the original contents of the image as well as any "upgrades" you have made to it simultaneously. I also may be way off here since I am just getting started with this stuff. I'm going to replace my redboot completely so I can boot off of sdhc and completely avoid this mess (I hope anyhow). Ubiquity is not too forthcoming in providing their redboot sources though. I may just end up losing their recovery procedure. If I am way off, please let me know so I have a better understanding as well. > r...@marvin:~# grep -A1 libc$ /rom/usr/lib/opkg/status > /overlay/usr/lib/opkg/status > /rom/usr/lib/opkg/status:Package: libc > /rom/usr/lib/opkg/status-Version: 0.9.31-61 > -- > /overlay/usr/lib/opkg/status:Package: libc > /overlay/usr/lib/opkg/status-Version: 0.9.31-60 > > Now, as far as I can tell, libc has never been installed in the > extroot /overlay: > > r...@marvin:~# opkg files libc > Package libc (0.9.31-60) is installed on root and has the following files: > /lib/libdl-0.9.31.so > /lib/libnsl.so.0 > /lib/libutil-0.9.31.so > /lib/libnsl-0.9.31.so > /lib/libresolv.so.0 > /lib/ld-uClibc-0.9.31.so > /lib/libm.so.0 > /lib/libm-0.9.31.so > /lib/libutil.so.0 > /lib/libuClibc-0.9.31.so > /lib/libresolv-0.9.31.so > /lib/ld-uClibc.so.0 > /lib/libdl.so.0 > /lib/libcrypt-0.9.31.so > /lib/libc.so.0 > /lib/libcrypt.so.0 > > r...@marvin:~# ls /overlay/lib/ > firmware modules uci upgrade wifi > > r...@marvin:~# ls /rom/lib/ > ar71xx.sh libdl.so.0 libuClibc-0.9.31.so > config libgcc_s.so.1 libuci.so > firewall libm-0.9.31.so libuci.so.2010-09-28 > firmware libm.so.0 libutil-0.9.31.so > firstboot libnsl-0.9.31.so libutil.so.0 > functions libnsl.so.0 modules > ld-uClibc-0.9.31.so libpthread-0.9.31.so network > ld-uClibc.so.0 libpthread.so.0 preinit > libc.so.0 libresolv-0.9.31.so upgrade > libcrypt-0.9.31.so libresolv.so.0 wifi > libcrypt.so.0 librt-0.9.31.so > libdl-0.9.31.so librt.so.0 > > > Setup details: > > * I'm using my own build of trunk with block-extroot and relevant usb > and fs kmods built into the image. > * rootfs on the USB pendrive is mounted through /etc/config/fstab: > > config mount > option device /dev/sda1 > option fstype ext3 > option options rw,async > option enabled 1 > option enabled_fsck 0 > option is_rootfs 1 > > * /etc/opkg.conf: > > src/gz snapshots > http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages > src/gz local http://10.7.7.7:8000 > dest root / > dest ram /tmp > lists_dir ext /var/opkg-lists > option overlay_root /overlay > > > Am I doing something wrong? How do I deal with this kind of situation, > how to avoid it, what is common practice for using external rootfs > when reflashing the /rom? > _______________________________________________ > openwrt-users mailing list > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-users > _______________________________________________ openwrt-users mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-users
