Hello, ShiftPlusOne,
it's great news - this package definitely need some tweaking and improving.
I see that Debian's native chromium can be built without any cross-compiling (I did it just on RPi5) maybe your future chromium-browser will abandon cross-compilation as well?
But it seems like I was able to cross-compile and prepare packages using your instructions and some additional editing.
My package (unlike your package) don't contain folder and libraries usr/lib/chromium-browser/local_rustc_sysroot/lib/rustlib/aarch64-unknown-linux-gnu/lib/ but I believe that folder present in jour package by accident (or I don't see it's usage yet).
Here is my description of process in case if someone like me will be interesting in re-compilation of browser.
After finishing of in chromium folder do:debian and chrome folders from RPi-Distro/chromium-browser archive must be placed into chromium/src folder.Patching supposed to work from chromium folder level.set executable bits to all shell and python scripts:manually modify file pi-util/rebase_liblinks.py adding brackets for print operator.
obtain sysroot from RPi5 build host (note use of personal login - you’ll need to put password about 6 times):modify gngen.py script adding in do_copy:and fix with correct (bookworm) name --64 path of __main__:rename file with default arguments according to new distribution we use:and call configuration generation script from src folder level:when both targets are built withthen some files from both folders must be cleared out, at this iteration I didthen all patches must be disabled in debian/patches/series because they can't (and don’t need to) be applied
then chromedriver project deleted from debian/control file and all it’s mentions from debian/rules because there are no artifacts for it
Also in debian/rules replaceit’s time to mount chromium folder to RPi systemand in chromium/src from RPi5 callprovides following packages which seems to work fine with general html apps and provide same level of video acceleration as 'native' chromium-browser (tested h264).
it's great news - this package definitely need some tweaking and improving.
I see that Debian's native chromium can be built without any cross-compiling (I did it just on RPi5) maybe your future chromium-browser will abandon cross-compilation as well?
But it seems like I was able to cross-compile and prepare packages using your instructions and some additional editing.
My package (unlike your package) don't contain folder and libraries usr/lib/chromium-browser/local_rustc_sysroot/lib/rustlib/aarch64-unknown-linux-gnu/lib/ but I believe that folder present in jour package by accident (or I don't see it's usage yet).
Here is my description of process in case if someone like me will be interesting in re-compilation of browser.
After finishing of
Code:
fetch --nohooks chromium
Code:
cd src/git checkout 126.0.6478.164gclient sync --with_branch_heads -D
Code:
cd ..unzip master.zipcp -r chromium-browser-master/* src/
Code:
QUILT_PATCHES="/media/xternalflash/chromium/src/debian/patches" quilt push -a
Code:
chmod a+x pi-util/*.pychmod a+x pi-util/*.sh
obtain sysroot from RPi5 build host (note use of personal login - you’ll need to put password about 6 times):
Code:
./pi-util/syncroot.sh --arm64 snv@192.168.120.94: pios_bookworm_arm64
Code:
dargs.write('chrome_pgo_phase = 0\n')
Code:
if len(sys.argv) < 2 or sys.argv[1] == "--64": gyp_vars["target_sysroot"] = os.path.abspath("build/linux/pios_bookworm_arm64-sysroot") docopy("arm64-bookworm", gyp_vars, is_ozone=True) docopy("arm64-bookworm", gyp_vars, is_ozone=True, extra_codecs=False)
Code:
mv defargs_arm64-bullseye.gn defargs_arm64-bookworm.gn
Code:
./pi-util/gngen.py --64
Code:
ninja -C out/arm64-bookworm-ozone-rel chrome chrome_sandboxninja -C out/arm64-bookworm-ozone-rel-std chrome chrome_sandbox
Code:
cd outfind . -name obj -exec rm -rf {} +cd arm64-bookworm-ozone-rel-std/rm -rf gen clang_x64*rm -rf *.TOC *_deps *.zip core-* bin test_* toolchain.ninja third_party tools local_rustc_sysroot thinlto-cachecd ../arm64-bookworm-ozone-rel/rm -rf gen clang_x64*rm -rf *.TOC *_deps *.zip core-* bin test_* toolchain.ninja third_party tools local_rustc_sysroot thinlto-cache
then chromedriver project deleted from debian/control file and all it’s mentions from debian/rules because there are no artifacts for it
Also in debian/rules replace
Code:
main_build="arm64-bullseye-ozone-rel" with main_build="arm64-bookworm-ozone-rel"
Code:
sshfs -o allow_other,default_permissions root@192.168.120.209:/media/xternalflash/chromium /media/xternalflash/chromium
Code:
dpkg-buildpackage -rfakeroot -b
Code:
-rw-r--r-- 1 root root 885692 Jul 25 10:58 chromium-codecs-ffmpeg-extra_126.0.6478.164-rpt1_arm64.deb-rw-r--r-- 1 root root 6720752 Jul 25 10:59 chromium-browser-l10n_126.0.6478.164-rpt1_all.deb-rw-r--r-- 1 root root 600360 Jul 25 10:59 chromium-codecs-ffmpeg_126.0.6478.164-rpt1_arm64.deb-rw-r--r-- 1 root root 592271604 Jul 25 11:14 chromium-browser_126.0.6478.164-rpt1_arm64.deb
Statistics: Posted by atthe — Sun Jul 28, 2024 6:46 pm