Compare commits

..

38 Commits

Author SHA1 Message Date
6ee00a33b2 12.6.5
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-03 13:50:01 +00:00
ab64e78fa5 update src/opt/apps/amber-ce-bookworm/files/flamescion-container-tools/bin-override/sudo.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-28 17:03:58 +00:00
6162040d09 12.6.4
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-28 15:03:45 +00:00
bfcd224c08 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-26 15:04:37 +00:00
290623e263 fix: Bwrap failed on Arch 2025-02-26 23:02:43 +08:00
0f8fb5df67 修复:无法正确展开环境
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-25 03:10:40 +00:00
ae87013a3a 12.6.2 2025-02-24 19:08:38 +08:00
885eb4cfc6 update:在root下也有 IS_ACE_ENV=1 了 2025-02-24 19:06:58 +08:00
72d926d928 删除文件 src/opt/apps/cn.flamescion.bookworm-compatibility-mode 2025-02-16 17:48:37 +00:00
3da7b0c9b4 update: 现在安装时可正确拉起N卡配置 2025-02-14 21:46:59 +08:00
dc01ee917c update:gitignore 2025-02-14 21:46:42 +08:00
0d0e8452bf update: amber-ce-bookworm-configure-nvidia 2025-02-14 21:39:05 +08:00
b2f1a9cccb update: bookworm-configure-nvidia 2025-02-14 21:31:46 +08:00
b1a2b02c1e update: 改为软链接到容器中
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-14 12:54:47 +00:00
517816ee00 update:nvidia-configure 2025-02-14 20:44:03 +08:00
f2f0c58436 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-14 12:19:57 +00:00
c5819be7d5 !8 feat: Support Nvidia Accelerate
Merge pull request !8 from shenmo/N/A
2025-02-12 15:16:38 +00:00
1f7a026401 feat: Support Nvidia Accelerate
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-12 15:15:00 +00:00
fa745aed12 12.5.16 2025-02-06 14:04:28 +08:00
5a7c2b41d4 update: 重新使用dpkg构建 ACE Host Integration 2025-02-06 14:02:54 +08:00
ded8320249 修改文案 2025-01-22 20:20:19 +08:00
1db8d4b98c adjust: 默认目录改成 amber-ce-bookworm 2025-01-17 21:13:16 +08:00
1ad4a2bfd4 update ignore 2025-01-17 21:12:43 +08:00
b8bbe9a672 adjust: now we don't depend dpkg in building 2024-12-24 11:26:20 +08:00
250e48b98e update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-19 04:54:05 +00:00
5f54c92b84 fix: can not pass args via bwrap
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-19 04:51:04 +00:00
df0b714c8b https://share.spark-app.store/index.php?share/folder&user=1&sid=wHP86Kp4
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-15 07:03:06 +00:00
cd1f0c0c22 Nope we don't proxy mimetypes as it cause dde down
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-07 10:44:51 +00:00
7c2dc1bbb2 update: build-container.sh to adapt debian sid 2024-12-06 23:18:15 +08:00
338f647763 ```
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-28 17:35:36 +00:00
286ced4488 yay -S amber-ce-bookworm
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-28 17:22:57 +00:00
f8c7a53864 https://pan.huang1111.cn/s/jR1GdUy
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-13 05:04:49 +00:00
5b09d279ea readme
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 17:50:20 +00:00
7fdb227c93 readme
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 17:33:49 +00:00
b9a0472b78 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 16:52:33 +00:00
e4cc26e3ea update .workflow/Debian-Build-amd64.yml.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:28:44 +00:00
09a12d3595 update Debian-Build-amd64.yml 2024-11-12 10:28:32 +00:00
fc711b285e update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 10:10:09 +00:00
48 changed files with 134 additions and 80 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
*.deb
src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/ace-env.tar.xz
src/opt/apps/amber-ce-bookworm/files/ace-env.tar.xz

View File

@@ -29,17 +29,17 @@ stages:
- apt build-dep . -y
- dpkg-buildpackage -b -us -uc
- cd ..
- ls -all
- ''
- mkdir target
- for f in $(find . -type f -name "*.deb")
- 'do '
- mv $f target
- mv -v $f target
- done
- ''
- ls -all
artifacts:
- name: BUILD_ARTIFACT
path:
- ./target
- ../target/
notify: []
strategy:
retry: '0'

View File

@@ -16,42 +16,26 @@ With the help of bubblewrap, a super tiny container solution, you can run a `Deb
Please use `git clone --recurse-submodules` to obtain the env
## Install Guide
## Install GuideDebian/Fedora/Arch)
### Quick Install (Need to install Spark Store first)
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spk-resolv.spark-app.store/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
### Manual InstallDebian/Fedora/Arch)
https://pan.huang1111.cn/s/jR1GdUy
Share Linkhttps://share.spark-app.store/index.php?share/folder&user=1&sid=wHP86Kp4
Ubuntu 18.04 Need install https://packages.debian.org/buster/bubblewrap
### Amber-CE x86
Use LAT to run a x86 bookworm container. Can install x86 debs and run x86 apps
https://pan.huang1111.cn/s/P63D6Cm
Arch: `yay -S amber-ce-bookworm`
---
## Build Guide
## Build From.Source
### Debian
Build the container first then build the package. Container at `src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files`
Here are the details:
1. Install dependencies: sudo apt-get install arch-test debootstrap libnss-mymachines systemd-container
2. Enter the terminal at `src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files` and execute `./build-container.sh amd64`.[for amd,other arch please change]
3. Wait for the container to complete.
4.Get in to `amber-ce-bookworm` dir,run`fakeroot dpkg-deb -b src .`
5.Wating for complete.
```
apt build-dep .
dpkg-buildpackage -us -uc -b
```
### Fedora

View File

@@ -11,42 +11,26 @@
请使用 `git clone --recurse-submodules` 来获取
## 安装指南
## 安装指南 Debian/Fedora/Arch)
### 快捷安装 (需要安装星火应用商店)
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spk-resolv.spark-app.store/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
### 手动安装Debian/Fedora/Arch)
https://pan.huang1111.cn/s/jR1GdUy
分享链接https://share.spark-app.store/index.php?share/folder&user=1&sid=wHP86Kp4
Ubuntu 18.04 需要安装 https://packages.debian.org/buster/bubblewrap
### Amber-CE x86
利用 LAT 运行的x86容器可安装和运行x86的deb
https://pan.huang1111.cn/s/P63D6Cm
Arch`yay -S amber-ce-bookworm`
---
## 构建指南
## 从源代码构建指南
### Debian
先构建容器再打包,容器位置在`src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files`
下面是详细步骤:
1. 安装依赖sudo apt-get install arch-test debootstrap libnss-mymachines systemd-container
2.`src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files`位置进入终端,执行`./build-container.sh amd64`[amd架构其他架构同理]`
3. 等待容器打包完成
4. 进入`amber-ce-bookworm`目录,执行`fakeroot dpkg-deb -b src .`
5. 等待打包完成
```
apt build-dep .
dpkg-buildpackage -us -uc -b
```
### Fedora
@@ -56,4 +40,4 @@ https://pan.huang1111.cn/s/P63D6Cm
`yay -S amber-ce-bookworm`
---
---

14
debian/changelog vendored
View File

@@ -1,8 +1,20 @@
amber-ce-bookworm (12.4.14-4) UNRELEASED; urgency=low
amber-ce-bookworm (12.6.5) UNRELEASED; urgency=low
* 修复 Arch 下无法在容器中使用 Bwrap
* 修复 bwrap 下无法使用N卡加速
* 修复 无法启动自动更新
* 修复 绝对路径图标路径检查出错
-- shenmo <shenmo@spark-app.store> Wed, 25 Sep 2024 23:15:49 +0800
amber-ce-bookworm (12.6.2) UNRELEASED; urgency=low
* fix: Can't pass args via bwrap
* fix: Auto upgrade service always pop up upgradable notifier
* fix: /etc/apt/sources.list only request main repo
* fix: sudo function error: Need sudo sudo to really sudo
* fix: ACE Host Integration fail
* adjust: remove dpkg from building depends
* 把默认目录改为 amber-ce-bookworm
* 支持使用Nvidia驱动加速
* 修复 Root 下无法获取IS_ACE_ENV=1
-- shenmo <shenmo@spark-app.store> Wed, 25 Sep 2024 23:15:49 +0800

View File

@@ -2,18 +2,24 @@
export PACKAGE_NAME="$DPKG_MAINTSCRIPT_PACKAGE"
if [ "${PACKAGE_NAME}" = "cn.flamescion.bookworm-compatibility-mode" ];then
if [ -d /opt/apps/cn.flamescion.bookworm-compatibility-mode/files/bookworm-env ];then
PACKAGE_NAME=amber-ce-bookworm # 为了后面正确清理
if [ -d /opt/apps/cn.flamescion.bookworm-compatibility-mode/ ];then
mv /opt/apps/cn.flamescion.bookworm-compatibility-mode/files/bookworm-env /opt/apps/cn.flamescion.bookworm-compatibility-mode/files/ace-env
ln -sfv /opt/apps/cn.flamescion.bookworm-compatibility-mode/files/ace-env /opt/apps/cn.flamescion.bookworm-compatibility-mode/files/bookworm-env
unlink /opt/apps/amber-ce-bookworm
mv -v /opt/apps/cn.flamescion.bookworm-compatibility-mode/ /opt/apps/amber-ce-bookworm/
fi
fi
/opt/apps/$PACKAGE_NAME/files/bin/ace-init
if [ "${PACKAGE_NAME}" = "cn.flamescion.bookworm-compatibility-mode" ];then
if [ "${PACKAGE_NAME}" = "amber-ce-bookworm" ];then
systemctl daemon-reload
systemctl enable ace-bookworm-auto-upgrade
systemctl start ace-bookworm-auto-upgrade

View File

@@ -2,6 +2,7 @@
PACKAGE_NAME="$DPKG_MAINTSCRIPT_PACKAGE"
if [ "${PACKAGE_NAME}" = "cn.flamescion.bookworm-compatibility-mode" ];then
PACKAGE_NAME=amber-ce-bookworm # 为了后面正确清理
systemctl stop ace-bookworm-auto-upgrade
systemctl disable ace-bookworm-auto-upgrade
fi

2
debian/control vendored
View File

@@ -2,7 +2,7 @@ Source: amber-ce-bookworm
Section: misc
Priority: optional
Maintainer: shenmo <shenmo@spark-app.store>
Build-Depends: debhelper-compat (= 13),debootstrap,systemd-container
Build-Depends: debhelper-compat (= 13),debootstrap,systemd-container,sudo
Standards-Version: 4.5.1
Homepage: https://gitee.com/amber-ce/amber-ce-bookworm/
Rules-Requires-Root: binary-targets

2
debian/rules vendored
View File

@@ -6,7 +6,7 @@
dh $@
override_dh_auto_configure:
cd src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files && bash build-container.sh $(shell uname -m)
cd src/opt/apps/amber-ce-bookworm/files && bash build-container.sh $(shell uname -m)
override_dh_dwz:

View File

@@ -1 +0,0 @@
./cn.flamescion.bookworm-compatibility-mode/

View File

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View File

@@ -114,3 +114,4 @@ sudo -u $(who | awk '{print $1}' | head -n 1) bwrap --dev-bind $chrootEnvPath/ /
bookworm-run update-locale LANG=$LANG
chown -R root $chrootEnvPath
chmod 777 -R $chrootEnvPath/usr/share/icons
amber-ce-bookworm-configure-nvidia || true

View File

@@ -0,0 +1,67 @@
#!/bin/bash
log.warn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
log.error() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; }
log.info() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
log.debug() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }
if [ "$UID" != "0" ];then
log.error "需要以root权限运行 Need to be run as root."
exit 1
fi
# 1\. 获取宿主机 NVIDIA 驱动版本
nvidia_version=$(cat /sys/module/nvidia/version 2>/dev/null)
if [ -z "$nvidia_version" ]; then
log.error "无法获取 NVIDIA 驱动版本 Can not determine NVIDIA Driver version"
exit 1
fi
# 2\. 目标目录准备
ACE_DIR="/opt/apps/amber-ce-bookworm/files/ace-env"
if [[ ! -e "${ACE_DIR}" ]];then
log.error "未检测到 ACE Bookworm 安装,请安装后再试 ACE Bookworm is not detected. Please try again after installation"
spark-store spk://store/tools/cn.flamescion.bookworm-compatibility-mode &
log.info "请按回车关闭... Press Enter to close..."
read
exit 1
fi
mkdir -p "$ACE_DIR/usr/lib" "$ACE_DIR/usr/lib32"
log.info "正在链接 NVIDIA 驱动库 Linking NVIDIA Driver Libs"
# 3\. 收集库文件路径
lib_list=$(ldconfig -p | grep -Ei "nvidia|libcuda" | cut -d'>' -f2)
# 4\. 复制库文件
copied=0
for lib in $lib_list; do
resolved=$(readlink -f "$lib") # 解析符号链接
if file "$resolved" | grep -q "32-bit"; then
ln -sf "/host/$resolved" "$ACE_DIR/usr/lib32/$(basename $lib)"
else
ln -sf "/host/$resolved" "$ACE_DIR/usr/lib/$(basename $lib)"
copied=1
fi
done
# 5\. 复制辅助文件
additional_files=(
/usr/share/vulkan/icd.d/nvidia_icd.json
/usr/share/egl/egl_external_platform.d/20_nvidia_xcb.json
)
for file in "${additional_files[@]}"; do
if [ -f "$file" ]; then
file=$(readlink -f "$file")
dir=$(dirname "$file")
mkdir -p "$ACE_DIR/$dir"
ln -sf "/host/$file" "$ACE_DIR/$dir"
fi
done
# 6\. 标记版本
if [ $copied -eq 1 ]; then
echo "$nvidia_version" > "$ACE_DIR/current_version"
log.info "NVIDIA 驱动库已成功链接 Nvidia Driver Libs are successfully linked. "
else
log.error "未找到有效 NVIDIA 库文件 No valid NVIDIA Driver Libs found."
fi

View File

@@ -107,8 +107,7 @@ BIND_DIRS=(
"--dev-bind-try /mnt /mnt"
"--dev-bind-try /tmp /tmp"
"--dev-bind-try /data /data"
"--dev /dev"
"--dev-bind-try /dev/dri /dev/dri"
"--dev-bind-try /dev /dev"
"--proc /proc"
"--dev-bind /sys /sys"
"--dev-bind /run /run"

View File

@@ -104,10 +104,10 @@ ENV_VARS=(
BIND_DIRS=(
"--dev-bind $chrootEnvPath/ /"
"--dev-bind-try /media /media"
"--dev-bind-try /mnt /mnt"
"--dev-bind-try /tmp /tmp"
"--dev-bind-try /data /data"
"--dev /dev"
"--dev-bind-try /dev/dri /dev/dri"
"--dev-bind-try /dev /dev"
"--proc /proc"
"--dev-bind /sys /sys"
"--dev-bind /run /run"
@@ -116,10 +116,8 @@ BIND_DIRS=(
"--ro-bind-try /usr/share/themes /usr/local/share/themes"
"--ro-bind-try /usr/share/icons /usr/local/share/icons"
"--ro-bind-try /usr/share/fonts /usr/local/share/fonts"
"--ro-bind-try $(realpath /etc/localtime) /etc/localtime"
"--dev-bind-try /etc/resolv.conf /etc/resolv.conf"
"--dev-bind-try /home /home"
)
EXTRA_ARGS=(
"--hostname Amber-CE-Bookworm"

View File

@@ -15,14 +15,14 @@ if [ "$1" = "amd64" ] || [ "$1" = "x86_64" ];then
ARCH="amd64"
ARCH_ANOTHERWAY="x64"
cd "`dirname $0`"
sudo debootstrap --components=main,contrib,non-free,non-free-firmware --include=libnotify-bin,apt-utils,bash-completion,bc,curl,dialog,diffutils,findutils,gnupg2,less,libnss-myhostname,libvte-common,lsof,ncurses-base,passwd,pinentry-curses,procps,sudo,time,util-linux,wget,libegl1-mesa,libgl1-mesa-glx,libvulkan1,mesa-vulkan-drivers,locales,libglib2.0-bin --arch=${ARCH} bookworm ./ace-env https://mirrors.ustc.edu.cn/debian/
sudo debootstrap --components=main,contrib,non-free,non-free-firmware --include=libnotify-bin,apt-utils,bash-completion,bc,curl,dialog,diffutils,findutils,gnupg2,less,libnss-myhostname,libvte-common,lsof,ncurses-base,passwd,pinentry-curses,procps,sudo,time,util-linux,wget,libegl1,libvulkan1,mesa-vulkan-drivers,locales,libglib2.0-bin --arch=${ARCH} bookworm ./ace-env https://mirrors.ustc.edu.cn/debian/
elif [ "$1" = "arm64" ] || [ "$1" = "arm" ]|| [ "$1" = "aarch64" ];then
ARCH="arm64"
ARCH_ANOTHERWAY="arm64"
cd "`dirname $0`"
sudo debootstrap --components=main,contrib,non-free,non-free-firmware --include=libnotify-bin,apt-utils,bash-completion,bc,curl,dialog,diffutils,findutils,gnupg2,less,libnss-myhostname,libvte-common,lsof,ncurses-base,passwd,pinentry-curses,procps,sudo,time,util-linux,wget,libegl1-mesa,libgl1-mesa-glx,libvulkan1,mesa-vulkan-drivers,locales,libglib2.0-bin --arch=${ARCH} bookworm ./ace-env https://mirrors.ustc.edu.cn/debian/
sudo debootstrap --components=main,contrib,non-free,non-free-firmware --include=libnotify-bin,apt-utils,bash-completion,bc,curl,dialog,diffutils,findutils,gnupg2,less,libnss-myhostname,libvte-common,lsof,ncurses-base,passwd,pinentry-curses,procps,sudo,time,util-linux,wget,libegl1,libvulkan1,mesa-vulkan-drivers,locales,libglib2.0-bin --arch=${ARCH} bookworm ./ace-env https://mirrors.ustc.edu.cn/debian/
elif [ "$1" = "loong" ] || [ "$1" = "loong64" ];then
ARCH="loong64"
ARCH_ANOTHERWAY="loong64"

View File

@@ -54,7 +54,7 @@ local file=$1
icon_line=$(grep "^Icon=" "$file")
if [[ "$icon_line" == "Icon=/"* ]]; then
# 如果Icon=后面接的是/,则添加前缀
sed -i 's|^Icon=/|Icon=/opt/apps/amber-ce-bookworm/files/bookworm-env/|' "$file"
sed -i 's|^Icon=/|Icon=/opt/apps/amber-ce-bookworm/files/ace-env/|' "$file"
fi
fi
@@ -63,7 +63,7 @@ local file=$1
chmod +x $file
}
if [ "${IS_ACE_ENV}" != "" ] || [[ -e /opt/ace-host-integration/ace-host-integration ]] && [[ -e /flamescion-container-tools ]];then
if [ "${IS_ACE_ENV}" != "" ] ;then
if [ -e /opt/apps/ ];then
for app_dir in $(ls /opt/apps/); do
for file in /opt/apps/$app_dir/entries/applications/*.desktop;do

View File

@@ -1,2 +1,2 @@
#!/bin/bash
host-spawn /opt/apps/amber-ce-bookworm/files/bin/bookworm-run-bwrap $@
host-spawn /opt/apps/amber-ce-bookworm/files/bin/bookworm-run-bwrap "$@"

View File

@@ -0,0 +1,6 @@
#!/bin/bash
if [ "$UID" = "0" ];then
/usr/bin/sudo $@
else
host-spawn sudo bookworm-run sudo env IS_ACE_ENV="1" PATH="/flamescion-container-tools/bin-override:$PATH" "$@"
fi

View File

@@ -127,6 +127,7 @@ apt install --reinstall /flamescion-container-tools/ace-host-integration.deb
cd /flamescion-container-tools/data-dir/
ln -sfv ../../usr/share/applications/ .
ln -sfv ../../usr/share/icons/ .
ln -svf ../../usr/share/mime .
#ln -svf ../../usr/share/mime .
rm -vf ./mime
update-desktop-database /usr/share/applications || true
update-mime-database /usr/share/mime || true

View File

@@ -1,6 +0,0 @@
#!/bin/bash
if [ "$UID" = "0" ];then
/usr/bin/sudo $@
else
host-spawn sudo bookworm-run sudo $@
fi

View File

@@ -0,0 +1 @@
../../opt/apps/amber-ce-bookworm/files/bin/amber-ce-bookworm-configure-nvidia