Присмотритесь к rsync вместо wget.
у нас реализация обновления без ядра реализована посредством ключей параметров загрузки.
задается, что репозиторий с системой и модулями находится там-то и там-то, задается где локально они хранятся в установленной системе и задается параметром аналогично copy2ram= маска для модулей которые необходимо синхронизировать copy2rep=.
При старте всегда осуществляется синхронизация по такой схеме. Если изменений нет, то загрузка продолжается почти без задержек (специфика алгоритмов заложенных в rsync), если есть изменения в модулях, эти изменения закачиваются в виде разницы между блоками данных (это в rsync заложено), а поскольку squashfs - блочный алгоритм, то фактически закачивается небольшая часть изменений внутри каждого модуля.