M cmake/modules/AddScripts.cmake => cmake/modules/AddScripts.cmake +1 -1
@@ 11,7 11,7 @@ function(add_scripts_target)
${_ARG_TARGET}
DEPENDS ${_ARG_DEPENDS}
- COMMAND ${PROJECT_SOURCE_DIR}/scripts/lua/install.sh ${_ARG_PRODUCT} ${_ARG_DEST_DIR} udm
+ COMMAND ${PROJECT_SOURCE_DIR}/scripts/lua/install.sh ${_ARG_PRODUCT} ${_ARG_DEST_DIR}
COMMENT
"Installing scripts for ${_ARG_PRODUCT} to ${_ARG_DEST_DIR} directory"
)
D image/system_a/data/personalization.json => image/system_a/data/personalization.json +0 -10
@@ 1,10 0,0 @@
-{
- "serial" : "00000000000000",
- "model" : "1.00",
- "case_colour" : "nocase",
- "pcb_mb_version" : "0v0",
- "pcb_um_version" : "0v0",
- "pcb_lm_version" : "0v0",
- "pcb_am_version" : "0v0",
- "battery_revision" : "0v0"
-}
M products/PurePhone/CMakeLists.txt => products/PurePhone/CMakeLists.txt +1 -1
@@ 110,7 110,7 @@ add_directories(
TARGET create_user_directories
PREFIX ${SYSROOT_PATH}/user
DEPENDS system_directories_common
- DIRECTORIES data temp media/app/music_player
+ DIRECTORIES temp media/app/music_player
)
if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
M scripts/lua/install.sh => scripts/lua/install.sh +0 -6
@@ 32,12 32,6 @@ if validate_product_selection; then
cp -r share ${DESTINATION}/share
cp -r migration/migration.lua ${DESTINATION}/share
cp *.lua ${DESTINATION}
-
- if [ -n "$3" ]; then
- echo "Generating UDM update package"
- cp update_udm.lua ${DESTINATION}/update.lua
- cp products/${PRODUCT}/update_product.lua ${DESTINATION}
- fi
rm ${DESTINATION}/update_udm.lua
cd -
fi=
\ No newline at end of file
D scripts/lua/update_udm.lua => scripts/lua/update_udm.lua +0 -159
@@ 1,159 0,0 @@
-local update = {}
-local lfs = require('lfs')
-local json = require('lunajson')
-local paths = require('paths')
-local consts = require('consts')
-local helpers = require('helpers')
-local recovery = require('recovery')
-local migration = require('migration')
-local update_product = require('update_product')
-
-update.script_name = "update.lua"
-update.img_in_progress = "assets/gui_image_update_in_progress.bin"
-update.img_success = "assets/gui_image_update_success.bin"
-update.img_failure = "assets/gui_image_update_failed.bin"
-
--- Match only files with '.db' extensions and omit such files inside subdirectories
-local match_db_files = '^[^%/]*%.db$'
-
-local function build_db_set(file)
- local contents = helpers.read_whole_file(file)
- local root = json.decode(contents)
- local set = {}
- for _, entry in pairs(root.databases) do
- set[entry.name] = tonumber(entry.version)
- end
- return set
-end
-
-local function purge_target_slot()
- local target_dir = recovery.sys.target_slot()
- print(string.format("Removing target slot content, '%s'", target_dir))
- helpers.rmdir_content(target_dir)
-end
-
-local function copy_update_package()
- local target_dir = recovery.sys.target_slot()
- print(string.format("Copying content of the update package '%s' to '%s'", paths.update_dir, target_dir))
- helpers.copy_dir(paths.update_dir, target_dir)
-end
-
-local function copy_databases()
- local from = recovery.sys.user()
- local to = paths.target.db_dir
- print(string.format("Copying databases from '%s' to '%s'", from, to))
- helpers.copy_dir_filtered(from, to, match_db_files)
-end
-
-local function create_directories()
- print("Creating 'log', 'crash_dumps' and 'sys' directories")
-
- local target_dir = recovery.sys.target_slot()
- lfs.mkdir(target_dir .. "/log")
- lfs.mkdir(target_dir .. "/crash_dumps")
- lfs.mkdir(target_dir .. "/var")
-end
-
-local function migrate_db()
- local target_dir = recovery.sys.target_slot()
- local version_file = paths.update_dir .. "/" .. consts.version_file
- local db_path = target_dir .. "/db"
- local migration_dir = db_path .. "/migration"
-
- print("Performing database migration")
- local dbset = build_db_set(version_file)
- local result = migration.migrate(db_path, migration_dir, dbset)
- assert(result == migration.retcode.OK, string.format("Database migration process failed with %d", result))
-end
-
-local function enter()
- -- Mark the current slot as successful
- recovery.bootctrl.mark_as_successful()
- -- Mark the target slot as unbootable
- recovery.bootctrl.mark_as_unbootable(recovery.bootctrl.get_next_active())
-end
-
-local function exit()
- print("Finishing update process")
- helpers.rmdir(paths.update_dir)
- os.remove(paths.update_file)
-
- -- Update the working directory to the newly updated scripts directory
- lfs.chdir(recovery.sys.target_slot() .. "/scripts")
-
- -- Mark the old 'MUDITAOS' partition as unbootable&unsuccessful
- recovery.bootctrl.mark_as_unbootable(recovery.bootctrl.get_current_slot())
- -- Mark the 'system_b' as bootable and active
- recovery.bootctrl.mark_as_bootable(recovery.bootctrl.get_next_active())
- recovery.bootctrl.mark_as_active(recovery.bootctrl.get_next_active())
- recovery.sys.set_os_boot_status(false)
-end
-
-local function repartition_filesystem()
- print("Repartitioning 'MUDITAOS' and 'BACKUP' partitions and changing theirs labels")
-
- -- Repartitioning filesystem remounts all available disks. During this process, working directory
- -- will be set to the default one hence we need to recreate it.
- local wdir = lfs.currentdir()
- recovery.sys.repartition_fs()
- lfs.chdir(wdir)
-end
-
-local function user_remove_directories()
- print("->Removing backup, crash_dumps, data, db, logs, tmp directories")
- if helpers.exists(recovery.sys.user() .. "/backup") then
- helpers.rmdir(recovery.sys.user() .. "/backup")
- end
- if helpers.exists(recovery.sys.user() .. "/crash_dumps") then
- helpers.rmdir(recovery.sys.user() .. "/crash_dumps")
- end
- if helpers.exists(recovery.sys.user() .. "/data") then
- helpers.rmdir(recovery.sys.user() .. "/data")
- end
- if helpers.exists(recovery.sys.user() .. "/db") then
- helpers.rmdir(recovery.sys.user() .. "/db")
- end
- if helpers.exists(recovery.sys.user() .. "/logs") then
- helpers.rmdir(recovery.sys.user() .. "/logs")
- end
- if helpers.exists(recovery.sys.user() .. "/tmp") then
- helpers.rmdir(recovery.sys.user() .. "/tmp")
- end
-end
-
-local function user_remove_files()
- print("->Removing files")
- helpers.rm_files_from_dir(recovery.sys.user())
-end
-
-local function user_create_directories()
- print("->Creating media directory")
- lfs.mkdir(recovery.sys.user() .. "/media")
-end
-
-local function user_product_specific()
- print("->Executing product specific steps")
- update_product.execute()
-end
-
-local function adjust_user_partition_layout()
- print("Adjusting user partition layout...")
- user_remove_directories()
- user_create_directories()
- user_product_specific()
- user_remove_files()
-end
-
-function update.execute()
- enter()
- repartition_filesystem()
- purge_target_slot()
- copy_update_package()
- copy_databases()
- create_directories()
- migrate_db()
- adjust_user_partition_layout()
- exit()
-end
-
-return update