.
Do you want to keep LoD alive ? Sign this petition
I have built these images to find a better replacement for Samsung's Ubuntu image which has many bugs due to compatibility issues.
Void Linux
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Void is a general purpose operating system, based on the monolithic Linux® kernel. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources with the help of the XBPS source packages collection.
It is available for the Intel x86®, ARM® and MIPS® processor architectures; Software packages can be built natively or cross compiling through the XBPS source packages collection.
Click to expand...
Click to collapse
Void Linux is an interesting alternative to Ubuntu and other Linux distros.
It has Xfce4 installed and works smoothly in my Note9.
Faster in starting up than Samsung's Ubuntu image and less memory usage!!!!
Click to expand...
Click to collapse
Wiki:
https://wiki.voidlinux.org/Main_Page
Forums:
https://reddit.com/r/voidlinux
Packages Repo:
https://github.com/void-linux
Zip File
MD5: 5DF7F1D204CAAF787E6380544A9E76A0
SHA-1: 97C767FD195F915E45BDCEA8870F82E6CE986765
Image File
MD5: F35C28F5F8CB33C1C4881B42921157EA
SHA-1: B4ADB33D105FDC2443C16867B124F866B0758E65
User: void
password: secret
DOWNLOAD
Click to expand...
Click to collapse
Devuan Linux
Devuan GNU+Linux is a fork of Debian without systemd that offers users control over their system by avoiding unnecessary entanglements and ensuring Init Freedom. Devuan’s stable release is now 2.0.0 ASCII.
Click to expand...
Click to collapse
The image was built using Devuan’s stable release 2.0.0 and has more than 50K packages for aarch64. It has Xfce4 installed and runs fast in my Note9 without issues.
Click to expand...
Click to collapse
Zip File
MD5: E332CE238A295E991F60BBB2DCAEF5A7
SHA-1: C706122C7E25C9C2ED21C5738CF1996E6C7EF2B8
Image File
MD5: 32FB1F0B297F3E5AB07CD1FAC3FC6E81
SHA-1: 86B3EA0262BA8C2C455DF32346EDACF5436B39BC
User: devuan
password: secret
DOWNLOAD
Click to expand...
Click to collapse
openSUSE Tumbleweed
The Tumbleweed distribution is a pure rolling release version of openSUSE containing the latest stable versions of all software instead of relying on rigid periodic release cycles. The project does this for users that want the newest stable software.
Click to expand...
Click to collapse
Thanks to openSUSE Build Service, building any package should be so easy beside downloading thousands of pre-built packages. Xfce4 is installed with some tools.
Click to expand...
Click to collapse
Updated (10/22)
Image File
MD5: DE827017321ADB67DD1AA769FB4A4510
SHA-1: D14A05730CB8BEC309C353950D875EB3D5EC9FA7
User: opensuse
password: secret
DOWNLOAD
Click to expand...
Click to collapse
Ubuntu 19
Latest stable version of Ubuntu to get the latest updates.
Click to expand...
Click to collapse
Updated 10/22
Image File
MD5: 841AC5C260462A853359A4FFB7E78972
SHA-1: 3185CC8A188C3B17D7984CF13B2B3DA22BDFCE63
User: ubuntu
password: secret
@gilvbp fixed a problem related to security on some devices
Fix's Post
DOWNLOAD
Click to expand...
Click to collapse
Screenshots: Link
Others
1. Arch Linux by @basurapr
Click to expand...
Click to collapse
How to build your own
1-Download the zip file and extract the image file
Link
2-Mount the image
Code:
sudo mount -o loop,sync build_your_own.img /home/your_user/your_directory
You should see 1 file and 4 directories
/dev /devro LoDVersion /share /tmp
Note:You must keep these and never overwrite them
3-Copy your Linux’s system files and directories (rootfs) with all symbolic links to the mounted image
Note: you must maintain files’ ownership and permissions
4-Create the directory if it does not exist
Code:
/etc/init.d/
6-Create a script shell file init_container.sh inside the directory /etc/init.d/
Code:
#! /bin/sh
setsid /bin/bash --login >/devro/tty1 2>&1 < /devro/tty1
7-Change the directories, files and symbolic links ownership to
Code:
chown -R 1638400000:1638400000
8-Move the file LoDVersion to /etc/ directory
9- Un-mount the image file
10- Copy it to your device.
11-Add it in LoD and run the terminal mode
Congratulations !!! you built your own system’s image.
Click to expand...
Click to collapse
Not working for Dex on Tab S4. LoD app complained an Invalid image when import the img file.
lky745 said:
Not working for Dex on Tab S4. LoD app complained an Invalid image when import the img file.
Click to expand...
Click to collapse
Check the image checksum
https://imgur.com/a/A93BRrl
Awesome! (I'm not a Ubuntu fan). I will give it a test for sure
Awesome!!! I'm going to try it on my tab s4
Edit: I can't conect to internet in Void and Devuan give me an error when I try to run it. The error says "LoD container error. Cannot run this LoD container. Close the Linux on Dex app and try again."
InsertCoin_Pls said:
Awesome!!! I'm going to try it on my tab s4
Edit: I can't conect to internet in Void and Devuan give me an error when I try to run it. The error says "LoD container error. Cannot run this LoD container. Close the Linux on Dex app and try again."
Click to expand...
Click to collapse
I get the same error when trying to run Devuan on my S5e/Note 9. If I try in terminal mode, it flashes this screen and then immediately closes.
Adakenko said:
I get the same error when trying to run Devuan on my S5e/Note 9. If I try in terminal mode, it flashes this screen and then immediately closes.
Click to expand...
Click to collapse
Yeah, Devuan wont work because of sudo and your devices' kernel .
I have updated the image and it should work now.
BTW can you run Void Linux and post the output of the following commands :
Code:
sudo ping -c 5 google.com
Code:
sudo cat /etc/resolv.conf
Code:
sudo cat /etc/group
Code:
sudo cat /etc/passwd
@[email protected] said:
Yeah, Devuan wont work because of sudo and your devices' kernel .
I have updated the image and it should work now.
BTW can you run Void Linux and post the output of the following commands :
Code:
sudo ping -c 5 google.com
Code:
sudo cat /etc/resolv.conf
Code:
sudo cat /etc/group
Code:
sudo cat /etc/passwd
Click to expand...
Click to collapse
Code:
[[email protected] ~]$ sudo ping -c 5 "google.com"
Password:
PING google.com (172.217.1.174) 56(84) bytes of data.
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=1 ttl=56 time=18.1 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=2 ttl=56 time=90.1 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=3 ttl=56 time=21.7 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=4 ttl=56 time=20.9 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=5 ttl=56 time=21.3 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 18.144/34.414/90.075/27.858 ms
Code:
[[email protected] ~]$ sudo cat /etc/resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8
Code:
[[email protected] ~]$ sudo cat /etc/group
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
wheel:x:4:void
tty:x:5:
tape:x:6:
daemon:x:7:
floppy:x:8:
disk:x:9:
lp:x:10:
dialout:x:11:
audio:x:12:void,pulse
video:x:13:void
utmp:x:14:
adm:x:15:
cdrom:x:16:void
optical:x:17:
mail:x:18:
storage:x:19:
scanner:x:20:
network:x:21:
kvm:x:24:
input:x:25:void
nogroup:x:99:
users:x:100:void
xbuilder:x:101:
_uuidd:x:999:
inet:x:53003:root,void
polkitd:x:998:
dbus:x:22:
void:x:1000:
rtkit:x:997:
pulse-access:x:996:
pulse:x:995:
Code:
[[email protected] ~]$ sudo cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
nobody:x:65534:65534:Unprivileged User:/dev/null:/bin/false
_uuidd:x:999:999:_uuidd unprivileged user:/var/empty:/sbin/nologin
polkitd:x:998:998:polkitd unprivileged user:/var/empty:/sbin/nologin
dbus:x:22:22:dbus unprivileged user:/var/empty:/sbin/nologin
void:x:1000:1000::/home/void:/bin/bash
rtkit:x:997:997:rtkit unprivileged user:/proc:/sbin/nologin
pulse:x:996:995:pulse unprivileged user:/var/empty:/sbin/nologin
Done using Void Linux terminal mode on my Note 9. Also worth noting that Devuan works now, on both of my devices.
---------- Post added at 04:54 AM ---------- Previous post was at 04:41 AM ----------
Forgot to share this image. There's an error when I start Void Linux, but it doesn't seem to interfere with anything.
Adakenko said:
Code:
[[email protected] ~]$ sudo ping -c 5 "google.com"
Password:
PING google.com (172.217.1.174) 56(84) bytes of data.
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=1 ttl=56 time=18.1 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=2 ttl=56 time=90.1 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=3 ttl=56 time=21.7 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=4 ttl=56 time=20.9 ms
64 bytes from yyz10s04-in-f14.1e100.net (172.217.1.174): icmp_seq=5 ttl=56 time=21.3 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 18.144/34.414/90.075/27.858 ms
Click to expand...
Click to collapse
It looks like the internet is working on your device.
Ping will not work if you do not have an internet connection.
can you run it again without sudo
Code:
ping -c 5 "google.com"
Adakenko said:
Forgot to share this image. There's an error when I start Void Linux, but it doesn't seem to interfere with anything.
Click to expand...
Click to collapse
This is a permission issue related to policykit daemon.
You can ignore it because it cannot be solved so easily in all LoD's images including Samsung's Ubuntu image.
Solving it wont make a big difference. All should work.
Can you share how you are generating the Linux on Dex images? I would like to make an ArchLinux image. I tested the voidlinux image (currently writing this message from it) and works really well, much more better than running on VNC since graphics work much better and mouse/keyboard input, I did have to install some font packages because xfce-terminal and firefox looked horrible. The issue I have with voidlinux is the limited repository, for example, I want to install PHP to do some development but it isn't available for the aarch64 port.
@[email protected] said:
It looks like the internet is working on your device.
Ping will not work if you do not have an internet connection.
can you run it again without sudo
Code:
ping -c 5 "google.com"
This is a permission issue related to policykit daemon.
You can ignore it because it cannot be solved so easily in all LoD's images including Samsung's Ubuntu image.
Solving it wont make a big difference. All should work.
Click to expand...
Click to collapse
Code:
[[email protected] ~]$ ping -c 5 "google.com"
PING google.com (172.217.164.206) 56(84) bytes of data.
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=1 ttl=56 time=21.6 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=2 ttl=56 time=27.6 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=3 ttl=56 time=28.0 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=4 ttl=56 time=25.7 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=5 ttl=56 time=26.3 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 21.592/25.823/27.993/2.283 ms
Adakenko said:
Code:
[[email protected] ~]$ ping -c 5 "google.com"
PING google.com (172.217.164.206) 56(84) bytes of data.
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=1 ttl=56 time=21.6 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=2 ttl=56 time=27.6 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=3 ttl=56 time=28.0 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=4 ttl=56 time=25.7 ms
64 bytes from yyz12s04-in-f14.1e100.net (172.217.164.206): icmp_seq=5 ttl=56 time=26.3 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 21.592/25.823/27.993/2.283 ms
Click to expand...
Click to collapse
I think internet is working fine on your device ... have you installed a web-browser on Void?
Code:
xbps-install -S firefox
@[email protected] said:
I think internet is working fine on your device ... have you installed a web-browser on Void?
Code:
xbps-install -S firefox
Click to expand...
Click to collapse
I think we misunderstood each other. I was originally referring to the issue they had with Devuan. :silly:
basurapr said:
Can you share how you are generating the Linux on Dex images? I would like to make an ArchLinux image. I tested the voidlinux image (currently writing this message from it) and works really well, much more better than running on VNC since graphics work much better and mouse/keyboard input, I did have to install some font packages because xfce-terminal and firefox looked horrible. The issue I have with voidlinux is the limited repository, for example, I want to install PHP to do some development but it isn't available for the aarch64 port.
Click to expand...
Click to collapse
You can build an image file for any linux distro which supports aarch64 architecture by modifying Samsung's Ubuntu image file.
However, it is difficult to make them work prefectly on your android devices because of the kernel setup and the security issues.
To make it simple
Just download the image, mount it in your Linux PC, remove everything except the device special files and copy the new OS rootfs to the mounted image.
Adakenko said:
I think we misunderstood each other. I was originally referring to the issue they had with Devuan. :silly:
Click to expand...
Click to collapse
np
@[email protected] said:
You can build an image file for any linux distro which supports aarch64 architecture by modifying Samsung's Ubuntu image file.
However, it is difficult to make them work prefectly on your android devices because of the kernel setup and the security issues.
To make it simple
Just download the image, mount it in your Linux PC, remove everything except the device special files and copy the new OS rootfs to the mounted image.
np
Click to expand...
Click to collapse
I wrote a script that downloads and generates the image, also I tried to strip needed components into a "Template" directory, where I placed the lod_daemon, Xtightvnc binaries as the init.d/init_container.sh and vnc.sh. The issue is when I try to add the image on LinuxOnDex app it says invalid image format. I even tried by taking your void image deleting everything and copying the archlinux image content into your img file and when I transfer it into my galaxy s9+ and try to open it on dex app I get the invalid image format again... maybe it is ext3 instead of ext4?
In any case I uploaded the scripts here mega_nz/#!lVEjzazL!cpuxEf_W6m-9GdytwzQMr0OWplXrqxylrHifQdJcOkw, would be nice to make a github repo or something with the required scripts so people can create their own images after everything is sorted out.
Here are the main scripts for easier inspection:
LoDGenerator
Code:
#!/bin/bash
# Notes:
# blkid image_name.img to view the image details.
#
# To edit the image arm image on x86_64:
# ================================================================
# This provides the qemu-aarch64-static binary
# yay -S qemu-arm-static
#
# Mount my target filesystem on /mnt
# mount -o loop fs.img loddir
#
# Copy the static ARM binary that provides emulation
# cp $(which qemu-aarch64-static) loddir/usr/bin
# Or, more simply: cp /usr/bin/qemu-aarch64-static loddir/usr/bin
#
# Finally chroot into loddir, then run 'qemu-aarch64-static bash'
# This chroots; runs the emulator; and the emulator runs bash
#
# cp /etc/resolv.conf loddir/etc/
# chroot loddir qemu-arm-static /bin/bash
# ================================================================
if [ ! -e "/usr/bin/arch-chroot" ]; then
echo "Please install arch-chroot to continue."
exit
fi
if [ ! -e "/usr/bin/qemu-aarch64-static" ]; then
echo "Please install qemu-arm-static for qemu-aarch64-static support."
exit
fi
if [ ! -e "FileSystems" ]; then
mkdir FileSystems
fi
function make_archlinux {
distro="ArchLinux"
url="os_archlinuxarm_org/os/ArchLinuxARM-aarch64-latest.tar.gz" # cant post links yet
directory=archlinux
filesystem=ArchLinuxARM-aarch64-latest.tar.gz
image_name=ArchLinux_LoD.img
image_size=3076
setup_file=archlinux_setup.sh
if [ ! -d "${directory}" ]; then
mkdir $directory
fi
if [ "$(ls $directory)" != "" ]; then
echo "Umounting previous image."
umount $directory/proc 2>&1 > /dev/null
umount $directory/sys/firmware/efi/efivars 2>&1 > /dev/null
umount $directory/sys 2>&1 > /dev/null
umount $directory/dev/pts 2>&1 > /dev/null
umount $directory/dev/shm 2>&1 > /dev/null
umount $directory/dev 2>&1 > /dev/null
umount $directory/run 2>&1 > /dev/null
umount $directory/tmp 2>&1 > /dev/null
umount $directory/etc/resolv.conf 2>&1 > /dev/null
umount $directory 2>&1 > /dev/null
sleep 3
fi
echo "Creating ${distro} disk image..."
if [ -e "${image_name}" ]; then
rm $image_name
fi
dd if=/dev/zero of=$image_name bs=1M count=$image_size
mkfs.ext4 -L cloudimg-rootfs \
-U 455a35d3-488b-4c5e-89b0-883ef8e77f68 \
$image_name
mount -o loop $image_name $directory
echo "Downloading ${distro}..."
if [ ! -e "FileSystems/${filesystem}" ]; then
wget -O "FileSystems/${filesystem}" "${url}"
fi
echo "Decompressing ${distro}..."
bsdtar -xpf FileSystems/$filesystem -C $directory
echo "Preparing image for chroot with qemu..."
cp /usr/bin/qemu-aarch64-static $directory/usr/bin/
echo "Starting distro setup..."
cp -av Setup/$setup_file $directory/
arch-chroot $directory qemu-aarch64-static /bin/bash $setup_file
rm $directory/$setup_file
umount $directory/proc 2>&1 > /dev/null
umount $directory/sys/firmware/efi/efivars 2>&1 > /dev/null
umount $directory/sys 2>&1 > /dev/null
umount $directory/dev/pts 2>&1 > /dev/null
umount $directory/dev/shm 2>&1 > /dev/null
umount $directory/dev 2>&1 > /dev/null
umount $directory/run 2>&1 > /dev/null
umount $directory/tmp 2>&1 > /dev/null
umount $directory/etc/resolv.conf 2>&1 > /dev/null
# Wait for proper umount
sleep 3
echo "Setting dextop user account..."
echo "dextop:x:1000:1000::/home/dextop:/bin/bash" \
>> $directory/etc/passwd
echo "dextop:$6$3uD6fDYK$U.wCye7zuGkuyftaiuKbJ35nQiY6eeS0QCbRJSLmGBJBXR9jpif4Yw/fFdrHoI4Y6MT.Dh9dcpqkNNQDj.jcz/:17644:0:99999:7:::" \
>> $directory/etc/shaddow
echo "dextop:x:1000:" \
>> $directory/etc/group
echo "dextop:!::" \
>> $directory/etc/gshadow
echo "Setting directory permissions..."
chown -R 1638400000:1638400000 $directory/bin
chown -R 1638400000:1638400000 $directory/boot
chown -R 1638400000:1638400000 $directory/dev
chown -R 1638400000:1638400000 $directory/devro
chown -R 1638400000:1638400000 $directory/etc
chown -R 1638400000:1638400000 $directory/ext_sd
chown -R 1638400000:1638400000 $directory/home
chown -R 1638400000:1638400000 $directory/lib
chown -R 1638400000:1638400000 $directory/lost+found
chown -R 1638400000:1638400000 $directory/mnt
chown -R 1638400000:1638400000 $directory/opt
chown -R 1638400000:1638400000 $directory/proc
chown -R 1638400000:1638400000 $directory/root
chown -R 1638400000:1638400000 $directory/run
chown -R 1638400000:1638400000 $directory/sbin
chown -R 1638400000:1638400000 $directory/share
chown -R 1638400000:1638400000 $directory/srv
chown -R 1638400000:1638400000 $directory/sys
chown -R 1638400000:1638400000 $directory/tmp
chown -R 1638400000:1638400000 $directory/usr
chown -R 1638400000:1638400000 $directory/var
echo "Copying LinuxOnDex dependencies..."
cp -av Template/usr $directory/
cp -av Template/devro $directory/
cp -av Template/share $directory/
cp -av Template/ext_sd $directory/
cp -av Template/etc/init.d $directory/etc/
cp -av Template/home/dextop $directory/home/
cp -av Template/dev/* $directory/dev/
}
make_archlinux
and here is the script that setups ArchLinux:
Code:
#!/bin/bash
# to prevent mmap errors due to qemu and proper mount...
sleep 3
# since network isnt't working with plain resolv.conf we add some hosts
cp /etc/hosts /etc/hosts.original
echo "50.116.36.110 mirror.archlinuxarm.org" >> /etc/hosts
echo "216.155.157.40 fl.us.mirror.archlinuxarm.org" >> /etc/hosts
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.original
echo 'Server = fl_us_mirror_archlinuxarm_org/$arch/$repo' \
> /etc/pacman.d/mirrorlist
# Init archlinuxarm packages keyring
pacman-key --init
pacman-key --populate archlinuxarm
# Remove kernel
pacman --noconfirm -Rcs linux-aarch64
# Update the base system
pacman --noconfirm -Suy
# Install additional packages
pacman --noconfirm -S sudo pulseaudio xorg-server xorg-apps \
ttf-liberation ttf-opensans ttf-hack \
tigervnc fluxbox
# Clean downloaded packages
pacman --noconfirm -Scc
# Enable sudo on all user accounts
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
# Fix Xtightvnc missing dependency
ln -s /usr/lib/libXfont2.so.2.0.0 /usr/lib/libXfont.so.1
# Remove default user
userdel -f -r alarm
exit
Few screens from my note9 running in DeX mode
Excellent job @@[email protected] :good:
get "LoD container error. cannot run this LoD container. close the linux on Dex app and try again.
downloaded, extracted and created lod folder to place .img. did i miss a step? parrot OS would be amazing to run on DeX.
edit** has started working!
After many tears I finally got archlinux working under LinuxOnDex thanks to @root@ for the tip it was really crazy becayse the /etc/ folder couldn't be deleted, it seems removing the LoDVersion file and replacing it again breaks something on the image that makes it look like invalid, anyways... I'm not sure which files on /etc/ make it a valid image yet...
ScreenShot! imgur.com/a/0V0oVHj
The image file was initially like 400mb but in the process of getting it to work I added gcc and many other stuff that made it grow like to almost 2 Gb.
Here is the download link for those that would like to test it:
mega.nz/#!4MVGVCrY!bMwFynLS-4zy7cxT2OzRZS7tn7slvfkTBme0mxzEuQ
Also for anyone interested I uploaded to GitHub some initial shell scripts that I wrote while trying to generate a working image. They need more work to automate the entire process since I discovered lot of stuff while working on this but they serve as a guidance for future work.
github.com/basukon/archlinux-lod
basurapr said:
After many tears I finally got archlinux working under LinuxOnDex thanks to @root@ for the tip it was really crazy becayse the /etc/ folder couldn't be deleted, it seems removing the LoDVersion file and replacing it again breaks something on the image that makes it look like invalid, anyways... I'm not sure which files on /etc/ make it a valid image yet...
ScreenShot! imgur.com/a/0V0oVHj
The image file was initially like 400mb but in the process of getting it to work I added gcc and many other stuff that made it grow like to almost 2 Gb.
Here is the download link for those that would like to test it:
mega.nz/#!4MVGVCrY!bMwFynLS-4zy7cxT2OzRZS7tn7slvfkTBme0cmxzEuQ
Also for anyone interested I uploaded to GitHub some initial shell scripts that I wrote while trying to generate a working image. They need more work to automate the entire process since I discovered lot of stuff while working on this but they serve as a guidance for future work.
github.com/basukon/archlinux-lod
Click to expand...
Click to collapse
Super awesome mate, great work and thanks for your time. Keep up with more linux OS and it will be nice to see deepin OS too, Donwload page:
https://www.deepin.org/en/download
Super nice looking OS
I'm not much of a developer and what I do know is all windows based so I'm completely out of my league here but I was wondering if it would be possible to run Manjaro on Dex?
I understand that changes would need to be made and I'm willing to make those changes myself if someone could point me in the right direction.
According to distrowatch it is aarch64.
Related
Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
ok so there hasnt been much of a respone so ill share the steps i have so far
1. I installed Ubuntu linux ( Dual Boot with win 7 )
2. Needed to know how to install Squashfs did a search on google found this
A) open terminal window ( Ubuntu start menu, accessories )
B) type: sudo aptitude search squashfs , u will be prompted for password
this is what happened with mine:
[email protected]:~$ sudo aptitude search squashfs
[sudo] password for ali3nfr3ak:
i squashfs-tools - Tool to create and append to squashfs filesystems
C) type this command:sudo apt-get install squashfs-tools
My Dialog ( ihad to uninstall and then reinstall to get this so mine will be alittle different to
yours
[email protected]:~$ sudo apt-get install squashfs-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
squashfs-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/122kB of archives.
After this operation, 319kB of additional disk space will be used.
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
C) all done close terminal i type: exit
3: Next for testing purposes download this Google-Android-Ion-v1.5-2009-10-23-sdcard-not-google-apps and etract this and placed a copy of system.sqsh into it s own directory
4: i then opened another terminal window ( easier to copy and paste show you what my window looks like
[email protected]:~$ dir
Desktop Documents Downloads examples.desktop HERO Music Pictures Public Templates Videos
[email protected]:~$ cd HERO
[email protected]:~/HERO$ dir
Testing
[email protected]:~/HERO$ cd Testing
[email protected]:~/HERO/Testing$ dir
system.sqsh
[email protected]:~/HERO/Testing$ unsquashfs system.sqsh
Parallel unsquashfs: Using 2 processors
650 inodes (1408 blocks) to write
[=====================================================================================================================================================-] 1408/1408 100%
created 650 files
created 45 directories
created 0 symlinks
created 0 devices
created 0 fifos
[email protected]:~/HERO/Testing$ dir
squashfs-root system.sqsh
[email protected]:~/HERO/Testing$
basicially u can use the same commands as windows but with out the / and the spelling and Capitial letters have to be exact
Windows
/dir
/cd hero
Linux
dir
cd HERO
A new folder is created called squashfs-root which has all the files/ folders from the system.sqsh u just decompressed ( my description )
and that is a far as i have got so far
ali3nfr3ak said:
Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
Click to expand...
Click to collapse
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.
clockworx said:
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.
Click to expand...
Click to collapse
same here. trying to make my first rom also
How-To-Make-A-Hero-ROM.TXT attached
MUCH appreciated!
updated 1st post with my very linux noob steps lol
having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab
ali3nfr3ak said:
having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab
Click to expand...
Click to collapse
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs
jamezelle said:
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs
Click to expand...
Click to collapse
Ok thank you very kindly.. just got in from milking the cows, so ill give this a blast
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost
ali3nfr3ak said:
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost
Click to expand...
Click to collapse
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1
jamezelle said:
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1
Click to expand...
Click to collapse
ok thank you ill try that, thanks for all the help to by the way, its been a trying process learning how to use linux and build android roms, so thank u
ok got everything working and managed to create a system.sqsh to load, using msmisson ext2 method i tried to load it but has error:
mount: mounting /dev/block/loop1 on/sdcard/temp failed Invalid argument
failed
failed to mount /system
/bin/still (maybe ??? cant read properly) can't access tty: job control turned off
im basicially dumping Ion bundle and remaking it with no changes
big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE
zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
damn zen i bet that has been half my battle with the power wake ups. i just ported a rom last night and got the power wakeups.
recreated it today with your genext2fs with -a and it booted right up thanks
I wanted to try testing some stuff using the emulator (not hardware related, obviously). Does anyone know if there a standalone tool for making yaffs2 filesystems (for system.img), or is my only option to install android source and compile it all?
jamezelle said:
big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE
Click to expand...
Click to collapse
ok i see that , i saw that i had 4 but i guess when you said squashfs 4 wouldnt i guess i literally took it as it wouldnt work lol, not that the command would still work but the .sqsh not load , sorry bout that, but also once again thank you
woohoo got a booting image ,lol keeps telling me process android.process.acore has stopped unexpectedly, lots of times probably all those google packages i removed ...oh well i have a start now thanks jamezelle without your help wouldnt have happened
Thought you might want to take a look at this little script I made: ROM porting
I figured I would start a tutorial thread. If you have some tutorials or instructions you would like to share then post them. Also post links to other helpful posts and threads.
Basic instructions for building an android squashfs system image:
First you need a Linux installation. I use Ubuntu 9.04 and run as the root user.
You need to have squashfs-utils installed. I have version 3.3 installed.
You need the android version of genext2fs. You might want to chmod this to executable before using it.
Starting simple download the ion 1.5 build or any other build that works on vogue as a base.
If the base image your using is a system.img then it's cramfs. You can mount this image and pull from it. Enter android-builds directory and create a tmp directory for mounting the image and a mount point in that tmp dir.
Code:
mkdir tmp
mkdir tmp/cram-sys
mount -o loop system.img tmp/cram-sys
The system.img should be mounted on tmp/cram-sys
Now you have a base system image to grab files from.
If you have a system.sqsh then it is a little easier to do.
Put the system.sqsh in a working directory like base-rom in your android-builds directory and while in the directory from a terminal execute:
Code:
unsquashfs system.sqsh
This will create a directory called squashfs-root.
Then download a build from the dream forums on xda.
Usually they come in update.zip format. Extract the zip to a working directory like android-builds/foo
Inside you should see some directories mainly data and system is what you are after.
Look inside the data folder for any app or app_s directories. Copy those apps to the system/app directory. Leave out any unnecessary apps like wifi tether and so on.
In the system directory is another directory called lib. You need to take out libaudio.so libaudioflinger.so libgps.so. Depending upon the build the vogue specific libraries are either in /lib or /lib/donut in the rootfs. We take these out of system/lib because they cause conflicts. Another way around this is to copy the vogue specific libraries to system/lib.
In the system directory is another directory called etc. You need to replace apns.conf with the one from a working vogue android build.
Depending on the build you are porting you will need to modify system/bin and system/xbin. I usually add any missing files to the new image and base the missing files off of the ones in the android 1.5 ion build.
After this you need to edit your build.prop in the system directory. Look at the ion cupcake 1.5 or a donut build with market fix for reference depending on the build you are porting.
The last step is to put a .build file in the system directory. This depends on the build type.
donut.build
ion.build
rogers.build
hero.build
After you've modified the system directory you need to use genext2fs to create an android specific ext2 image.
for cupcake/donut images
Code:
genext2fs -d ./system -b 80000 -a system.ext2
this will make ~80mb ext2 system image.
for hero/sense ui builds a larger image is required
Code:
genext2fs -d ./system -b 160000 -a system.ext2
This system.ext2 is now bootable and you should be able to copy it to your sdcard and run it.
To turn this into a system.sqsh you need to mount it
Code:
mkdir tmp/system-ext2-mnt
mount -o loop system.ext2 tmp/system-ext2-mnt
Then make a squashfs image of the mounted directory
Code:
mksquashfs tmp/system-ext2-mnt/ system.sqsh
Build scripts/environment from loserskater:
http://forum.xda-developers.com/showthread.php?t=585452
ADB setup and Telenet via adb:
enatefox's tutorial for setting up adb and udev
enatefox's tutorial for telenet via adb
Adding a hosts file to block adds
Download this hosts file and copy it to /etc/hosts this should block most adds while browsing in android. Saving you time and bandwidth.
Using google dns servers on your phone:
(mssmision)
connect to the adb shell or from the terminal with su in android type
setprop ro.kernel.android.ndns 2
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 8.8.4.4
Basic Theming:
http://forum.xda-developers.com/showpost.php?p=3175504&postcount=1
Tethering via tetherbot and adb.
Download and install adb on your computer.
Download tetherbot and install it in android.
Connect your phone to your computer
Open tetherbot on your phone and push "Start Socks"
Open a terminal on your computer and type
Code:
adb forward tcp:1080 tcp:1080
Open firefox on your computer and type
Code:
about:config
search in the filter for
Code:
network.proxy.socks_remote_dns
change the value from true to false
Go into your network preferences settings in firefox and select manual proxy configuration
In the SOCKS host field enter localhost and TCP port 1080
Select SOCKS_v5
Click OK
Reload firefox and you should be running off your phones data network.
thank you Zen will give it a blast
oooh yeah runs faster!!!
smarty lol do you still need to keep sd card in slot after flashing?
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
are the bad blocks there normal?
ali3nfr3ak said:
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
are the bad blocks there normal?
Click to expand...
Click to collapse
yea thats normal
here is what i did to get it working
1. unsquashfs the system.sqsh
2. move apps folder to desktop
3. then mksquashfs system.sqsh
4. in terminal do(make sure no data.img on desktop)
Code:
dd if=/dev/zero of=./desktop/data.img bs=1048576 count=128
mke2fs -F ./desktop/data.img
sudo mkdir /mnt/data
sudo mount -o loop ./desktop/data.img /mnt/data
sudo mv ./desktop/app /mnt/data/app_s
sudo umount /mnt/data
then copy the data.img and system.sqsh to sdcard
and then make
datafstonand
and
systemfstonand
then right after it starts to boot
A N D R I O D
enabled adb bla bla
then do
adb shell stop
then
ln -s /data/app_s /system/app
then
adb shell start
you should be good if you followed this to the T
jamezelle said:
yea thats normal
here is what i did to get it working
1. unsquashfs the system.sqsh
2. move apps folder to desktop
3. then mksquashfs system.sqsh
4. in terminal do(make sure no data.img on desktop)
Code:
dd if=/dev/zero of=./desktop/data.img bs=1048576 count=128
mke2fs -F ./desktop/data.img
sudo mkdir /mnt/data
sudo mount -o loop ./desktop/data.img /mnt/data
sudo mv ./desktop/app /mnt/data/app_s
sudo umount /mnt/data
then copy the data.img and system.sqsh to sdcard
and then make
datafstonand
and
systemfstonand
then right after it starts to boot
A N D R I O D
enabled adb bla bla
then do
adb shell stop
then
ln -s /data/app_s /system/app
then
adb shell start
you should be good if you followed this to the T
Click to expand...
Click to collapse
you should put the symlink in the system folder before you squash it that way it should boot straight through.
ali3nfr3ak said:
smarty lol do you still need to keep sd card in slot after flashing?
Click to expand...
Click to collapse
if you edit init and put cache in /data you should be able to fully run from nand.
or from adb shell
Code:
cd /
umount /cache
mkdir /data/cache
mount /cache /data/cache
pull your sdcard. look ma running from nand.
zenulator said:
you should put the symlink in the system folder before you squash it that way it should boot straight through.
Click to expand...
Click to collapse
one problem i have is i dont think compcache is being enabled, becaulse im getting home reloads every(yes everytime i hit home(hold cam/redbutton))
can i just add the commands from my hero.user.conf to init or init.hero.rc, or will they not be called right?
jamezelle said:
one problem i have is i dont think compcache is being enabled, becaulse im getting home reloads every(yes everytime i hit home(hold cam/redbutton))
can i just add the commands from my hero.user.conf to init or init.hero.rc, or will they not be called right?
Click to expand...
Click to collapse
when i ran the tattoo build from nand compcache was enabled. make sure you have the config files in your android directory on your sdcard. to check if you have swap enabled go into the terminal or adb shell and type
Code:
free
and see how much ram/swap you have.
also i think
Code:
cat /proc/swaps
will show you what swap is being used.
Zen can u tell me what all the files i need on my sdcard to get this going, i tried for a couple of hours last night to get this going no luck tho, and jamezelle helped me out as well still no luck tho, all i had was on my sdcard was android folder with dzos rootfs.img, system-noapps.sqsh, VOGUIMG.nbh as i flashed from sdcard and app_s.tar.gz
[email protected]:~# adb shell
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# erase_eraseall /dev/mtd/mtd3
/system/bin/sh: erase_eraseall: not found
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard/
# losetup /dev/block/loop1 /mnt/sdcard/android/rootfs.img
# mount /dev/block/loop1 /mnt/rootfs-sd
# mount /dev/block/mtd1 /mnt/rootfs-nand/
mount: mounting /dev/block/mtd1 on /mnt/rootfs-nand/ failed: No such file or directory
i cannot get past this part, Do i need more files on sdcard to get going?
ali3nfr3ak said:
Zen can u tell me what all the files i need on my sdcard to get this going, i tried for a couple of hours last night to get this going no luck tho, and jamezelle helped me out as well still no luck tho, all i had was on my sdcard was android folder with dzos rootfs.img, system-noapps.sqsh, VOGUIMG.nbh as i flashed from sdcard and app_s.tar.gz
[email protected]:~# adb shell
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# erase_eraseall /dev/mtd/mtd3
/system/bin/sh: erase_eraseall: not found
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard/
# losetup /dev/block/loop1 /mnt/sdcard/android/rootfs.img
# mount /dev/block/loop1 /mnt/rootfs-sd
# mount /dev/block/mtd1 /mnt/rootfs-nand/
mount: mounting /dev/block/mtd1 on /mnt/rootfs-nand/ failed: No such file or directory
i cannot get past this part, Do i need more files on sdcard to get going?
Click to expand...
Click to collapse
well the last command you typed should be
Code:
mount -t yaffs2 /dev/block/mtdblock1 /mnt/rootfs-nand
also i updated the tutorial to reflect that and also a simplified version along the lines of jamezelle's method of that uses dzo's normal installer so you shouldn't have to type all those commands just use the blank files in the rootfs and make sure you have the rest in /andoroid on your sdcard.
Not sure if you've seen the thread I started on the Kaiser forums. It's really easy to run scripts that I made for building systems.
Check it out
loserskater said:
Not sure if you've seen the thread I started on the Kaiser forums. It's really easy to run scripts that I made for building systems.
Check it out
Click to expand...
Click to collapse
I added a link in the first post. great work.
Installing adb drivers on Windows [Vista,7] x64
NOTE: You don't need to disable driver signing to install! The appropriate .cat files are included in the download.
//Prep
1. Download adb2 posted by dzo. It's on the sourceforge site:
adb2
2. Unpack the zip.
3. In android, go to settings - applications - development and make sure usb debugging is selected.
//Cleanup
4. Open device manager (start - run - devmgmt.msc)
5. Plug in your phone and _watch_ for something new to show up. Might be 'Android Phone.'
6. Confirm that the new device is your phone by unplugging. The device should disappear.
7. Plug back in.
8. Right click on the device and choose 'Uninstall'
9. Check the 'delete this driver from my computer' box.
10. click ok. NOTE: It may take a loong time. Wait.
11. Unplug your phone.
12. If prompted to reboot, do so.
13. Uninstall WMDC (Windows Mobile Device Center)
14. Reboot.
//Install
15. Re-download and reinstall WMDC
16. Plug in your phone.
17. The device driver installation wizard should fail. IF IT INSTALLS THE DEVICE, go back to cleanup.
18. Open device manager.
19. Right click on 'Android Phone' and choose 'update driver.'
20. Click 'Browse my computer for driver software.'
21. Click 'let me pick'
22. Click 'next'
23. Click 'have disk'
24. Click 'browse'
25. Browse to the location where you unzipped adb2.
26. Open the Vista_x64 directory.
27. Choose androidusb.inf
28. Click ok
29. Choose 'HTC, Corporation' as the manufacturer (may not see this)
30. Choose 'My HTC' as the model
31. Click 'next'
32. Click 'yes'
DONE!
Zen, I know we were talking yesterday. Do you think you can outline in detail how to convert an EXT2 or NAND or SD Card based installed system on the vogue into something we can distribute?
I'd really like to share my customized rom with people.
Thanks again for all of your contributions
Ok finally got tattoo booting was having wakeup problems but made system .ext2 then sqsh. But audio still not playing, any ideas? Thanx I did use audio libs from donut rootfs
i thought the libs had to come from an ION build?
I'm posting this in a new thread as requested...
There is a simple way to preapare a custom Ubuntu image file compiled for ARMEL with only the packages and functionalities you need.
For this procedure you will need
- a linux machine with working ADB (I tried it on a x64 ubuntu machine)
- a rooted Iconia A500 with busybox installed
- a little knowledge about what you're doing, but just a little.
1. Install Rootstock
on your linux machine, open up the terminal and type
Code:
sudo apt-get install rootstock
If you use at least Ubuntu Karmic, it should automatically pull all the dependencies, otherwise you'll have to manually install Qemu and a newer debootstrap.
2. Create the tarball
you're ready to download the packages and prepare the tarball.
Remember: rootstock doesn't automatically include a kernel, so you'll have to manually include it in the package list
Here's the syntax for a basic run (run "man rootstock" for all the parameters):
Code:
sudo rootstock \
--fqdn [COLOR="Red"]<YOUR_CHOSEN_HOSTNAME>[/COLOR] \
--login [COLOR="Red"]<YOUR_CHOSEN_USERNAME>[/COLOR] \
--password [COLOR="Red"]<YOUR_CHOSEN_PASSWORD>[/COLOR] \
--imagesize [COLOR="Red"]<IMAGE_SIZE_IN_GB>[/COLOR]G \
--seed [COLOR="Red"]<LIST_OF_PACKAGES_SEPARATED_BY_COMMAS>[/COLOR]
Here's an example for a 2GB image with OMAP kernel and a complete Kubuntu-desktop distribution:
Code:
sudo rootstock \
--fqdn ubuntu \
--login ubuntu \
--password ubuntu \
--imagesize 2G \
--seed linux-image-omap,kubuntu-desktop
In --seed you can specify whatever package you want. You could start with just the kernel and build-essential, then add whatever you need. A good start could be like this:
Code:
--seed linux-image-omap,build-essential,lxde,tightvncserver,openssh-server
This will give you a running ubuntu with a very light, performance-oriented desktop environment (lxde) with ssh and vnc.
Remember: It's still possible to add new packages with apt-get from chroot whenever you want.
Once you have chosen the packages you want, you just have to press enter and rootstock will automatic download the packages and prepare the tarball.
You'll end up with a file named "armel-rootfs-<TIMESTAMP>.tgz"
3. Prepare the img file
This is very easy and quick:
Code:
dd if=/dev/zero of=arm_ubuntu.img bs=1MB count=0 seek=[COLOR="Red"]<SIZE_IN_MB>[/COLOR]
The seek parameter defines the size in MB of your image. make it as large as you want, it should at least be as big as the size you selected for the tarball (2G in my example).
Remember: 1 GB = 1024 MB
Now we format the image. Since the Iconia supports ext4 file system, we can use it!
Code:
mkfs.ext4 -F arm_ubuntu.img
You may want to pass other flags to define advanced options, labels and reserved blocks, but this is the least you need to make it work.
4. Decompress
Now we have to mount the img file in a loop:
Code:
sudo mount -o loop arm_ubuntu.img /mnt
and decompress the tarball into it.
Code:
sudo tar -C /mnt -zxf armel-rootfs-<TIMESTAMP>.tgz
It's done!
[OPTIONAL]
This is the right time to put custom scripts in /mnt/usr/bin like this one to start the vnc server with the correct geometry for the A500:
Code:
#!/bin/bash
rm -fr /tmp/.X1*
vncserver -geometry 1280x752
NB: the A500 screen is 1280x800, but the honeycomb statusbar (1280x48px) is always on top. To avoid panning to show the ubuntu menu bar, we just subtract those 48 pixels from the ubuntu vertical resolution.
Now we just umount it.
Code:
sudo umount /mnt
5. Load on the tablet and get it running
The script to mount and boot is derived from the one in the Backtrack 5 Thread.
Load the img file on the tablet with
Code:
adb push arm_ubuntu.img /sdcard/ubuntu/arm_ubuntu.img
It will take a loooong time and there's no progress bar, so just have faith.
Next, we prepare the boot script. The only thing you need to do is to put your username in (the one you chose in rootstock).
Code:
perm=$(id|cut -b 5)
if [ "$perm" != "0" ];then echo "This Script Needs Root! Type : su";exit;fi
mount -o remount,rw /dev/block/mmcblk0p5 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
export mnt=/data/local/mnt
mkdir -p $mnt
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export USER=[B][COLOR="Red"]<THE_USERNAME_YOU_CHOSE_BEFORE>[/COLOR][/B]
export HOME=/home/$USER
export stor=$mnt/home/$USER/storage
export sdcard=$stor/sdcard
export extsd=$stor/external_sd
export usb=$stor/USB_storage
if [ -b /dev/loop2 ]; then
echo "Loop device exists"
else
busybox mknod /dev/loop2 b 7 0
fi
mount -o loop,rw,noatime -t ext4 $kit/arm_ubuntu.img $mnt
echo "mounting storage devices in $stor..."
mkdir -p $sdcard
mkdir -p $extsd
mkdir -p $usb
busybox mount --bind /mnt/sdcard $sdcard
busybox mount --bind /mnt/external_sd $extsd
busybox mount --bind /mnt/usb_storage $usb
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "127.0.0.1 localhost ubuntu" > $mnt/etc/hosts
busybox chroot $mnt /bin/bash
echo "Shutting down Ubuntu ARM for Iconia A500"
umount $sdcard
umount $extsd
umount $usb
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt
Once done, we can save the file as startubuntu and adb push it to the tab. (the same folder as the img is fine)
Done! We run it by invoking the startubuntu script from the android terminal emulator (must be in superuser mode)
I hope you found this how-to useful.
And we use this distro via our tablets ssh client?
EDIT: sorry my bad Never read code while tired
Hi,
i am running ubuntu natty.
and i got this error:
...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.38-8-omap
/bin/df: Warning: cannot read table of mounted file systems: No such file or directory
Not sure if it is fatal. rootstock has created successful the rootfs
reida010 said:
Hi,
i am running ubuntu natty.
and i got this error:
...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.38-8-omap
/bin/df: Warning: cannot read table of mounted file systems: No such file or directory
Not sure if it is fatal. rootstock has created successful the rootfs
Click to expand...
Click to collapse
Same happened to me. Totally not fatal. the tarball is good.
For everyone out there:
I would like your help with testing. I have a crash on start problem with firefox in all the images I tried. Does any of you have the same issue?
Hi,
i get
Code:
Loop device exists
then i did
Code:
echo "$kit/arm_ubuntu.img"
and i get
Code:
/sdcard/ubuntu/arm_ubuntu.img
but then i get
Code:
mount: cannot setup loop device: No such file or directory
any ideas?
Because of firefox.
i read a while ago a tweet about a bug in meego and ubuntu in firefox for arm.
when it is this bug then you should try firefox trunk because it is fixed.
but i cannot refind it :-(
edit:
bugzilla.mozilla.org/show_bug.cgi?id=634594
I was searching for that today, thanks mate. Nice Tutorial =D
reida010 said:
Hi,
but then i get
Code:
mount: cannot setup loop device: No such file or directory
any ideas?
edit:
bugzilla.mozilla.org/show_bug.cgi?id=634594
Click to expand...
Click to collapse
i have the same problem. You should make loop file not in /mnt/sdcard, but in /mnt/external_sd.
Kh_Shad said:
i have the same problem. You should make loop file not in /mnt/sdcard, but in /mnt/external_sd.
Click to expand...
Click to collapse
That would apply only if you put the image file in the external MicroSD, if you have put it in the internal memory (as described in the tutorial) the path is /mnt/sdcard. Also, the speed of the internal memory is better.
Hi,
i found out how i can make it work
but it's strange.
i don't works when i do
Code:
sh ./startubuntu
but with this it works fine:
Code:
/system/bin/sh ./startubuntu
Is this maybe because i didn't use adb.
Someone told me that copy paste might change the permissions (what the ****! really?)
on my tablet startubuntu is not executable.
And it doesn't change anything when i do chmod 755 startubuntu
but after moving it to /system/bin chmod works fine.
After then i can always just run
Code:
su
startubuntu
and ubuntu is up and running.
(many thanks by the way :-D)
Sorry guys, will this method produce a native Ubuntu install similair to how Wubi works? Or is this like the chroot methods were we have to VNC into the distro from within Android?
It is native!!!
but you need vnc to access the xserver
On my n900 i used xephyr but i don't think this is working for android because afaik they don't use X. (n900 is so cool for linux geeks ;-D)
edit:
if you mean with 'native' that it will replace android -> no -> it is a chroot
Yeah that answered my question. Thank you
I'm not going to bother until there is a native distro running with full system resources. I guess with the current bootloader situation that day may never come :-(
It failed in creating the image for me... and it seems like a error in the package linux-image-2.6.38-8-omap
[TRIM]
Need to get 37.4 MB of archives.
After this operation, 98.3 MB of additional disk space will be used.
Get:1 //ports.ubuntu.com/ubuntu-ports/ natty/main wireless-crda armel 1.13 [15.0 kB]
Get:2 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-image-2.6.38-8-omap armel 2.6.38-8.42 [19.8 MB]
Get:3 //ports.ubuntu.com/ubuntu-ports/ natty/main devio armel 1.2-1build1 [16.9 kB]
Get:4 //ports.ubuntu.com/ubuntu-ports/ natty/main flash-kernel armel 2.28ubuntu19 [13.1 kB]
Get:5 //ports.ubuntu.com/ubuntu-ports/ natty/universe kubuntu-mobile armel 1.218 [2720 B]
Get:6 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-firmware all 1.52 [17.5 MB]
Get:7 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-image-omap armel 2.6.38.8.22 [2394 B]
Fetched 37.4 MB in 5min 29s (113 kB/s)
Selecting previously deselected package wireless-crda.
(Reading database ... 9309 files and directories currently installed.)
Unpacking wireless-crda (from .../wireless-crda_1.13_armel.deb) ...
Selecting previously deselected package linux-image-2.6.38-8-omap.
Unpacking linux-image-2.6.38-8-omap (from .../linux-image-2.6.38-8-omap_2.6.38-8.42_armel.deb) ...
Done.
Selecting previously deselected package devio.
Unpacking devio (from .../devio_1.2-1build1_armel.deb) ...
Selecting previously deselected package flash-kernel.
Unpacking flash-kernel (from .../flash-kernel_2.28ubuntu19_armel.deb) ...
Selecting previously deselected package kubuntu-mobile.
Unpacking kubuntu-mobile (from .../kubuntu-mobile_1.218_armel.deb) ...
Selecting previously deselected package linux-firmware.
Unpacking linux-firmware (from .../linux-firmware_1.52_all.deb) ...
Selecting previously deselected package linux-image-omap.
Unpacking linux-image-omap (from .../linux-image-omap_2.6.38.8.22_armel.deb) ...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
Failed to run depmod
dpkg: error processing linux-image-2.6.38-8-omap (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up devio (1.2-1build1) ...
No apport report written because MaxReports is reached already
Setting up flash-kernel (2.28ubuntu19) ...
Setting up kubuntu-mobile (1.218) ...
E: Second stage build in chroot failed !
E: Please see the log to see what went wrong.
Setting up linux-firmware (1.52) ...
I: Cleaning up...
dpkg: dependency problems prevent configuration of linux-image-omap:
linux-image-omap depends on linux-image-2.6.38-8-omap; however:
Package linux-image-2.6.38-8-omap is not configured yet.
dpkg: error processing linux-image-omap (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-2.6.38-8-omap
linux-image-omap
E: Sub-process /usr/bin/dpkg returned an error code (1)
I: Umounting temporary Image
I keep getting a failure also!
Ceck out both of my log files below.
tholmewood said:
Sorry guys, will this method produce a native Ubuntu install similair to how Wubi works? Or is this like the chroot methods were we have to VNC into the distro from within Android?
Click to expand...
Click to collapse
It is a chroot/vnc method, currently the only method available to run linux on this device, because of the locked bootloader... I seriously hope for a chance to dual boot in the future.
i was wondering what packages are needed in order to create an ubuntu netbook Edition? Is the A500 powerful enough for that kind of interface?
Thought you guys might be interested in this post.
http://forum.xda-developers.com/showpost.php?p=15156543&postcount=64
Have fun!
@p-ille
Have you tried firefox daily?
Did it work?
reida010 said:
@p-ille
Have you tried firefox daily?
Did it work?
Click to expand...
Click to collapse
Not really, my job is killing me these days... I'll try it asap!
sent from my Iconia A500
p-ille said:
Not really, my job is killing me these days... I'll try it asap!
sent from my Iconia A500
Click to expand...
Click to collapse
You realize what a pain that tutorial is to follow? Could you please provide a pre built image at least if asking for scripts is probably way too much?
I started using Arch some months ago and I really enjoying it. Coming from a released based distro, it feels really nice been able to choose exactly what you want to run in your system and always have the packages up to date. For a while I have been planning on running ubuntu in my transformer but I just don't feel too comfortable with ubuntu , so decided to run arch in my transformer. I couldn't find a tutorial so I scavenged the net and found bits and peace that I put together to make this tutorial. What I like about arch is that I am in control of my system and I can run exactly what I want, thanks awesomely documented Arch!
This is a tutorial that will show you how to run Arch Linux in a chrooted environment within your Asus Tarsnformer. I will not provide a simple script that if you run it will do everything for you, instead I will teach you how to make your own installation by grabbing all necessary elements.
You will need:
Arch Live image: Go to http://archlinuxarm.org/developers/downloads and grab the omap 3/4 package.
Install environment: It can be your internal storage or a sd/micro card. Here I will show how to use the micro sd card.
Script for starting the chroot: I grabbed mine from http://forum.xda-developers.com/showthread.php?t=1517993&highlight=chroot and did some modifications. Thanks-miska-
Rooted Asus Transformer(Prime?) with Terminal: You need root to mount the file system and loop devices. In theory this should work in the Prime too.
Linux Machine
Step 1:
For installing arch in a (micro)sd card (I prefer micro as I don't need the dock for using it), first you need to format the card and make two partitions. (I used gparted) Make one partition fat and assign a small amount of space(I have a 4gb micro and assigned 128mb to the fat partition), then make the rest ext4. Make sure the fat partition is first and the ext one is second.
Step 2:
Now as root you need to extract the package in the ext partition of your card. REMEMBER to be root, I got stuck thinking there was something wrong with the package I downloaded but it was that I was unpacking as normal user.
Code:
# tar -c /path/to/extpartition -xzf ArchLinuxARM-omap-smp-latest.tar.gz
Now you have a arch environment in your (micro)sd card.
Step 3:
In your asus transformer create a folder called 'arch' in the root of your internal storage.
Code:
#mkdir /sdcard/arch
Or use a file manager.
Now place this script somewhere in your transformer, I usually keep it in /sdcard/Downloads
Code:
#!/bin/sh
# Modify this according to your needs
DEVICE="/dev/block/mmcblk1p2"
LOOP="no"
# Maybe this as well
MNT_PATH="/mnt/sdcard/arch"
# Modify only if you know, what are you doing
BINDS="dev dev/pts proc sys mnt/sdcard"
ANDROID_BINDS=" /system /data "
TMPS="tmp var/tmp var/log var/run"
MY_MOUNTS=""
unset PS1
# Helper functions
die() {
echo " $1"
exit 1
}
safe_mount() {
mkdir -p "$MNT_PATH""$2"
if [ "$3" ]; then
OPTION=" $3 "
else
OPTION=""
fi
if [ -z "`mount | grep " $MNT_PATH$2 "`" ]; then
mount $OPTION "$1" "$MNT_PATH$2" || die "Can't mount $2!!!"
fi
MY_MOUNTS="$MNT_PATH$2 $MY_MOUNTS"
}
# Real work
[ "`whoami || echo root`" = "root" ] || die "You must be root first!"
LOOP_ARG=""
[ "$LOOP" = "no" ] || LOOP_ARG=" -o loop "
safe_mount $DEVICE "" "$LOOP_ARG -t ext4 "
for i in $BINDS; do
safe_mount "/$i" "/$i" " -o bind "
done
if [ -d /Removable ]; then
for i in /Removable/*; do
[ -d "$i" ] && safe_mount $i /mnt$i " -o bind "
done
fi
for i in $ANDROID_BINDS; do
safe_mount $i /mnt/android$i " -o bind "
done
for i in $TMPS; do
safe_mount none /$i " -t tmpfs "
done
mount -o remount,ro "$MNT_PATH"
chroot "$MNT_PATH" /sbin/fsck.ext2 -y "$DEVICE"
mount -o remount,rw "$MNT_PATH"
# Tweak configuration of the chroot during first start
#if [ \! -f "$MNT_PATH"/etc/profile.d/tweak.sh ]; then
#mkdir -p "$MNT_PATH"/home/opensuse
echo 'nameserver 8.8.8.8' > "$MNT_PATH"/etc/resolv.conf
#echo 'net:x:3003:root,opensuse' >> "$MNT_PATH"/etc/group
#echo 'opensuse:x:1000:100::/home/opensuse:/bin/bash' >> "$MNT_PATH"/etc/passwd
#echo 'opensuse:$1$joWqOQdr$YsapocP32UtdiR3PKBXVM1:15395:0:::::' \
# >> "$MNT_PATH"/etc/shadow
#sed -i 's|^root:.*|root:$1$joWqOQdr$YsapocP32UtdiR3PKBXVM1:15395:0:::::|' \
# "$MNT_PATH"/etc/shadow
#echo '#!/bin/sh
#export TERM=linux
#export LANG="en_US.utf-8"
#export EDITOR="busybox vi"
#alias vi="busybox vi"
#precmd() { :; }
#if [ "`whoami`" = root ]; then
# export HOME=/root
# export USER=root
# hostname -F /etc/HOSTNAME
#fi
#if [ -z "$CHROOTED" ]; then
# export CHROOTED=yes
# export HOME="/home/opensuse"
# export USER="opensuse"
# su opensuse
#fi
#' > "$MNT_PATH"/etc/profile.d/tweak.sh
#fi
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/system/xbin:/system/bin"
# Chroot
chroot "$MNT_PATH" /bin/bash
#chroot "$MNT_PATH" /root/init.sh
# Cleanup
echo "Umount everything"
for i in $MY_MOUNTS; do
umount -l $i
done
Step 4:
Chmod +x the script and run it as root.
Code:
su
#chmod +x scriptname.sh
sh scriptname.sh
The script will mount the ext partition of your (micro)sd card in /sdcard/arch and will chroot into it. It also does other really nice things, such as mounting your android partitions to /mnt so you can access them from within your arch environment. I have disabled some lines that are used to set up a some environment variables, but you should still be able to get a fully functional command-line environment and you can enable them and modify them as you want.
Step 5:
The rest is completely up to you, now you have arch running in your transformer. But what!? You need X?! really???? Ok, so lets create a vnc server so we can remote into it.
Your network connection should work, so the first thing to do is an update
Code:
#pacman -Syu
Now install xorg
Code:
#pacman -S xorg-server xorg-xinit xorg-twm xorg-xclock xterm
Now install a vncserver
Code:
#pacman -S tightvnc
And now this is the tricky part(And I spent a lot of time in this).
I grabbed this script from the UbuntuInstaller post. This is the script they use for setting a resolution at each boot. What I did was to remove the resolution prompt and fix the resolution to 1280x752(fullscreen) and remove some ubuntu stuff. I also added an export for HOME and USER that will allow you to run 'vncserver' as root.
Code:
#!/bin/bash
#############################################
# Asks User to screen size and saves as REZ #
#############################################
#echo "Now enter the screen size you want in pixels (e.g. 800x480), followed by [ENTER]:"
#read REZ
###########################################
# Tidy up previous LXDE and DBUS sessions #
###########################################
#rm /tmp/.X* > /dev/null 2>&1
#rm /tmp/.X11-unix/X* > /dev/null 2>&1
#rm /root/.vnc/localhost* > /dev/null 2>&1
#rm /var/run/dbus/pid > /dev/null 2>&1
############################################################
# enable workaround for upstart dependent installs #
# in chroot'd environment. this allows certain packages #
# that use upstart start/stop to not fail on install. #
# this means they will have to be launched manually though #
############################################################
#dpkg-divert --local --rename --add /sbin/initctl > /dev/null 2>&1
#ln -s /bin/true /sbin/initctl > /dev/null 2>&1
###############################################
# start vnc server with given resolution and #
# DBUS server, (and optionally an SSH server) #
###############################################
export HOME="/root/"
export USER="root"
vncserver :0 -geometry 1280x752
dbus-daemon --system --fork > /dev/null 2>&1
/etc/rc.d/sshd start
#echo
#echo "If you see the message 'New 'X' Desktop is localhost:0' then you are ready to VNC into your ubuntu OS.."
#echo
#echo "If VNC'ing from a different machine on the same network as the android device use the 1st address below:"
##########################################
# Output IP address of android device #
##########################################
ifconfig | grep "inet addr"
#echo
#echo "If using androidVNC, change the 'Color Format' setting to 24-bit colour, and once you've VNC'd in, change the 'input mode' to touchpad (in settings)"
#echo
#echo "To shut down the VNC server and exit the ubuntu environment, just enter 'exit' at this terminal - and WAIT for all shutdown routines to finish!"
#echo
###############################################################
# Spawn and interactive shell - this effectively halts script #
# execution until the spawning shell is exited (i.e. you want #
# to shut down vncserver and exit the ubuntu environment) #
###############################################################
/bin/bash -i
#########################################
# Disable upstart workaround and #
# kill VNC server (and optionally SSH) #
# Rename used xstartup to its first file#
#########################################
vncserver -kill :0
/etc/rc.d/sshd stop
Place this script in /root/, give it the name 'init.sh' and make sure it is executable(chmod +x). Now in the previous script comment the line:
Code:
chroot "$MNT_PATH" /bin/bash
and uncomment the line
Code:
chroot "$MNT_PATH" /root/init.sh
Step 6:
Now you should be able to start a vncserver with twm as your window manager and a xterm.
You can now go to
https://wiki.archlinux.org/index.php/Desktop_Environment
or
https://wiki.archlinux.org/index.php/Window_Manager
and set up the desktop environment that you like the most.
Remember that you need to set up the graphical environment to start manually and not at boot. In a normal environment you would usually use 'startx' which will read the .xinitrc file and run the programs from there. In our case put everything that needs to go into .xinitrc into ~/.vnc/xstartup. An example of my ~/.vnc/xstartup
Code:
#!/bin/bash
xrdb $HOME/.Xresources
exec startfluxblox
This will start an empty fluxbox window manager.
If we can install full Linux OS on note 10.1 2014, then it will become the truly laptop replacement.
It seems that Linux deploy is very promising, but it require a truly working root
Someone used Linux deploy to install full Linux OS on note 10.1 2012 and turned note into a full Linux laptop when needed.
https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy
Can someone savvy give it a try?
I've played around with a few installers and in the terminal by hand for a few hours. I am not able to grant permission to chroot. Even with root. I will look into this in the future.
dasmoover said:
I've played around with a few installers and in the terminal by hand for a few hours. I am not able to grant permission to chroot. Even with root. I will look into this in the future.
Click to expand...
Click to collapse
someone managed to install Linux on note3
https://github.com/meefik/linuxdeploy/issues/77
Since note 10.1 2014 is essentially an enlarged note3, above information maybe helpful for you
Got Linux deploy (linuxonandroid) app working with work
Hello, Sorry meant to say Complete Linux Installer in the topic, not Linux Deploy!
I tried the Linux Deploy project with no luck. The post that was in this thread got me to the point that you need to apply a patch in the source code ShellEnv.java and then recompile. It sets it up so it prefaces all commands in the script with su when run. I was not able to recompile the code nor anyone that could give it to me. So I moved on to the Complete Linux Installer linuxonandroid app http://linuxonandroid.org/ I ran into the same problems but I was able to get around it because the script that is used to starts the Linux distribution is editable it is bootscript.sh placed in /data/data/com/zpwebsites.linuxonandroid/files this script is automatically created when you walk through the setup/install process while you are downloading an image file going through the setup process you can edit this file as it will be created at that point, where ever you see "$bbox and a xxxxx" in the script you change it to "su $bbox and xxxxxxx" so basically you have to preface all these points which there are a lot of with su. This is part of the situation. Second part is that you will need to setup the mount point for the loop directory by hand and you can see this in the script, then you will need to mount the loop directory and then create each directory inside to what is specified in the script.Then unmount the loop directory, or reboot and then you can finish the setup and launch the distribution.
You may run into errors along the way and you will need to correct them as needed. This is no easy task to setup unless you are familiar with linux and what the script is doing. Sorry I have no easy way but I was able to get it running with the Ubuntu small images to even include the display, still having so issues getting the xwindow to display correctly in the other large images which are close to a full distribution.
All my work was done with a terminal emulator, root explorer, a text editor, Complete Linux Installer(linuxonandroid from ZPWebSites), and a VNC client. Oh and using the spen and Bluetooth keyboard helps as it takes more time with just the touch interface and keyboard for what needs to be done.
It is possible to get running but you have to work at it, took me 3 hours to work through all the issues and I am familiar with Linux and its tools.
Hope this gets you in the direction you need because it was important to me to get this working for what I do. I have sent updates to the developer to hope he can automate this in the future. With Samsung's Android implementation with multiple user config it messes with the security context of scripts because each command can be run through an interactive terminal session. But the script needs to pass SU with the commands to get it to work.
I have a Samsung Galaxy Note 10.1 2014 WIFI P600 and should work with the other models too because not specific to a model. Seems this work with a Galaxy S4 as well since they are setup the same in the OS from what I have found.
quser1 said:
Hello, Sorry meant to say Complete Linux Installer in the topic, not Linux Deploy!
I tried the Linux Deploy project with no luck. The post that was in this thread got me to the point that you need to apply a patch in the source code ShellEnv.java and then recompile. It sets it up so it prefaces all commands in the script with su when run. I was not able to recompile the code nor anyone that could give it to me. So I moved on to the Complete Linux Installer linuxonandroid app http://linuxonandroid.org/ I ran into the same problems but I was able to get around it because the script that is used to starts the Linux distribution is editable it is bootscript.sh placed in /data/data/com/zpwebsites.linuxonandroid/files this script is automatically created when you walk through the setup/install process while you are downloading an image file going through the setup process you can edit this file as it will be created at that point, where ever you see "$bbox and a xxxxx" in the script you change it to "su $bbox and xxxxxxx" so basically you have to preface all these points which there are a lot of with su. This is part of the situation. Second part is that you will need to setup the mount point for the loop directory by hand and you can see this in the script, then you will need to mount the loop directory and then create each directory inside to what is specified in the script.Then unmount the loop directory, or reboot and then you can finish the setup and launch the distribution.
You may run into errors along the way and you will need to correct them as needed. This is no easy task to setup unless you are familiar with linux and what the script is doing. Sorry I have no easy way but I was able to get it running with the Ubuntu small images to even include the display, still having so issues getting the xwindow to display correctly in the other large images which are close to a full distribution.
All my work was done with a terminal emulator, root explorer, a text editor, Complete Linux Installer(linuxonandroid from ZPWebSites), and a VNC client. Oh and using the spen and Bluetooth keyboard helps as it takes more time with just the touch interface and keyboard for what needs to be done.
It is possible to get running but you have to work at it, took me 3 hours to work through all the issues and I am familiar with Linux and its tools.
Hope this gets you in the direction you need because it was important to me to get this working for what I do. I have sent updates to the developer to hope he can automate this in the future. With Samsung's Android implementation with multiple user config it messes with the security context of scripts because each command can be run through an interactive terminal session. But the script needs to pass SU with the commands to get it to work.
I have a Samsung Galaxy Note 10.1 2014 WIFI P600 and should work with the other models too because not specific to a model. Seems this work with a Galaxy S4 as well since they are setup the same in the OS from what I have found.
Click to expand...
Click to collapse
Can you upload the edited script?
dasmoover said:
Can you upload the edited script?
Click to expand...
Click to collapse
Yes, I will try. One thing is that the script is producing errors when you try to Exit the running distro with syntax errors on a couple of commands and I have not been able to fix them, they looks like script issues from the generated script, still need investigation and I have contacted the developer. Only way I have been able to get the system to unmount the loop device after an exit is to restart the tablet because of the script errors. Also you will need to create all the file system in the loop directory as the script is not doing it automatically.
---------- Post added at 09:43 AM ---------- Previous post was at 09:26 AM ----------
Tried to attach file so keep getting error so pasting the script here. Just so you know this is an auto created script on setup so not sure if it is different for each install.
###########################################
# Linux boot script V8 for Android v4.3 #
# Built by Zachary Powell (zacthespack) #
# and Martin Møller (Tuxling) #
# Thanks to: #
# Johan Vromans #
# Marshall Levin #
# Vaykadji #
# and to everyone at XDA! #
# Feel free to edit/use this script as you#
# like but credit Linuxonandroid.org #
###########################################
# $ver: V8 #
###########################################
###########################################
# This is a function we use to stop the #
# script in case of errors #
###########################################
error_exit() {
echo "Error: $1"
exit 1
}
###########################################
# Set up variables #
###########################################
if [ -f /data/data/com.zpwebsites.linuxonandroid/files/busybox ]; then
export bbox=/data/data/com.zpwebsites.linuxonandroid/files/busybox
elif [ -f /data/data/com.zpwebsites.linuxonandroid.opensource/files/busybox ]; then
export bbox=/data/data/com.zpwebsites.linuxonandroid.opensource/files/busybox
else
export bbox=/system/xbin/busybox
fi
export usermounts=android # Base folder all user mounts are done in, should be moved to app later
export imgfile=$(dirname $0)/ubuntu.img # Default image file, another can be set by using an argument
export bin=/system/bin
export mnt=/data/local/mnt
export USER=root
if [[ ! -d $mnt ]]; then mkdir $mnt; fi
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export HOME=/root
###########################################
# Handle arguments if present #
###########################################
if [ $# -ne 0 ]; then
if [ -f $1 ]; then # Is full path present?
imgfile=$1
elif [ -f $(dirname $0)/$1 ]; then # Is only a filename present?
imgfile=$(dirname $0)/$1
else
error_exit "Image file not found!($1)"
fi
fi
###########################################
# If a md5 file is found we check it here #
###########################################
if [ -f $imgfile.md5 ]; then
echo "MD5 file found, use to check .img file? (y/n)"
read answer
if [ $answer == y ]; then
echo -n "Validating image checksum... "
$bbox md5sum -c -s $imgfile.md5
if [ $? -ne 0 ];then
echo "FAILED!"
error_exit "Checksum failed! The image is corrupted!"
else
echo "OK"
rm $imgfile.md5
fi
fi
fi
################################
# Find and read config file #
# or use defaults if not found #
################################
use_swap=no
cfgfile=$imgfile.config # Default config file if not specified
if [ -f $imgfile.config ]; then
source $imgfile.config
fi
###########################################
# Set Swap up if wanted #
# #
###########################################
if [ $use_swap == yes ]; then
if [ -f $imgfile.swap ]; then
echo "Swap file found, using file"
echo "Turning on swap (if it errors here you do not have swap support"
swapon $imgfile.swap
else
echo "Creating Swap file"
dd if=/dev/zero of=$imgfile.swap bs=1048576 count=1024
mkswap $imgfile.swap
echo "Turning on swap (if it errors here you do not have swap support"
swapon $imgfile.swap
fi
fi
###########################################
# Set up loop device and mount image #
###########################################
echo -n "Checking loop device... "
if [ -b /dev/block/loop255 ]; then
echo "FOUND"
else
echo "MISSING"
# Loop device not found so we create it and verify it was actually created
echo -n "Creating loop device... "
su $bbox mknod /dev/block/loop255 b 7 255
if [ -b /dev/block/loop255 ]; then
echo "OK"
else
echo "FAILED"
error_exit "Unable to create loop device!"
fi
fi
su $bbox losetup /dev/block/loop255 $imgfile
if [ $? -ne 0 ];then error_exit "Unable to attach image to loop device! (Image = $imgfile)"; fi
su $bbox mount -t ext4 /dev/block/loop255 $mnt
if [ $? -ne 0 ];then error_exit "Unable to mount the loop device!"; fi
###########################################
# Mount all required partitions #
###########################################
su $bbox mount -t devpts devpts $mnt/dev/pts
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/dev/pts!"; fi
su $bbox mount -t proc proc $mnt/proc
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/proc!"; fi
su $bbox mount -t sysfs sysfs $mnt/sys
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/sys!"; fi
su $bbox mount -o bind /sdcard $mnt/sdcard
if [ $? -ne 0 ];then error_exit "Unable to bind $mnt/sdcard!"; fi
if [[ ! -d $mnt/root/cfg ]]; then mkdir $mnt/root/cfg; fi
su $bbox mount -o bind $(dirname $imgfile) $mnt/root/cfg
su $bbox mount -o bind /sys/fs/selinux $mnt/selinux
###########################################
# Checks if you have a external sdcard #
# and mounts it if you do #
###########################################
if [ -d /sdcard/external_sd ]; then
su $bbox mount -o bind /sdcard/external_sd $mnt/external_sd
fi
if [ -d /Removable/MicroSD ]; then
su $bbox mount -o bind /Removable/MicroSD $mnt/external_sd
fi
# This is for the HD version of the Archos 70 internet tablet, may be the same for the SD card edition but i dont know.
if [ -d /storage ]; then
su $bbox mount -o bind /storage $mnt/external_sd
fi
###########################################
# Mount all user defined mounts if any #
###########################################
if [ -f $imgfile.mounts ]; then
olddir=$(pwd)
echo "Mounting user mounts"
cd $mnt
if [[ ! -d $mnt/$usermounts ]]; then su $bbox mkdir -p $usermounts; fi
echo "# Script to unmount user defined mounts, do not delete or edit!" > $imgfile.shutdown
echo "cd $mnt/$usermounts" > $imgfile.shutdown
cd $mnt/$usermounts
for entry in $(cat "$imgfile.mounts"); do
ANDROID=${entry%;*}
LINUX=${entry#*;}
if [[ -d $ANDROID ]]; then
echo -n "Mounting $ANDROID to $usermounts/$LINUX... "
if [[ ! -d $mnt/$usermounts/$LINUX ]]; then su $bbox mkdir -p $LINUX; fi
su $bbox mount -o bind $ANDROID $mnt/$usermounts/$LINUX &> /dev/null
if [ $? -ne 0 ];then
echo FAIL
if [[ -d $mnt/$usermounts/$LINUX ]]; then su $bbox rmdir -p $LINUX; fi
else
echo OK
echo "su $bbox umount $mnt/$usermounts/$LINUX" >> $imgfile.shutdown
echo "su $bbox rmdir -p $LINUX" >> $imgfile.shutdown
fi
else
echo "Android folder not found: $ANDROID"
fi
done
echo "cd $mnt" >> $imgfile.shutdown
echo "su $bbox rmdir -p $usermounts" >> $imgfile.shutdown
cd $olddir
else
echo "No user defined mount points"
fi
###########################################
# Sets up network forwarding #
###########################################
su $bbox sysctl -w net.ipv4.ip_forward=1
if [ $? -ne 0 ];then error_exit "Unable to forward network!"; fi
# If NOT $mnt/root/DONOTDELETE.txt exists we setup hosts and resolv.conf now
if [ ! -f $mnt/root/DONOTDELETE.txt ]; then
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
if [ $? -ne 0 ];then error_exit "Unable to write resolv.conf file!"; fi
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "127.0.0.1 localhost" > $mnt/etc/hosts
if [ $? -ne 0 ];then error_exit "Unable to write hosts file!"; fi
fi
###########################################
# Chroot into ubuntu #
###########################################
su $bbox chroot $mnt /root/init.sh $(basename $imgfile)
###########################################
# Shut down ubuntu #
###########################################
echo "Shutting down Linux ARM"
#for pid in `lsof | grep $mnt | sed -e's/ / /g' | cut -d' ' -f2`; do kill -9 $pid >/dev/null 2>&1; done
for pid in `su $bbox lsof | su $bbox grep $mnt | su $bbox sed -e's/ / /g' | su $bbox cut -d' ' -f2`; do su $bbox kill -9 $pid >/dev/null 2>&1; done
sleep 5
###########################################
# Unmount all user defined mounts if any #
###########################################
if [ -f $imgfile.shutdown ]; then
echo "Unmounting user defined mounts"
sh $imgfile.shutdown
rm $imgfile.shutdown
fi
su $bbox umount $mnt/root/cfg
su $bbox umount $mnt/sdcard
su $bbox umount $mnt/external_sd
su $bbox umount $mnt/dev/pts
su $bbox umount $mnt/dev
su $bbox umount $mnt/proc
su $bbox umount $mnt/sys
su $bbox umount $mnt/selinux
su $bbox umount $mnt
su $bbox losetup -d /dev/block/loop255 &> /dev/null
for those brave enough ,try SELinux Permissive Kernel,maybe all problems will be solved.
http://forum.xda-developers.com/showthread.php?t=2590311
robertchow said:
for those brave enough ,try SELinux Permissive Kernel,maybe all problems will be solved.
http://forum.xda-developers.com/showthread.php?t=2590311
Click to expand...
Click to collapse
Yes the kernel in the thread you posted allows for Linux function in Complete Linux Installer. After the kernel is installed either use Wanam Xposed and disabling SELinux to set as always Permissive, or using "setenforce 0" in terminal(this is only for the session and once the system reboots will go back to Enforcing or if "setenforce 1")
At that point if you use getenforce at a terminal will show as Permissive and Linux will boot normally with full function.
My hat goes off to the developer of the kernel because now I have everything on the tablet I need.
FYI on my Ubuntu large installs I am running into a new SELinux issue, even with it in Permissive doing an apt-get upgrade, causes issues with an error related to invalid security context selinux, cant remember the full error. I am not seeing this with the Fedora large image. When this happens with the Ubuntu ones it breaks the KDE GUI and the Application menu ends up blank. The error occurs when install packages try to address the Ubuntu Group security, packages like colord is just an example which do a security group change. Still plowing through how to fix. Till then using Fedora which I haven't used in years
Hi,
I tried with the large Ubuntu image and get an error as well with apt-get update...not being too conversant on Linux on Android, I would like to find out if you had a fix or a resolution from the developers? Might have to stay with the Xperia Z Tablet for Linux in the meantime...
Fedora 19 via Complete Linux Installer. Have Selinux Permissive Kernel, Selinux Mode Changer, and root of course. Otherwise FW is stock MJ6.
Just a few remarks:
The Fedora image is a bit small for a full blown Linux desktop. I copied the contents to a larger 8 GB image. Had to reformat the SD card with exFAT in order to store the image there. Copying was done on a desktop computer because MTP connection just stops at 4 GB.
Changes to scripts include changing the mount command for external_sd to /storage/extSdCard in boot script. Once Linux is up and running, change /root/init.sh, find the line that starts vncserver and append -dpi 300, otherwise fonts in Linux are barely readable. Wigdets are still kind of small but at least the fonts are readable now.
If you get a connection refused in AndroidVNC, you may have to set a password on the Linux terminal for user, that is su - fedora, then vncpasswd.
Todo: find out why second start of Linux fails on loop mount busy and why shutdown complains about umount of dev.
So, my note happily runs KDE desktop, LibreOffice, and kile for LaTeX. The latter was the main reason for putting Linux on the note.
caferick said:
Fedora 19 via Complete Linux Installer. Have Selinux Permissive Kernel, Selinux Mode Changer, and root of course. Otherwise FW is stock MJ6.
Just a few remarks:
The Fedora image is a bit small for a full blown Linux desktop. I copied the contents to a larger 8 GB image. Had to reformat the SD card with exFAT in order to store the image there. Copying was done on a desktop computer because MTP connection just stops at 4 GB.
Changes to scripts include changing the mount command for external_sd to /storage/extSdCard in boot script. Once Linux is up and running, change /root/init.sh, find the line that starts vncserver and append -dpi 300, otherwise fonts in Linux are barely readable. Wigdets are still kind of small but at least the fonts are readable now.
If you get a connection refused in AndroidVNC, you may have to set a password on the Linux terminal for user, that is su - fedora, then vncpasswd.
Todo: find out why second start of Linux fails on loop mount busy and why shutdown complains about umount of dev.
So, my note happily runs KDE desktop, LibreOffice, and kile for LaTeX. The latter was the main reason for putting Linux on the note.
Click to expand...
Click to collapse
Thanks for the post. I played around with linux on my note 2 and have been waiting to get it running on my 2014. How well does it handle linux?
Sent from my SM-P600 using XDA Premium 4 mobile app
Duly.noted said:
How well does it handle linux?
Click to expand...
Click to collapse
It runs reasonably well. I guess the limiting factor is disk I/O, or SD I/O in this case. I run KDE 4 in desktop mode with graphical desktop effects disabled and most of the KDE services like indexing disabled. It takes about 15-20 seconds from finished boot to desktop. Once the desktop is up and running, opening apps like LibreOffice is fast enough. Feels like with the first generation Atom netbooks. KDE is a resource hog, it would probably make sense to go for something that is lighter on resources but I chose KDE for girlfriend compatibility. She only knows KDE and I won't force her to learn the XFCE way or something even more obscure like Gnome3 http://forum.xda-developers.com/images/smilies/tongue.gif .
Vncserver runs at native full screen, ie 2560x1600 at 300 dpi. There was a noticable screen redraw lag when closing windows. That was easily fixed by disabling the desktop background image. I have not yet done any high load tasks. Only opened LibreOffice and kile for a quick check.
I have a cheapo foldable bluetooth keyboard. Need to get a small bluetooth mouse. Any recommendations? Or a small keyboard/touchpad combo I can take with me when traveling.
To Caferick - Fedora 19 step by step
Hi can you explain step by step how u got the Fedora 19 to wor pleasek? where i can find the bootscript?
Amadyl said:
Hi can you explain step by step how u got the Fedora 19 to wor pleasek? where i can find the bootscript?
Click to expand...
Click to collapse
Hum, a step by step guide would be rather longish. To answer the question: Complete Linux Installer scripts are located in /data/data/com.zpwebsites.linuxonandroid/files. There is the bootscript.sh. However, editing it is not strictly necessary. It should work as is. Alright, let's see
Preliminaries:
* need root on your device along with the usual suspects like busybox and terminal emulator (both on Google Play)
* need selinux set to permissive -> flash selinux permissive kernel (to be found in xda forums) and install something like SELinuxModeChanger (Play) set to always change SELinux mode to permissive, check by rebooting and then Configuration > General > Device Info, it should say Permissive
* useful apps include a decent file manager (I like TotalCommander), ZIP extractor (ZArchiver), text editor (Jota), these make things somewhat easier
* required app: AndroidVNC (Play)
1. Install Complete Linux Installer from Play
* start the app and open the menu by touching the < sign at the top left
* choose installation guides (or the like, my interface is not English)
* choose Fedora 19, there are four tabs, work through them in sequence, second tab presents a download button, if you have not yet installed Terminal and AndroidVNC you can use the two other buttons to do it now
* third tab asks you to unzip the downloaded image, the ZIP will probably be in /storage/emulated/0/download, move it to the root of your external SD card, unzip with Zarchiver
* there should now be a new folder fedoraXXXXX with two files in it, the fedora-*.img and an md5 file, you can safely delete the md5 file and maybe rename the image to something like fedora.img, likewise for the enclosing folder
* read the rest of tab 3 and 4
2. Start Linux
* go back to CompLinInstaller menu and push the second entry labeled Start
* a page will open and probably say Ubuntu in the drop down combo box above the Start button, change it to Fedora and type in the path to the image, like /storage/extSdCard/fedora/fedora.img
* push the Start button
* a terminal will open and a few lines will fly by. If everything goes well, you will be asked to set passwords two times, just use a trivial one like 12345678, you can change it later if you are paranoid about passwords
* you will be asked to set the resolution for VNC, type 2560x1600 which is the native resolution of the tab
* you will be asked whether you want to autostart VNC, type y
* you will be asked whether you want to start SSH server, type n
* your choice will be saved right beside the image file, in my case the file is called fedora.img.config, you can change it with any text editor
3. In the chroot terminal
* still in the terminal, the prompt should now say [email protected]
* while you are there, type su - fedora , the prompt should change to [email protected]
* type vncpasswd to set a password for VNC access, just use the same password as above, then type exit
* you are back at [email protected] If you have a keyboard (bluetooth or USB), you can edit the file init.sh with vi and append -dpi 300 to vncserver startup line. This setting will take effect at next start because vncserver. If you do not have a keyboard or do not know vi editor, you can skip this for now.
4. VNC
* start AndroidVNC, Nick: fedora, Password: 12345678, Address: localhost, Port: 5900, Color Format: 24-bit color (4bpp), Connect
* you should now see a linux desktop with tiny fonts
* hit the tabs config button to bring up AndroidVNC options, change input mode to touchpad
* you can now move the linux pointer with your finger on the display
5. Shutdown
* in VNC Linux logout just as you would log out of any other Linux desktop
* terminate VNC session by choosing Disconnect from AndroidVNC config menu
* switch to the still running terminal and type exit
* Linux now stops, wait a few seconds and close the terminal
There are still some minor problems with shutdown which I am trying to trace. A subsequent start of Linux will not work because of busy devices. So best reboot the tab and try again.
That's it for the base setup. Uh, the text is long indeed. Has it worked for you so far? Next comes customization
Corrections welcome, I typed this down from memory...
script
So we need to create script ourselves, when i've done it, i was set resolution to my tablet's resolution, then all is poor to see, that words and windows is too small to work, so it's horrible at the moment, but else works good enough. Is anyone know how to get normal UI on that big resolution? Sorry for my bad english.
Hey guys is there a walk through on how to increase the IMG size for fedora in a windowc pc ? i al ready have the SD partitioned just need to encrease the size to 10 GB
sits at boot up
My device is rooted, chroot installed, vnc installed, and busybox installed.
I install SELinux Permissive and systems sits at bootup screen. never boots to OS at any point. Just sits and the Samsung screen.
I have the Galaxy Note 10.1 SM-P600 (2014 Edition).
How long does it sit at the Samsung Boot screen before finally booting the rest of the way?
I installed using Odin 3.09.
I have running Ubuntu (xfce) on my Note 3 with Linux Deploy. VNC is not the way, it is slow. You should use framebuffer mode and you will be astonished how nice its running. Also, I modified xorg.conf for the phone to only react to stylus input and the stylus button to be right click. This setup is also working on my Note 10.1 old edition.
mdalacu said:
I have running Ubuntu (xfce) on my Note 3 with Linux Deploy. VNC is not the way, it is slow. You should use framebuffer mode and you will be astonished how nice its running. Also, I modified xorg.conf for the phone to only react to stylus input and the stylus button to be right click. This setup is also working on my Note 10.1 old edition.
Click to expand...
Click to collapse
Can we use it without linux deploy, because it doesn't work on sm-p605? Can you point us to some guide or documentation? Thanks.