LINUX.ORG.RU
решено ФорумMobile

[Решено] Установить GNU/Linux на Acer A1-840 FHD

 


0

1

Есть Acer Iconia Tab A1-840 FHD, планшет на Intel Atom Z3745, рутованый по инструкции с 4PDA. Как на него установить онтопик? Подойдет инструкция хоть про Linux Deploy хоть про установку на голое железо.

Если попробовать в Linux Deploy 2.5.1-257 настроить профиль таким образом

https://images.linuxforum.ru/images/2022/12/06/Screenshot_2022-12-07-00-44-36...

https://0x0.st/odHU.png

https://images.linuxforum.ru/images/2022/12/06/Screenshot_2022-12-07-00-45-02...

и нажать Меню -> Установить, получаю такой лог

>>> deploy
## bootstrap/rootfs : do_install && do_configure
:: Installing bootstrap/rootfs ... 
Checking installation path ... done
Making file system (ext4) ... /storage/emulated/legacy/linux.img is mounted; mke2fs forced anyway.  Hope /etc/mtab is incorrect.
done
Checking file system ... done
Mounting the container: 
/ ... done
/proc ... done
/sys ... done
/dev ... done
/dev/shm ... done
/dev/pts ... done
## bootstrap/debian : do_install && do_configure
:: Installing bootstrap/debian ... 
I: Retrieving InRelease 
I: Retrieving Packages 
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://ftp.debian.org/debian...
I: Retrieving libacl1 2.2.53-4
I: Validating libacl1 2.2.53-4
I: Retrieving adduser 3.118
I: Validating adduser 3.118
I: Retrieving libapparmor1 2.13.2-10
I: Validating libapparmor1 2.13.2-10
I: Retrieving apt 1.8.2.3
I: Validating apt 1.8.2.3
I: Retrieving apt-utils 1.8.2.3
I: Validating apt-utils 1.8.2.3
I: Retrieving libapt-inst2.0 1.8.2.3
I: Validating libapt-inst2.0 1.8.2.3
I: Retrieving libapt-pkg5.0 1.8.2.3
I: Validating libapt-pkg5.0 1.8.2.3
I: Retrieving libargon2-1 0~20171227-0.2
I: Validating libargon2-1 0~20171227-0.2
I: Retrieving libattr1 1:2.4.48-4
I: Validating libattr1 1:2.4.48-4
I: Retrieving libaudit-common 1:2.8.4-3
I: Validating libaudit-common 1:2.8.4-3
I: Retrieving libaudit1 1:2.8.4-3
I: Validating libaudit1 1:2.8.4-3
I: Retrieving base-files 10.3+deb10u11
I: Validating base-files 10.3+deb10u11
I: Retrieving base-passwd 3.5.46
I: Validating base-passwd 3.5.46
I: Retrieving bash 5.0-4
I: Validating bash 5.0-4
I: Retrieving libdns-export1104 1:9.11.5.P4+dfsg-5.1+deb10u5
I: Validating libdns-export1104 1:9.11.5.P4+dfsg-5.1+deb10u5
I: Retrieving libisc-export1100 1:9.11.5.P4+dfsg-5.1+deb10u5
I: Validating libisc-export1100 1:9.11.5.P4+dfsg-5.1+deb10u5
I: Retrieving bsdmainutils 11.1.2+b1
I: Validating bsdmainutils 11.1.2+b1
I: Retrieving libbz2-1.0 1.0.6-9.2~deb10u1
I: Validating libbz2-1.0 1.0.6-9.2~deb10u1
I: Retrieving libdebconfclient0 0.249
I: Validating libdebconfclient0 0.249
I: Retrieving coreutils 8.30-3
I: Validating coreutils 8.30-3
I: Retrieving cpio 2.12+dfsg-9
I: Validating cpio 2.12+dfsg-9
I: Retrieving cron 3.0pl1-134+deb10u1
I: Validating cron 3.0pl1-134+deb10u1
I: Retrieving libcryptsetup12 2:2.1.0-5+deb10u2
I: Validating libcryptsetup12 2:2.1.0-5+deb10u2
I: Retrieving dash 0.5.10.2-5
I: Validating dash 0.5.10.2-5
I: Retrieving libdb5.3 5.3.28+dfsg1-0.5
I: Validating libdb5.3 5.3.28+dfsg1-0.5
I: Retrieving debconf 1.5.71+deb10u1
I: Validating debconf 1.5.71+deb10u1
I: Retrieving debconf-i18n 1.5.71+deb10u1
I: Validating debconf-i18n 1.5.71+deb10u1
I: Retrieving debian-archive-keyring 2019.1+deb10u1
I: Validating debian-archive-keyring 2019.1+deb10u1
I: Retrieving debianutils 4.8.6.1
I: Validating debianutils 4.8.6.1
I: Retrieving diffutils 1:3.7-3
I: Validating diffutils 1:3.7-3
I: Retrieving dmidecode 3.2-1
I: Validating dmidecode 3.2-1
I: Retrieving dpkg 1.19.7
I: Validating dpkg 1.19.7
I: Retrieving e2fsprogs 1.44.5-1+deb10u3
I: Validating e2fsprogs 1.44.5-1+deb10u3
I: Retrieving libcom-err2 1.44.5-1+deb10u3
I: Validating libcom-err2 1.44.5-1+deb10u3
I: Retrieving libext2fs2 1.44.5-1+deb10u3
I: Validating libext2fs2 1.44.5-1+deb10u3
I: Retrieving libelf1 0.176-1.1
I: Validating libelf1 0.176-1.1
I: Retrieving findutils 4.6.0+git+20190209-2
I: Validating findutils 4.6.0+git+20190209-2
I: Retrieving gcc-8-base 8.3.0-6
I: Validating gcc-8-base 8.3.0-6
I: Retrieving libgcc1 1:8.3.0-6
I: Validating libgcc1 1:8.3.0-6
I: Retrieving gdbm-l10n 1.18.1-4
I: Validating gdbm-l10n 1.18.1-4
I: Retrieving libgdbm6 1.18.1-4
I: Validating libgdbm6 1.18.1-4
I: Retrieving libc-bin 2.28-10
I: Validating libc-bin 2.28-10
I: Retrieving libc-l10n 2.28-10
I: Validating libc-l10n 2.28-10
I: Retrieving libc6 2.28-10
I: Validating libc6 2.28-10
I: Retrieving libgmp10 2:6.1.2+dfsg-4
I: Validating libgmp10 2:6.1.2+dfsg-4
I: Retrieving gpgv 2.2.12-1+deb10u1
I: Validating gpgv 2.2.12-1+deb10u1
I: Retrieving libgnutls30 3.6.7-4+deb10u7
I: Validating libgnutls30 3.6.7-4+deb10u7
I: Retrieving grep 3.3-1
I: Validating grep 3.3-1
I: Retrieving groff-base 1.22.4-3+deb10u1
I: Validating groff-base 1.22.4-3+deb10u1
I: Retrieving gzip 1.9-3
I: Validating gzip 1.9-3
I: Retrieving hostname 3.21
I: Validating hostname 3.21
I: Retrieving ifupdown 0.8.35
I: Validating ifupdown 0.8.35
I: Retrieving init-system-helpers 1.56+nmu1
I: Validating init-system-helpers 1.56+nmu1
I: Retrieving iproute2 4.20.0-2+deb10u1
I: Validating iproute2 4.20.0-2+deb10u1
I: Retrieving iptables 1.8.2-4
I: Validating iptables 1.8.2-4
I: Retrieving libip4tc0 1.8.2-4
I: Validating libip4tc0 1.8.2-4
I: Retrieving libip6tc0 1.8.2-4
I: Validating libip6tc0 1.8.2-4
I: Retrieving libiptc0 1.8.2-4
I: Validating libiptc0 1.8.2-4
I: Retrieving iputils-ping 3:20180629-2+deb10u2
I: Validating iputils-ping 3:20180629-2+deb10u2
I: Retrieving isc-dhcp-client 4.4.1-2+deb10u1
I: Validating isc-dhcp-client 4.4.1-2+deb10u1
I: Retrieving isc-dhcp-common 4.4.1-2+deb10u1
I: Validating isc-dhcp-common 4.4.1-2+deb10u1
I: Retrieving libjson-c3 0.12.1+ds-2+deb10u1
I: Validating libjson-c3 0.12.1+ds-2+deb10u1
I: Retrieving kmod 26-1
I: Validating kmod 26-1
I: Retrieving libkmod2 26-1
I: Validating libkmod2 26-1
I: Retrieving less 487-0.1+b1
I: Validating less 487-0.1+b1
I: Retrieving libbsd0 0.9.1-2+deb10u1
I: Validating libbsd0 0.9.1-2+deb10u1
I: Retrieving libcap-ng0 0.7.9-2
I: Validating libcap-ng0 0.7.9-2
I: Retrieving libcap2 1:2.25-2
I: Validating libcap2 1:2.25-2
I: Retrieving libcap2-bin 1:2.25-2
I: Validating libcap2-bin 1:2.25-2
I: Retrieving libestr0 0.1.10-2.1
I: Validating libestr0 0.1.10-2.1
I: Retrieving libfastjson4 0.99.8-2
I: Validating libfastjson4 0.99.8-2
I: Retrieving libffi6 3.2.1-9
I: Validating libffi6 3.2.1-9
I: Retrieving libgcrypt20 1.8.4-5+deb10u1
I: Validating libgcrypt20 1.8.4-5+deb10u1
I: Retrieving libgpg-error0 1.35-1
I: Validating libgpg-error0 1.35-1
I: Retrieving libidn11 1.33-2.2
I: Validating libidn11 1.33-2.2
I: Retrieving libidn2-0 2.0.5-1+deb10u1
I: Validating libidn2-0 2.0.5-1+deb10u1
I: Retrieving liblocale-gettext-perl 1.07-3+b4
I: Validating liblocale-gettext-perl 1.07-3+b4
I: Retrieving liblognorm5 2.0.5-1
I: Validating liblognorm5 2.0.5-1
I: Retrieving libmnl0 1.0.4-2
I: Validating libmnl0 1.0.4-2
I: Retrieving libnetfilter-conntrack3 1.0.7-1
I: Validating libnetfilter-conntrack3 1.0.7-1
I: Retrieving libnfnetlink0 1.0.1-3+b1
I: Validating libnfnetlink0 1.0.1-3+b1
I: Retrieving libnftnl11 1.1.2-2
I: Validating libnftnl11 1.1.2-2
I: Retrieving dmsetup 2:1.02.155-3
I: Validating dmsetup 2:1.02.155-3
I: Retrieving libdevmapper1.02.1 2:1.02.155-3
I: Validating libdevmapper1.02.1 2:1.02.155-3
I: Retrieving liblz4-1 1.8.3-1+deb10u1
I: Validating liblz4-1 1.8.3-1+deb10u1
I: Retrieving libncurses6 6.1+20181013-2+deb10u2
I: Validating libncurses6 6.1+20181013-2+deb10u2
I: Retrieving libncursesw6 6.1+20181013-2+deb10u2
I: Validating libncursesw6 6.1+20181013-2+deb10u2
I: Retrieving libhogweed4 3.4.1-1+deb10u1
I: Validating libhogweed4 3.4.1-1+deb10u1
I: Retrieving libnettle6 3.4.1-1+deb10u1
I: Validating libnettle6 3.4.1-1+deb10u1
I: Retrieving libnewt0.52 0.52.20-8
I: Validating libnewt0.52 0.52.20-8
I: Retrieving libp11-kit0 0.23.15-2+deb10u1
I: Validating libp11-kit0 0.23.15-2+deb10u1
I: Retrieving libpam-modules 1.3.1-5
I: Validating libpam-modules 1.3.1-5
I: Retrieving libpam-modules-bin 1.3.1-5
I: Validating libpam-modules-bin 1.3.1-5
I: Retrieving libpam-runtime 1.3.1-5
I: Validating libpam-runtime 1.3.1-5
I: Retrieving bsdutils 1:2.33.1-0.1
I: Validating bsdutils 1:2.33.1-0.1
I: Retrieving fdisk 2.33.1-0.1
I: Validating fdisk 2.33.1-0.1
I: Retrieving libblkid1 2.33.1-0.1
I: Validating libblkid1 2.33.1-0.1
I: Retrieving libfdisk1 2.33.1-0.1
I: Validating libfdisk1 2.33.1-0.1
I: Retrieving libmount1 2.33.1-0.1
I: Validating libmount1 2.33.1-0.1
I: Retrieving liblzma5 5.2.4-1
I: Validating liblzma5 5.2.4-1
I: Retrieving libss2 1.44.5-1+deb10u3
I: Validating libss2 1.44.5-1+deb10u3
I: Retrieving libstdc++6 8.3.0-6
I: Validating libstdc++6 8.3.0-6
I: Retrieving locales 2.28-10
I: Validating locales 2.28-10
I: Retrieving libxtables12 1.8.2-4
I: Validating libxtables12 1.8.2-4
I: Retrieving libpipeline1 1.5.1-2
I: Validating libpipeline1 1.5.1-2
I: Retrieving libseccomp2 2.3.3-4
I: Validating libseccomp2 2.3.3-4
I: Retrieving libselinux1 2.8-1+b1
I: Validating libselinux1 2.8-1+b1
I: Retrieving libsemanage-common 2.8-2
I: Validating libsemanage-common 2.8-2
I: Retrieving libsemanage1 2.8-2
I: Validating libsemanage1 2.8-2
I: Retrieving libsepol1 2.8-1
I: Validating libsepol1 2.8-1
I: Retrieving libtasn1-6 4.13-3
I: Validating libtasn1-6 4.13-3
I: Retrieving libtext-charwidth-perl 0.04-7.1+b1
I: Validating libtext-charwidth-perl 0.04-7.1+b1
I: Retrieving libtext-iconv-perl 1.7-5+b7
I: Validating libtext-iconv-perl 1.7-5+b7
I: Retrieving libtext-wrapi18n-perl 0.06-7.1
I: Validating libtext-wrapi18n-perl 0.06-7.1
I: Retrieving libunistring2 0.9.10-1
I: Validating libunistring2 0.9.10-1
I: Retrieving libzstd1 1.3.8+dfsg-3+deb10u2
I: Validating libzstd1 1.3.8+dfsg-3+deb10u2
I: Retrieving logrotate 3.14.0-4
I: Validating logrotate 3.14.0-4
I: Retrieving lsb-base 10.2019051400
I: Validating lsb-base 10.2019051400
I: Retrieving man-db 2.8.5-2
I: Validating man-db 2.8.5-2
I: Retrieving mawk 1.3.3-17+b3
I: Validating mawk 1.3.3-17+b3
I: Retrieving nano 3.2-3
I: Validating nano 3.2-3
I: Retrieving libtinfo6 6.1+20181013-2+deb10u2
I: Validating libtinfo6 6.1+20181013-2+deb10u2
I: Retrieving ncurses-base 6.1+20181013-2+deb10u2
I: Validating ncurses-base 6.1+20181013-2+deb10u2
I: Retrieving ncurses-bin 6.1+20181013-2+deb10u2
I: Validating ncurses-bin 6.1+20181013-2+deb10u2
I: Retrieving netbase 5.6
I: Validating netbase 5.6
I: Retrieving whiptail 0.52.20-8
I: Validating whiptail 0.52.20-8
I: Retrieving libssl1.1 1.1.1d-0+deb10u7
I: Validating libssl1.1 1.1.1d-0+deb10u7
I: Retrieving libpam0g 1.3.1-5
I: Validating libpam0g 1.3.1-5
I: Retrieving libpcre3 2:8.39-12
I: Validating libpcre3 2:8.39-12
I: Retrieving perl-base 5.28.1-6+deb10u1
I: Validating perl-base 5.28.1-6+deb10u1
I: Retrieving libpopt0 1.16-12
I: Validating libpopt0 1.16-12
I: Retrieving libprocps7 2:3.3.15-2
I: Validating libprocps7 2:3.3.15-2
I: Retrieving procps 2:3.3.15-2
I: Validating procps 2:3.3.15-2
I: Retrieving readline-common 7.0-5
I: Validating readline-common 7.0-5
I: Retrieving rsyslog 8.1901.0-1
I: Validating rsyslog 8.1901.0-1
I: Retrieving sed 4.7-1
I: Validating sed 4.7-1
I: Retrieving sensible-utils 0.0.12
I: Validating sensible-utils 0.0.12
I: Retrieving login 1:4.5-1.1
I: Validating login 1:4.5-1.1
I: Retrieving passwd 1:4.5-1.1
I: Validating passwd 1:4.5-1.1
I: Retrieving libslang2 2.3.2-2
I: Validating libslang2 2.3.2-2
I: Retrieving sudo 1.8.27-1+deb10u3
I: Validating sudo 1.8.27-1+deb10u3
I: Retrieving libsystemd0 241-7~deb10u8
I: Validating libsystemd0 241-7~deb10u8
I: Retrieving libudev1 241-7~deb10u8
I: Validating libudev1 241-7~deb10u8
I: Retrieving systemd 241-7~deb10u8
I: Validating systemd 241-7~deb10u8
I: Retrieving udev 241-7~deb10u8
I: Validating udev 241-7~deb10u8
I: Retrieving sysvinit-utils 2.93-8
I: Validating sysvinit-utils 2.93-8
I: Retrieving tar 1.30+dfsg-6
I: Validating tar 1.30+dfsg-6
I: Retrieving tasksel 3.53
I: Validating tasksel 3.53
I: Retrieving tasksel-data 3.53
I: Validating tasksel-data 3.53
I: Retrieving tzdata 2021a-0+deb10u2
I: Validating tzdata 2021a-0+deb10u2
I: Retrieving libuchardet0 0.0.6-3
I: Validating libuchardet0 0.0.6-3
I: Retrieving libsmartcols1 2.33.1-0.1
I: Validating libsmartcols1 2.33.1-0.1
I: Retrieving libuuid1 2.33.1-0.1
I: Validating libuuid1 2.33.1-0.1
I: Retrieving mount 2.33.1-0.1
I: Validating mount 2.33.1-0.1
I: Retrieving util-linux 2.33.1-0.1
I: Validating util-linux 2.33.1-0.1
I: Retrieving vim-common 2:8.1.0875-5
I: Validating vim-common 2:8.1.0875-5
I: Retrieving vim-tiny 2:8.1.0875-5
I: Validating vim-tiny 2:8.1.0875-5
I: Retrieving xxd 2:8.1.0875-5
I: Validating xxd 2:8.1.0875-5
I: Retrieving zlib1g 1:1.2.11.dfsg-1
I: Validating zlib1g 1:1.2.11.dfsg-1
I: Chosen extractor for .deb packages: ar
I: Extracting libacl1...
I: Extracting adduser...
I: Extracting apt...
I: Extracting libapt-pkg5.0...
I: Extracting libattr1...
I: Extracting libaudit-common...
I: Extracting libaudit1...
I: Extracting base-files...
I: Extracting base-passwd...
I: Extracting bash...
I: Extracting libbz2-1.0...
I: Extracting libdebconfclient0...
I: Extracting coreutils...
I: Extracting dash...
I: Extracting libdb5.3...
I: Extracting debconf...
I: Extracting debian-archive-keyring...
I: Extracting debianutils...
I: Extracting diffutils...
I: Extracting dpkg...
I: Extracting e2fsprogs...
I: Extracting libcom-err2...
I: Extracting libext2fs2...
I: Extracting findutils...
I: Extracting gcc-8-base...
I: Extracting libgcc1...
I: Extracting libc-bin...
I: Extracting libc6...
I: Extracting libgmp10...
I: Extracting gpgv...
I: Extracting libgnutls30...
I: Extracting grep...
I: Extracting gzip...
I: Extracting hostname...
I: Extracting init-system-helpers...
I: Extracting libcap-ng0...
I: Extracting libffi6...
I: Extracting libgcrypt20...
I: Extracting libgpg-error0...
I: Extracting libidn2-0...
I: Extracting liblz4-1...
I: Extracting libncursesw6...
I: Extracting libhogweed4...
I: Extracting libnettle6...
I: Extracting libp11-kit0...
I: Extracting libpam-modules...
I: Extracting libpam-modules-bin...
I: Extracting libpam-runtime...
I: Extracting bsdutils...
I: Extracting fdisk...
I: Extracting libblkid1...
I: Extracting libfdisk1...
I: Extracting libmount1...
I: Extracting liblzma5...
I: Extracting libss2...
I: Extracting libstdc++6...
I: Extracting libseccomp2...
I: Extracting libselinux1...
I: Extracting libsemanage-common...
I: Extracting libsemanage1...
I: Extracting libsepol1...
I: Extracting libtasn1-6...
I: Extracting libunistring2...
I: Extracting libzstd1...
I: Extracting mawk...
I: Extracting libtinfo6...
I: Extracting ncurses-base...
I: Extracting ncurses-bin...
I: Extracting libpam0g...
I: Extracting libpcre3...
I: Extracting perl-base...
I: Extracting sed...
I: Extracting login...
I: Extracting passwd...
I: Extracting libsystemd0...
I: Extracting libudev1...
I: Extracting sysvinit-utils...
I: Extracting tar...
I: Extracting tzdata...
I: Extracting libsmartcols1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting zlib1g...
## core/emulator : do_install && do_configure
:: Starting core/emulator ... mount: mounting  on /data/local/mnt/usr/bin/qemu-x86_64-static failed: Invalid argument
done
## core/mnt : do_install && do_configure
:: Configuring core/mnt ... 
## core/net : do_install && do_configure
:: Configuring core/net ... 
chroot: can't execute '/debootstrap/debootstrap': Permission denied
<<< deploy

После этого если нажать СТАРТ, получаю лог

>>> start
Checking file system ... done
Mounting the container: 
/ ... done
/proc ... done
/sys ... done
/dev ... done
/dev/shm ... done
/dev/pts ... done
## bootstrap/rootfs : do_start
## bootstrap/debian : do_start
## core/emulator : do_start
:: Starting core/emulator ... mount: mounting  on /data/local/mnt/usr/bin/qemu-x86_64-static failed: Invalid argument
done
## core/motd : do_start
## core/hosts : do_start
## core/hostname : do_start
## core/mnt : do_start
:: Configuring core/mnt ... 
## core/net : do_start
:: Configuring core/net ... 
## core/timezone : do_start
## core/su : do_start
## core/locale : do_start
## core/aid : do_start
## core/profile : do_start
## core/sudo : do_start
## core/unchroot : do_start
## core : do_start
## bootstrap : do_start
## extra : do_start
## extra/ssh : do_start
:: Starting extra/ssh ... ls: /data/local/mnt/etc/ssh/: No such file or directory
chroot: can't execute '/bin/su': Permission denied
chroot: can't execute '/bin/su': Permission denied
fail
<<< start

BusyBox v1.21.1 установлен в /system/xbin.

------------

UPD 2022.12.20

TL DR комментов на данный момент

Добавил выводы команд на планшете

cat /proc/cmdline
cat /proc/cpuinfo
uname -a

mittorn предложил вообще третий способ - поднять chroot вручную.

Сделал на десктопной системе

debootstrap --arch=i386 oldstable debian-atom
tar -cvf debian-atom.tar debian-atom/
Далее это надо распаковать на разделе с EXT4, потому что иначе потеряются симлинки и права
tar -xf debian-atom.tar
mount -o bind /dev/ debian-atom/dev
mount -o bind /sys/ debian-atom/sys
mount -o bind /proc/ debian-atom/proc
mount -o bind /dev/pts debian-atom/dev/pts
mount -t tmpfs none debian-atom/run
Это удается сделать в /data или подмонтировав второй раздел карты памяти mount -t ext4 /dev/block/mmcblk1p2 /data/ext4sd/. После этого
chroot debian-atom/ /bin/login -f root
завершается успешно, но после смены корневого каталога пропадает сеть.
# ping 192.168.1.1
socket: Permission denied

------------

UPD 2022.12.21

Чтобы исправить эту ошибку, надо сделать на Android, как подсказал mittorn

setenforce 0
chroot debian-atom/ /bin/login -f root
groupadd -g 3001 aid_bt
groupadd -g 3002 aid_bt_net
groupadd -g 3003 aid_inet
groupadd -g 3004 aid_net_raw
groupadd -g 3005 aid_admin
usermod -a -G aid_bt,aid_bt_net,aid_inet,aid_net_raw,aid_admin root
exit

what can cause a socket() «Permission denied» error?

★★★

Последнее исправление: damix9 (всего исправлений: 5)

Ответ на: комментарий от damix9

я не знаю как этот ваш linux-deploy работает, но то что он пытается поставить qemu уже говорит о том, что делается что-то не так.
получи права суперюзера и распакуй корень какого-нибудь дистра в каталог, подмонтируй туда биндом /dev, /sys, /proc, /dev/pts. в /run подмонтируй tmpfs и сделай туда chroot - будет более-менее работающее окружение.
Как завести видеоускорение - не подскажу - никогда не было x86 android устройство. Возможно это делается легко через libhybris, а может можно и mesa заставить работать
Ну и разумеется если там работает андройдовый линукс, большой шанс запустить и обычный полноценно в него загружаясь, уже с нормальной mesa в качестве драйверов opengl

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

я не знаю как этот ваш linux-deploy работает

Это вроде chroot такой

получи права суперюзера и распакуй корень какого-нибудь дистра в каталог

debootstrap на десктопе и положить результат на sd карту планшета - должно пойти?

Я заметил, что после слова «mounting» два пробела. Возможно, это зацепка.

3D ускорение не нужно. Желательно аппаратное декодирование видео на встройке Z3745.

Ну и разумеется если там работает андройдовый линукс, большой шанс запустить и обычный полноценно в него загружаясь

Как это гуглится? Хотя бы примерно, какие ключевые слова? Я вообще не знаю, с чего начать. Надо с карты памяти загружаться или создавать какой-то образ и прошивать его по USB, инструкция своя для каждой SoC или универсальная?

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

Debootstrap должен работать. С cdebootstrap-static может сработать и на самом устройстве, но надёжнее с десктопа скопировать. Чтобы права не потерялись - копировать можно через тарбол
Декодирование видео может работатт только если заведёшь mesa, но это разумеется уже не под android.
Как грузить десктопный linux? Если там uefi - то вполне возможно что подучится через него запустито grub, а в общем случае с андройдом - прошить своё ядро вместо android boot или вместо android recovery. Я ещё сделал тройную загрузку - в recovery положил скрипт который по нажатию кнопки громкости/питания делает switch_root в разные каталоги, в одном recovery, в другом boot андройда. Таким образом у меня и android/recovery остались, только уже в recovery, а в основном пути загрузки уже другое ядро с линуксом. Могут быть сложности с initrd. Для начала имеет смысл просто собрать initrd с минимальной системой, понять как монтировать раздел корня. Например карточка. Ну и уже потом либо присобачить какой-нибудь готовый initrd, либо сразу указывать корень. У меня почти всегда это initrd, делающий chroot в подкаталог после монтирования

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Декодирование видео может работатт только если заведёшь mesa, но это разумеется уже не под android.

В контейнере никак, только на железе?

# cat /proc/cmdline
loglevel=8 androidboot.bootmedia=sdcard androidboot.hardware=ducati2fhd watchdog.watchdog_thresh=60 androidboot.spid=0000:0000:0000:0007:0000:0000 oops=panic panic=10 vmalloc=172M enable_tco=1 tsc=reliable vga=current i915.modeset=1 drm.vblankoffdelay=1 acpi_backlight=vendor i915.mipi_panel_id=17 androidboot.boardid=04.03 androidboot.wakesrc=01 androidboot.mode=main resetSrc0=0x00 resetSrc1=0x00
# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 55
model name	: Intel(R) Atom(TM) CPU  Z3745  @ 1.33GHz
stepping	: 8
microcode	: 0x820
cpu MHz		: 1463.000
cache size	: 1024 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf nonstop_tsc_s3 pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips	: 2666.77
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 55
model name	: Intel(R) Atom(TM) CPU  Z3745  @ 1.33GHz
stepping	: 8
microcode	: 0x820
cpu MHz		: 1463.000
cache size	: 1024 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 4
apicid		: 2
initial apicid	: 2
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf nonstop_tsc_s3 pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips	: 2666.77
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: GenuineIntel
cpu family	: 6
model		: 55
model name	: Intel(R) Atom(TM) CPU  Z3745  @ 1.33GHz
stepping	: 8
microcode	: 0x820
cpu MHz		: 1463.000
cache size	: 1024 KB
physical id	: 0
siblings	: 4
core id		: 2
cpu cores	: 4
apicid		: 4
initial apicid	: 4
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf nonstop_tsc_s3 pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips	: 2666.77
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 55
model name	: Intel(R) Atom(TM) CPU  Z3745  @ 1.33GHz
stepping	: 8
microcode	: 0x820
cpu MHz		: 1463.000
cache size	: 1024 KB
physical id	: 0
siblings	: 4
core id		: 3
cpu cores	: 4
apicid		: 6
initial apicid	: 6
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf nonstop_tsc_s3 pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips	: 2666.77
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
# uname -a
Linux localhost 3.10.20+ #1 SMP PREEMPT Thu Dec 4 15:34:06 CST 2014 i686 GNU/Linux
damix9 ★★★
() автор топика
Ответ на: комментарий от mittorn

подмонтируй туда биндом /dev, /sys, /proc, /dev/pts. в /run подмонтируй tmpfs и сделай туда chroot - будет более-менее работающее окружение.

# mount -o bind /dev/ debian-atom/dev
# mount -o bind /sys/ debian-atom/sys
# mount -o bind /proc/ debian-atom/proc
# mount -o bind /dev/pts debian-atom/dev/pts
# mount -t tmpfs none debian-atom/run
# chroot debian-atom/
chroot: can't execute '/tmp-mksh/tmp-mksh': No such file or directory
damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

думаю, можно в контейнере заставить выводиться видео в какой-нибудь dmabuf, если в android используется drm (в чём я не уверен), но вряд ли это то, что тебе нужно. Разве что транскодировать видео

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

А в какой файловой системе должен быть каталог с дистрибутивом? А то EXT4 нельзя, а в FAT32 нет симлинков и прав.

debootstrap --arch=i386 oldstable debian-atom
tar -cvf debian-atom.tar debian-atom/

Попробовал распаковать в /storage/emulated/0/

# tar -xf debian-atom.tar
tar: can't create symlink from X to Y: Function not implemented
...
# mount -o bind /dev/ debian-atom/dev
# mount -o bind /sys/ debian-atom/sys
# mount -o bind /proc/ debian-atom/proc
# mount -o bind /dev/pts debian-atom/dev/pts
# mount -t tmpfs none debian-atom/run
# chroot debian-atom/ /bin/login -f root
chroot: can't execute '/bin/login': Permission denied
# ls -l debian-atom/bin/login
-rw-rw---- root    sdcard_r    55400 2018-07-27 15:07 login

damix9 ★★★
() автор топика

планшет Как на него установить онтопик?

Как ты будешь с консолью работать на нем? Настраивать по любому через консоль.

Ставь termux, пакетов полно.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от damix9

Толсто

А ни разу, грохнется у тебя вейленд и что делать будешь? Поддержки тачскрина в консоли нет, виртуальных клавиатур нет. Единственное ДЕ на котором можно терпеть работать с тачскрином - gnome3. Я на ноутбуке трансформере офигел два раза, первый - что все железо работает, второй - что софт в гноме вообще не предназначен для работы в режиме планшета.

einhander ★★★★★
()
Ответ на: комментарий от mittorn

Ну не знаю, если в EXT4 карту памяти форматнуть, вставить в сабж, то в шторке будет уведомление, что вставлена пустая карта. Хотя я думаю, /system и /data наверняка в EXT и есть.

damix9 ★★★
() автор топика

mittorn, распаковал в /data и сделал так же как здесь [Решено] Установить GNU/Linux на Acer A1-840 FHD (комментарий). Показывается приглашение командной строки, по командам запускаются бинарники в контейнере. А какой результат должен быть? Просто сейчас сети нет

# ping 192.168.1.1
socket: Permission denied

damix9 ★★★
() автор топика
Ответ на: комментарий от mittorn

сеть в андройде выдаётся группами с gid 3003 и 3004

А как убедиться, что выдана?

У тебя root настоящий?

Не знаю, в шапке указал, как получил его. С той лишь разницей, что вместо батников ввел команды вручную.

sentenforce 0 делал?

Нет.

damix9 ★★★
() автор топика
Ответ на: комментарий от mittorn

А что это такое? u share не гуглится. Как проверить, настоящий рут или нет? Я умею копипастить команды и выводы.

Сети действительно нет, apt update пишет, что доменные имена не резолвятся.

damix9 ★★★
() автор топика
Ответ на: комментарий от mittorn

Форматнул второй раздел в ext4. Примонтировал /dev/block/mmcblk1p2, то же самое - chroot получается, сети нет.

su
mount -t ext4 /dev/block/mmcblk1p2 /data/ext4sd/
cd /data/ext4sd/
cp /data/debian-atom.tar .
tar -xf debian-atom.tar
mount -o bind /dev/ debian-atom/dev
mount -o bind /sys/ debian-atom/sys
mount -o bind /proc/ debian-atom/proc
mount -o bind /dev/pts debian-atom/dev/pts
mount -t tmpfs none debian-atom/run
chroot debian-atom/ /bin/login -f root
Тоже получаю socket: Permission denied.

Что это? Он неправильно рутован?

Я не соображаю, какими правами обладает процесс запущенный в chroot по отношению к файлам в настоящих /sys, /proc и /dev. В man chroot это не написано, в соответствующей статье в archwiki тоже.

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

unshare (опечатался на мобильной клаве)
речь была про uid namespace, когда текущий пользователь превращается в root в контейнере, но рутом не является вне контейнера.
но если у тебя реальный root, то сеть должна работать. Отруби selinux, возмржно он не даёт raw socket. ping может не работать, проверяй wget. в resolv.conf пропиши 8.8.8.8 и 1.1.1.1
chroot никак не влияет на права и фс, он только подставляет другую корневую директорию. Можно даже chrootнуться в /proc/1/root и тем самым выйти обратно.

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Получается, процессам присваивается uid рута, а реально права на файлы у них как у пользователя? Или когда я делаю su, создается какая-то песочница? Я с этим рутом удалял приложения из /system.

ping может не работать, проверяй wget

wget еще поставить надо

$ su
# whoami
whoami: unknown uid 0
# cd /data
# cat chroot.sh
mount -o bind /dev/ debian-atom/dev
mount -o bind /sys/ debian-atom/sys
mount -o bind /proc/ debian-atom/proc
mount -o bind /dev/pts debian-atom/dev/pts
mount -t tmpfs none debian-atom/run
# ./chroot.sh
# setenforce 0
# chroot debian-atom/ /bin/login -f root
Last login: ...
# cat /etc/resolv.conf
nameserver 213.228.68.154
options edns0
# ping ya.ru
ping: ya.ru: Temporary failure in name resolution
damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

busybox wget?
У юзера, из которого получался рут есть сеть? Что если попробуешь создать группы для aid_inet_raw?
https://stackoverflow.com/questions/36451444/what-can-cause-a-socket-permissi...
getenforce что выдаёт?

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Что если попробуешь создать группы для aid_inet_raw?

chroot debian-atom/ /bin/login -f root
groupadd -g 3001 aid_bt
groupadd -g 3002 aid_bt_net
groupadd -g 3003 aid_inet
groupadd -g 3004 aid_net_raw
groupadd -g 3005 aid_admin
usermod -a -G aid_bt,aid_bt_net,aid_inet,aid_net_raw,aid_admin root

Перелогинился и пинг пошел. Спасибо!

damix9 ★★★
() автор топика
Ответ на: комментарий от mittorn

Так это что получается, в Андроиде ядро собрано с механизмом, отвечающим за разрешение на сеть для приложений, который дает пользоваться сетью только процессам с определенными gid? И каждое приложение выполняется под своим пользователем, да?

damix9 ★★★
() автор топика
Ответ на: комментарий от Dog

В Debian и Ubuntu каждая версия ядра - свой пакет, новое ставится, старое остается. А где не так?

Ну и как бы это оффтоп, на подобных устройствах прошить свое ядро - нетривиальная задача.

damix9 ★★★
() автор топика
Ответ на: комментарий от damix9

в андройде начиная с 4.3 (вроде)
да причём так, что без него android не работает
setenforce не панацея, оно только часть запретов вырубает. главное - каждый сискол проверятся по se политикам. сколько же это производительности сжирает

mittorn ★★★★★
()