[Linux] Porting native Linux to Galaxy Note9 - Samsung Galaxy Note 9 (Exynos) ROMs, Kernels, Reco

This thread is about starting native Linux on Samsung Galaxy Note9. This isn't my first attempt to do such thing. The history looks like Galaxy Spica -> Galaxy J1 (2016) -> Galaxy Note9. So I know what I'm doing
Later I'll post instructions how to install and run it.
Note9 isn't my main device, so I won't work on dualboot. If some wants to make it, feel free to build dualboot (kexec) recovery and post it here.
Source code.
Kernel: https://github.com/LONELY-WOLF/crownlte-linux-os

First success
So, here is a first result.
With minor modifications to DECON (framebuffer) my Note9 is able to run Arch Linux form SD card.
So far it has no serial or USB console. I can't find a way to make UART JIG for Type-C Samsungs. USB gadgets are hardcoded and can't be easy changed to CDC ACM. This is not good and makes development harder.
Arch Linux says it started GUI but I don't know what happened to Xorg. It can be on back buffer or on another display (since Note9 has it via Type-C).

This would be awesome for me during pen testing?!
Def following!

Could install it on dualboot?

giorgior.r said:
Could install it on dualboot?
Click to expand...
Click to collapse
Yes, it's possible. As for now kernel is inside phone memory and root FS is on SD card.
There are two ways to install it alongside Android:
Flash Linux kernel as recovery. So when you try to enter recovery it'll boot into Linux. You lose recovery in this case.
Install special dualboot/kexec recovery and start Linux from recovery menu. (If someone will make such recovery for Note9)
All Linux files (except kernel) are on SD card. SD has following partition scheme:
Storage. That's what your Android sees as SD card. FAT32 or exFAT
Apps2SD. Is someone still using it? However this partition can be 1MB in size.
Linux rootfs. That's where Linux "ROM" lives.
So SD is also ready for daily use.

nice, have similar thing based on exynos-linux-stable and debian stretch wifi work but sound and usb not yet for me. how you enabled boot console? also need to swap red and blue channel because they are flipped on 24/32 bit colours

Sisah said:
nice, have similar thing based on exynos-linux-stable and debian stretch wifi work but sound and usb not yet for me. how you enabled boot console? also need to swap red and blue channel because they are flipped on 24/32 bit colours
Click to expand...
Click to collapse
For fbcon you need to patch decon driver. Take a look at my commits on GitHub.
Yes, RGB<->BGR is a common issue. I have it on J120F too. This hack work for J1. But it would be nice to find a source of the problem. I believe decon reports wrong color order.
WARNING! I had to disable fbcon on J1 because it messed up with Xorg.
Still no luck with USB. I try to configure it with configfs, but got error
Code:
Config c/1 of g1 needs at least one function
Looks like Samsung hardcoded something inside USB drivers.

Found out that USB configfs is heavily modified. That's the reason why Linux can't configure USB gadgets properly. Bring back compatibility seems to be a hard task.

ho ho ho... so long time im not play dualboot
sorry i have diferent question, i see on youtube, normal windows 10 work on lumia 950 and 950xl, what its that ?

Ce Doresti said:
ho ho ho... so long time im not play dualboot
sorry i have diferent question, i see on youtube, normal windows 10 work on lumia 950 and 950xl, what its that ?
Click to expand...
Click to collapse
Since I'm a Windows Phone hacker, I can answer your question
That project is very similar to what I do here. Starting from Windows Phone 8, phone OS and desktop one have one (NT) kernel. Just like Android and desktop Linux do. Windows you see on NL950 on YouTube is "Windows for ARM". It looks like desktop but it can't run normal Windows EXEs because of different processor architecture. Maybe it can run desktop .NET applications (I've made proof-of-concept EXE that worked on both Windows Mobile 5.0 and Windows XP) but I'm not sure.
Linux is a better way to get desktop OS on mobile device. Open source nature of most Linux software makes it possible to use almost any program on any processor architecture. Take a look at single board computers (like Raspberry Pi) if you want to see what Linux can do on ARM architecture.

I think win 10 for arm have integrated x86 emulator, so it probably launch nearly anything.
If i can have one more question. How you refreshing screen? Refresh rate is set to 0 and my every attempt to configure screen with fbset result in black screen and hard reset, so i must use infinite loop that send "1" to /sys/class/graphics/fb0/rotate to refresh my screen

-W_O_L_F- said:
Since I'm a Windows Phone hacker, I can answer your question
That project is very similar to what I do here. Starting from Windows Phone 8, phone OS and desktop one have one (NT) kernel. Just like Android and desktop Linux do. Windows you see on NL950 on YouTube is "Windows for ARM". It looks like desktop but it can't run normal Windows EXEs because of different processor architecture. Maybe it can run desktop .NET applications (I've made proof-of-concept EXE that worked on both Windows Mobile 5.0 and Windows XP) but I'm not sure.
Linux is a better way to get desktop OS on mobile device. Open source nature of most Linux software makes it possible to use almost any program on any processor architecture. Take a look at single board computers (like Raspberry Pi) if you want to see what Linux can do on ARM architecture.
Click to expand...
Click to collapse
thank you !

I can see the potential of this project if things go according to your vision.. I will for sure donate you for your amazing effort

Interesting, is it more for the challenge itself or what's your goal?
Linux on Dex works great for me, it's missing a gui if you don't connect it to a display but you could probably trick it to believe that the phone screen is an external display.

Sisah said:
I think win 10 for arm have integrated x86 emulator, so it probably launch nearly anything.
If i can have one more question. How you refreshing screen? Refresh rate is set to 0 and my every attempt to configure screen with fbset result in black screen and hard reset, so i must use infinite loop that send "1" to /sys/class/graphics/fb0/rotate to refresh my screen
Click to expand...
Click to collapse
Since we use the same kernel can you share your work on GitHub too? Also I need all your current work on OS. What image you use? What modifications you made? It's a good idea for me to migrate to the same distro. This can speed up our work.

-W_O_L_F- said:
Since we use the same kernel can you share your work on GitHub too? Also I need all your current work on OS. What image you use? What modifications you made? It's a good idea for me to migrate to the same distro. This can speed up our work.
Click to expand...
Click to collapse
Here is my config files for debian.
https://www.mediafire.com/file/ccziy42yj2bn28x/LINUX.zip
(Include precompiled mtev driver from meefik https://github.com/meefik/xorg-input-mtev
Also it set wacom driver for spen to work
)
kernel .config
https://www.mediafire.com/file/czrct62638xpkhz/.config
And debian install cdrom
https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/
installation was little tricky, need to install linuxdeploy compile kernel with atleast isofs, systemv-ipc, vt console, kernel automounter-v4, fanotify and raid-dm support and put it to recovery.img, then dd it to BOOT partition.
Now download debian-installer.iso, extract ramdisk.gz from him and reboot to modified recovery.
Here mount system, go to terminal, type linuxdeploy shell.
Now we must unpack ramdisk.gz from installer with abootimg or mkbootimg, mount debian-installer.iso to unpacked-ramdisk/cdrom and then we can chroot to installer ramdisk with chroot /unpacked-ramdisk /bin/ash
After that just type
./init
debian-installer-startup
debian-installer
Use sdcard as root partition and install.
After installing base system it probably fail to setup apt, so we must open terminal in setup program then
mount --bind /cdrom /target/media/cdrom (need to create that dir first)
then
chroot /target /bin/bash
apt-cdrom add
apt-get update
Now you can run tasksel and install desktop (kde xfce and gnome work but need lightdm for virtual keyboard on login)
(Here is nice place to copy those config files i posted and run install.sh, but also be sure to install lightdm and onboard keyboard, its not in my pack)
after that type exit few times until you get back to installer where you can finish installation.
Then need to compile kernel make initrd and create boot.img (can be done in linuxdeploy on android)
Also copy /vendor from phone to installed system then wifi start working and we can install from netinst-cd with little less trouble, or install to .img maybe even folder from internal_sdcard, its much faster than booting from memory card

Here is my fresh install of debian stretch and kde, only modification is in lightdm-gtk-greeter.conf, 40-libinput.conf, xorg.conf (not needed much), /usr/share/initramfs-tools/scripts/local (hardcoded root partition and loop .img for boot) and added framebuffer_refresh systemd service. To install just unpack .zip to root of /data (sda25) and flash linux-boot.img to boot partition.
Sound, USB, and 24bit colors are still broken, but maybe still better than linux on dex with some hardware graphics acceleration like panfrost driver it may be better than my pc
Root - 16GB .img after unpack
https://mega.nz/#!zeAA3KzY!vK5g2HtI0H3CD654wx40w14VstT6ktLX6tzNsUMWNoU
Boot.img
https://mega.nz/#!LCQB0QJK!YKTflwPsAJosaxr0Bqlu_9XtfgCFxkgNCmrbyNNaBvM
Login as sisah with password 123456, root password 123456, kde wallet password is set to 123456 too. Made on n960f dual sim.

Sisah said:
Here is my fresh install of debian stretch and kde, only modification is in lightdm-gtk-greeter.conf, 40-libinput.conf, xorg.conf (not needed much), /usr/share/initramfs-tools/scripts/local (hardcoded root partition and loop .img for boot) and added framebuffer_refresh systemd service. To install just unpack .zip to root of /data (sda25) and flash linux-boot.img to boot partition.
Sound, USB, and 24bit colors are still broken, but maybe still better than linux on dex with some hardware graphics acceleration like panfrost driver it may be better than my pc
Root - 16GB .img after unpack
https://mega.nz/#!zeAA3KzY!vK5g2HtI0H3CD654wx40w14VstT6ktLX6tzNsUMWNoU
Boot.img
https://mega.nz/#!LCQB0QJK!YKTflwPsAJosaxr0Bqlu_9XtfgCFxkgNCmrbyNNaBvM
Login as sisah with password 123456, root password 123456, kde wallet password is set to 123456 too. Made on n960f dual sim.
Click to expand...
Click to collapse
Good work

@Sisah
I've managed to get USB to work. Here, take the code:
Code:
#!/bin/bash
mkdir -p /sys/kernel/config/usb_gadget/g1
cd /sys/kernel/config/usb_gadget/g1
echo 0xabcd > idVendor
echo 0x1234 > idProduct
mkdir -p strings/0x409
echo SM-960F > strings/0x409/serialnumber
echo Samsung > strings/0x409/manufacturer
echo Note9 > strings/0x409/product
# Config 1
mkdir -p configs/c.1
echo 120 > configs/c.1/MaxPower
mkdir -p configs/c.1/strings/0x409
echo "ACM" > configs/c.1/strings/0x409/configuration
mkdir functions/acm.GS0
ln -s functions/acm.GS0 configs/c.1
# Config 2
#mkdir -p configs/c.2
#echo 120 > configs/c.2/MaxPower
#mkdir -p configs/c.2/strings/0x409
#echo "RNDIS" > configs/c.2/strings/0x409/configuration
mkdir functions/rndis.usb0 # use default parameters
ln -s functions/rndis.usb0 configs/c.1
echo "acm,rndis" > /sys/class/android_usb/android0/functions
echo 10c00000.dwc3 > UDC
echo 1 > /sys/class/android_usb/android0/enable
# to unbind it: echo "" UDC; sleep 1; rm -rf /sys/kernel/config/usb_gadget/g1
/sbin/agetty -w -L 115200 ttyGS0 linux
exit 0

-W_O_L_F- said:
@Sisah
I've managed to get USB to work. Here, take the code:
Code:
#!/bin/bash
mkdir -p /sys/kernel/config/usb_gadget/g1
cd /sys/kernel/config/usb_gadget/g1
echo 0xabcd > idVendor
echo 0x1234 > idProduct
mkdir -p strings/0x409
echo SM-960F > strings/0x409/serialnumber
echo Samsung > strings/0x409/manufacturer
echo Note9 > strings/0x409/product
# Config 1
mkdir -p configs/c.1
echo 120 > configs/c.1/MaxPower
mkdir -p configs/c.1/strings/0x409
echo "ACM" > configs/c.1/strings/0x409/configuration
mkdir functions/acm.GS0
ln -s functions/acm.GS0 configs/c.1
# Config 2
#mkdir -p configs/c.2
#echo 120 > configs/c.2/MaxPower
#mkdir -p configs/c.2/strings/0x409
#echo "RNDIS" > configs/c.2/strings/0x409/configuration
mkdir functions/rndis.usb0 # use default parameters
ln -s functions/rndis.usb0 configs/c.1
echo "acm,rndis" > /sys/class/android_usb/android0/functions
echo 10c00000.dwc3 > UDC
echo 1 > /sys/class/android_usb/android0/enable
# to unbind it: echo "" UDC; sleep 1; rm -rf /sys/kernel/config/usb_gadget/g1
/sbin/agetty -w -L 115200 ttyGS0 linux
exit 0
Click to expand...
Click to collapse
Nice it enable usb, but still getting errors when i plug otg, and phone reboot if i connect it to pc, its strenge because i installed linux on more phones and otg alwais worked without any configuration.

Related

[HOWTO] Ubuntu on Folio 100

I'm sorry it took so long, I got lots of stuff to deal with. Good things are worth waiting for (i heard)
First off: You are responsible for any of your actions! Changes that are needed to boot Ubuntu on your folio will void your warranty!
Special Thanks goes to DerArtem for posting his Kernels, Weeds2000 for eMail support, topogigi for wifi hacking and last but not least the Ubuntu-Touch Team on IRC that made it possible for me to tweak the touchscreen driver.
However, the system you are about to create is not fully functional, there are still things missing (a working sound driver for example). Its nice to play with it anyway
Heres a quick walk-through:
We will flash a kernel to the toshiba folio tablet which makes it possible to boot from an sdcard or USB-stick (You have to choose one, we need at least 2GB, I'd recommend 4GB so you can install fancy stuff like OpenOffice etc.).
We will then create a root filesystem with rootstock, which will hold our Ubuntu system (similar to your hard drive-Ubuntu).
Finally, we have to tweak that filesystem and change passwords, copy wifi driver etc.
Then we're able to boot a beautiful Ubuntu.
Things you will need:
- A Computer running Linux (Debian / Ubuntu would be great. If you're not running Linux on your computer, running it on the folio would make absolutely no sense. Please don't ask, I don't know how to install it in Windows.)
- The files i added to this post
- A SD-Card, 2-4 GB should be fine.
- optional: A second SD-card, 128MB would be enough (for flashing)
- A USB hub (If you want to boot from USB AND use a keyboard.
- Some time... =)
The first thing you should do is flash one of the update.zip files; choose update-sdmmc.zip (this will boot your folio from sdcard) or update-usb.zip (this will boot from a usb pen drive), open it and unpack the content to a sdcard (This has to be a SDcard, we're gonna flash our device from there.)
Backup all your data on your folio (I'm serious! It'll be gone!) and turn it off.
Put the SDcard in its slot and turn the folio back on. Press + hold both power and volume up.
Follow instructions to do a system update (If you've never done this before you shouldn't start now =) )
When it reboots, your folio will show some funny black and white linux text stuff and hang somewhere. Congratulations! You just bricked your tablet. Now lets see how we can fix it... Turn it off (Keep power pressed for about 5 seconds) and take out the sdcard, put it in your PC.
It's getting messy now, so grab a beer and let's go:
Open a Terminal on your linux computer.
Code:
#echo "Hello world!"
If your console says "Hello World" you got it. Awesome! =)
Code:
#sudo apt-get install rootstock gparted
This will install rootstock, the tool we're gonna need to create our filesystem, as well as gparted, a tool for partitioning our flash drive. You can also install rootstock-gtk, the graphical version. Try it if you like:
Code:
#sudo apt-get install rootstock-gtk
I heard that ubuntu-netbook won't work because there are drivers missing, would somebody try that and report please?
If your beer is already empty when this is done, you need a faster computer. Tell your wife the guys at xda-developers told you so
Back to the terminal:
Code:
#sudo rootstock -f MyCoolHostName -l myCoolUserName -p myCoolPassword --seed xubuntu-desktop -i 2G --notarball
This will create our filesystem with a user called "myCoolUserName" and (theoretically) his password "myCoolPassword" and install a basic xubuntu-desktop. I had to change the password manually because it didn't work this way... We'll do that later.
Rootstock will download lots of packages (You could also set it up with "--seed ubuntu-desktop", then youll download even more packages or "--seed ubuntu-minimal" or kubuntu... I still didnt find a list of seeds online :-/
The creating will take quite some time, get another beer.
When this is done, you'll get a file like this : "qemu-armel-201104112120.img". We will now mount this image: (make sure the directory /mnt/ does exist and is empty:
Code:
#ls -la /mnt )
Code:
#sudo su
(its simpler to be root for now)
Code:
#mount -o loop qemu-armel-201104112120.img /mnt/
(You are aware that your filename is different, are you? Try this:
Code:
# mount -o loop qemu-armel-*TAB*
and your terminal will automatically fill in your filename. Awesome linux, huh? =)
)
Code:
#cd /mnt/etc/
#mv fstab fstab.bak
#echo "proc /proc proc defaults 0 0" > fstab
#echo "dev /dev tmpfs rw 0 0" >> fstab
Note that the first time we create a file called fstab (echo asdf > fstab), then we add one line to this file (echo asdfasdf >> fstab)
Now we need to copy our wifi-driver over. Remember I told you to write down the directory you put them in? =)
Code:
#cp /home/YourUserName/Desktop/FolioStuff/firmware /mnt/lib/firmware
We will now do something stupid: We chroot into our arm-based system from an intel-system. But since we're only changing passwords, we should be OK.
Code:
#cd /
#chroot /mnt/
#passwd myCoolUserName
#passwd
#exit
That's it, we're out of the chroot.
It's now time to prepare the SDcard (The steps are the same for a USB Flash drive, I think you'll figure them out.)
Find out how your SDcard can be accessed (You should still be root):
Code:
# fdisk -l
In my card reader, it's "/dev/mmcblk0", it could also be "/dev/sdb1" in your computer.
Now there are two possibilities:
1. You know what youre doing. Then it's easy: You wipe the only partition (or, if there are more than one, the first partition) on your sdcard and format it with ext3:
Code:
#mkfs.ext3 /dev/mmcblk0p1
Note: The device is called /dev/mmcblk0, the partition itself /dev/mmcblk0p1 (Partition 1)
2. You are not sure about this. No problem, start gparted: (as root!)
Code:
#gparted
In the upper right corner, select your flash drive, delete all partitions and create one formatted with ext3. Close gparted.
Mount your freshly created partition somewhere (i chose /mnt2/):
Code:
#mkdir /mnt2/
Code:
#mount /dev/mmcblk0p1 /mnt2
We can now copy our filesystem over. Make sure you use exactly the same flags (rfp for recursive, force, preserve (attributes))
Code:
#cp -rfp /mnt/* /mnt2/
OK, that could work. Unmount the sdcard:
Code:
#umount /mnt2/
Put it in your folio and cross your fingers.
Wifi drivers will be up soon...
It's recommend to add build-essentials to your rootstock image too..
Because then you can easily build the wireless lan drivers on your devices..
Maybe I'll post a howto this afternoon!
Is this Ubuntu really usable (for daily work) with the folio 100 (touch, response speed, ecc.)?
Thanks.
Yup, it's usable for everyday work. It's quite fast on the Folio 100, I've been pretty impressed when I tested it a few weeks ago.
Thanks ph84
It seems most difficult than expected but, great job !
Only i have 1 question, bricking the tablet sounds dangerous... is possible break out the tablet and get a rock?
Thanksss!!!!!
if ubuntu is installed on sd, does that mean that we can dual boot foliomod from nand and ubuntu from sd/usb?
Hm... I'm using Ubuntu 11.04 and I'm getting this error at the end of the rootfs creation :
E: Sub-process /usr/bin/dpkg returned an error code (1)
E: Second stage build in chroot failed !
E: Please see the log to see what went wrong.
I: Cleaning up...
.....
I: Umounting temporary Image
umount2: Dispositivo o risorsa occupata
umount: /tmp/tmp.zaZ1j1Tgt6/tmpmount/proc: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount2: Dispositivo o risorsa occupata
Click to expand...
Click to collapse
Do you have any idea where I can find the log?
And this procedure will build in the tablet a dual boot? Or dualboot is another procedure?
what is the *.rar????
No it's for singleboot only...
You can only start Ubuntu installed on SD-Card/USB-Stick with this procedure...
I don't know wether the boot-partition is locked when you are booting ubuntu/android..
If not it should be possible to build some applications to flash the boot-partition on the running system to change from ubuntu to android
When I do the rootstock step,I got this error!!!Please help!!!
I: Base system installed successfully.
I: First stage install done
I: Using Chroot for installer
Adding 'local diversion of /usr/sbin/invoke-rc.d to /usr/sbin/invoke-rc.d.rootstock'
Generating locales...
en_GB.UTF-8... done
Generation complete.
Generating locales...
en_US.UTF-8... done
Generation complete.
/bin/installer: line 53: syntax error near unexpected token `+'
E: Second stage build in chroot failed !
E: Please see the log to see what went wrong.
I: Cleaning up...
.....
I: Umounting temporary Image
I: A logfile was saved as //rootstock-201104140706.log
I: Done
Click to expand...
Click to collapse
Could you upload an *.img for us in this forum?
or a databank,etc?
mhmm it always hangs in the xulrunner configuration.. bahh someone know a solution for this? or does i realy have to chroot the rootfst and install everything manualy =(? Cant find any solution on google for this bug =/
sony_tornado said:
what is the *.rar????
Click to expand...
Click to collapse
Nvm, I was talking crap...
schnudergof said:
mhmm it always hangs in the xulrunner configuration.. bahh someone know a solution for this? or does i realy have to chroot the rootfst and install everything manualy =(? Cant find any solution on google for this bug =/
Click to expand...
Click to collapse
Just try rootstock without the parameters on --seed..
Maybe it will work..
You wont have a Desktop Enviroment like Gnome or something but you wont need that for installing the wireless drivers...
And after installing wireless drivers you can install ubuntu-desktop or something with apt-get!
Ok, I have been looking at rootstock, and if you install rootstock-gtk and than click on tasksel there is a whole list of seeds to chose from. I Think im going to try build the netbook build.
On a side note:
We will now do something stupid: We chroot into our arm-based system from an intel-system. But since we're only changing passwords, we should be OK
Click to expand...
Click to collapse
with chroot your only changing the root of your file system, your not running anything from there.
But its its in no way a complaint to your awesome guide! Thanks and keep up the good work!
shidima_101 said:
with chroot your only changing the root of your file system, your not running anything from there.
Click to expand...
Click to collapse
Thats right but when you change your root shell to the rootstock-fs you can also use sudo apt-get update/install and install it into the rootfs!
ph84 said:
Meanwhile, open another terminal. (This is linux! We're gonna multitask since our computer is capable of handling that!) Go to where you stored the attached files, for example
Code:
#cd /home/YourUserName/Desktop/FolioStuff
and unpack them:
Code:
#rar x *.rar
Click to expand...
Click to collapse
Where/what is the "attached files"?
Thanks
Just go to the first page, press STRG+F and type attached into the search window...
I hope you will find the attached files.. Else you dont have to try installing ubuntu on your folio >_<
°EraZoR° said:
Just go to the first page, press STRG+F and type attached into the search window...
I hope you will find the attached files.. Else you dont have to try installing ubuntu on your folio >_<
Click to expand...
Click to collapse
The files I found are only *.zip for update bootloader. Where is *.rar file?
Thanks

[TOOLS] [LINUX, MAC, WINDOWS] Knives & Forks - v. 12.02.04

Knives & Forks
WHAT IS IT?
Knives & Forks is a set of Android tools for everyone. Every operating system, every device.
This cross-platform Android toolkit, written in Python, that is designed to work in Linux, Mac OS X or Windows. I wanted to create something that was unique, and offered a consistent and feature-filled set of tools for Android devs no matter what operating system they use, and for as many Android devices as possible.
WHAT DOES IT DO?
I just started work on this project, so it doesn't do very much yet. Right now we are just focusing on getting drivers and adb installed for as many devices as we can on all three platforms. Once we have adb working for everyone, the real fun can begin as we start to add more device tools that will make use of adb, such as rooting. Eventually ROM customization tools will be added, but we are focusing on device tools and cross-platform compatibility at this time.
View the changelog to see a list of included drivers. The only device that I can confirm is compatible with this script in Linux, Mac OS X, and Windows is the Samsung Galaxy S II, Sprint Epic 4G Touch. This just so happens to be my personal phone, but as I gather feedback I will create an official list of supported devices.
WHERE DO I GET IT?
This project is now being hosted by the Android Creative Syndicate. An up to date link to the most current version of the script, installation instructions for Linux, Max OS , and Windows, and other information can be found HERE. Registration is not required at the ACS forum to download or view installation instructions. You are free to reply in the thread you are reading right now if you don't want to register for another forum.
I HAVE IT INSTALLED, NOW WHAT?
You should be able to open up your terminal application (or command prompt) and run some adb commands. In the future we will be automating adb commands for you, but for now you can try the following as a simple test:
Code:
adb reboot
If everything worked, your Android device should reboot. For further reading on what you can do with adb you can read THIS PAGE.
HOW TO SUPPORT THIS PROJECT
FEEDBACK
Download my script, test it, let me know what happens. Let me know what other features/tools I should add.
THANKS
Hit the thanks button if you like what I'm doing here.
DONATIONS - I don't currently have a link to send me money, but I could quickly set something up if somebody decides they want to help me feed my kid. I am recently unemployed, but I am not relying on my scripting skills to feed my family. Save your cash for a more worthy project, or tuck it away and wait until the project turns into something amazing.
INFORMATION
TELL ME ABOUT YOUR ANDROID DEVICES!
If my script isn't getting adb setup for your device, let me know where to download the correct Windows driver and/or what udev rules I need to add in Linux.
The next phase of this project will be automating the rooting process. If you know the process for rooting your device, please share the details.
HOW TO REPLY TO THIS THREAD
Please do not reply by saying something like "This looks awesome, I'm going to download it now!".
Just download it, test it out, and then tell me about it.
If my script works for you, please don't post something like "It worked for me, this is the best thing since sliced bread!".
At the moment all my script will do is install adb and drivers for your device. In order to test please uninstall any drivers you may have already installed, run my script, then reply with the following information:
Operating System (including version and 32-bit or 64-bit architecture)
Android Device
If you open up a terminal/command prompt window and enter the following command, does your device reboot? If not, do you receive any error messages (while running that command or at any phase of running the Kinves & Forks script)?
Code:
adb reboot
CHANGELOG
Code:
------------------------------------------------------------------------------------
Knives & Forks: Changelog
------------------------------------------------------------------------------------
The most current version is available for download from:
http://knivesandforks.info/releases/knives-and-forks-current.php
**** 12.02.04 ****
http://knivesandforks.info/releases/knives-and-forks-12.02.04.php
- LINUX CHANGES:
-- "python2" is now called by "Knives-and-Forks-Linux.sh" instead of "python" on Arch.
- This prevents starting the script with Python 3, which results in errors.
-- Changes to "scripts/linux/install-adb-linux.sh":
- "su" will be used if "sudo" is not installed, or user doesn't have permissions to use it.
- Added 32-bit libs for more 64-bit distros:
- Arch (new in this release)
- CentOS (new in this release)
- Debian
- Fedora (new in this release)
- Ubuntu, Kubuntu, Xubuntu
- Added Debian version of '/etc/udev/rules.d/99-android.rules'
- Added '/lib/udev/rules.d/92-permissions.rules' for Debian.
This should fix permissions, allowing adb to run without sudo or su.
- WINDOWS CHANGES:
-- Fixed a couple of missing quotes which were breaking things under Windows XP
- "%userprofile%" was coming back as "c:\documents" instead of "c:\documents and settings\username" in a couple of places
-- "c:\python27" is now the only directory where we look for python.exe
- It is faster to download and install Python to "c:\Python27" than it is to search for it elsewhere.
- This will also prevent issues where Python 3 was installed instead of Python 2, since the script currently gives errors under Python 3.
-- Updated amd64 and x86 versions of setx.exe for updating system PATH on XP/VISTA/7
-- PATH is updated with adb.exe location after Python is installed.
-- The computer will now reboot after updating the PATH, to make sure it will be updated before running the main program.
**** 12.01.27 ****
http://knivesandforks.info/releases/knives-and-forks-12.01.27.php
- GENERAL CHANGES:
-- After adb is installed, adb will reset the android device by running "adb reboot" instead of displaying a list of attached devices with "adb devices".
adb was occasionally reporting no devices were attached, when they infact were. When this happened "adb reboot" still worked, so it is a better test to see if adb is setup properly.
-- Friendlier messages during adb install and testing
-- Added a startup check to make sure the script is running from the correct directory
-- Removed empty Project directory, as it is not being used yet.
- LINUX CHANGES:
-- Added support for "lxterminal" and "urxvt" in "Knifes-and-Forks-Linux.sh"
-- Changed idVendors for Linux udev rules to lowercase instead of uppercase.
- WINDOWS CHANGES:
-- Startup script searches for python in "C:\Program Files (x86)" then "C:\Program Files" and "c:\" last.
-- Drivers should now install even if the language is not English
-- Added drivers for Casio C771 G'zOne Commando
-- Added LG drivers
-- Replaced setx.exe
**** 12.01.25 ****
http://knivesandforks.info/releases/knives-and-forks-12.01.25.php
- Replaced "Knives-and-Forks-Mac.sh" with "Knives-and-Forks-Mac.app".
Starting the script on a Mac should now be as simple as double-clicking the new .app file.
**** 12.01.24 ****
http://knivesandforks.info/releases/knives-and-forks-12.01.24.php
- Fixed a typo which caused the script to crash when viewing the credits screen.
- Smarter python fix for Windows users.
-- "C:\" and all sub-directories are searched for python.exe.
-- If python is not not found, it will be downloaded from python.org and installed to c:\python27.
-- If python is found (in "C:\python27", "c:\python", "c:\xyz123", "c:\program files\python27" or in any directory with any name anywhere on drive c:) the main menu script will launch.
- Added changelog.txt to the release .zip file.
**** 12.01.23 ****
http://knivesandforks.info/releases/knives-and-forks-12.01.23.php
- Minor update to fix Python installation for Windows users, which was causing the script not to launch.
**** 12.01.22 ****
(FIRST PUBLIC RELEASE)
http://knivesandforks.info/releases/knives-and-forks-12.01.22.php
- Added option to install adb & fastboot for Linux, Windows, Mac
- Added Linux drivers for:
-- ACER
-- ASUS
-- DELL
-- FOXCONN
-- GARMIN-ASUS
-- Google
-- Hisense
-- HTC
-- HUAWEI
-- K-TOUCH
-- KT Tech
-- KYOCERA
-- LENEVO
-- LG
-- MOTOROLA
-- NEC
-- NOOK
-- NVIDIA
-- OTGV
-- PANTECH
-- PEGATRON
-- PHILIPS
-- PMC-SIERRA
-- QUALCOMM
-- SK TELESYS
-- SAMSUNG
-- SHARP
-- SONY ERICSSON
-- TOSHIBA
-- ZTE
- Added Mac drivers for:
-- Nothing. According to Google, "It just works." Let me know if they are right.
- Added a custom Windows installer with drivers for:
-- GOOGLE
-- HTC
-- HUAWEI
-- SAMSUNG
WHERE DID THE OLD POSTS GO?
In an attempt to reduce unnecessary clutter in my original thread, I created supporting threads in each Android device forum. The whole reason behind posting so many times was to keep certain information in the Chef Central post, and certain information out of it in an effort to reduce clutter. Who wants to read through 50 pages of how this, that, and the other thing is or isn't working on devices that you don't own? That system appeared to work very well, but apparently I broke the rules by posting in every Android device forum.
Learn from my mistakes, don't post similarly worded posts all over the place!
ATTENTION PYTHON PROGRAMMERS:
Any idea on what I can do to make the Python files work in Python 2 and Python 3? I have only tested in Python 2.7.2, but I have received reports that Python 3 gives errors. I'm not really doing anything all that fancy, so I'm not sure if something is just a matter or new syntax or something else needs to be imported or what. Any help would be appreciated.
The next release will call "python2" for Arch Linux users since "python" will use python 3.
ATTENTION LINUX USERS:
I am currently testing my Knives & Forks script in some virtual machines using VirtualBox, as well as my local Xubuntu installation.
For distro specific things (installing 32-bit libs, udev changes, etc) in the next release I will be detecting the distro using the following code:
Code:
echo " -- DETECTING LINUX DISTRO --"
if [ "`cat /etc/issue | grep Arch | wc -l`" == "1" ]; then
DISTRO_NAME="Arch"
elif [ "`cat /etc/issue | grep Cent | wc -l`" == "1" ]; then
DISTRO_NAME="CentOS"
elif [ "`cat /etc/issue | grep Debian | wc -l`" == "1" ]; then
DISTRO_NAME="Debian"
elif [ "`cat /etc/issue | grep Fedora | wc -l`" == "1" ]; then
DISTRO_NAME="Fedora"
elif [ "`cat /etc/issue | grep Ubuntu | wc -l`" == "1" ]; then
# DETECTS UBUNTU, KUBUNTU, XUBUNTU, ETC
DISTRO_NAME="Ubuntu"
else
DISTRO_NAME="UNKNOWN"
fi
echo " - $DISTRO_NAME"
Please let me know what other distros your using and if you are able to find the name using the "/etc/issue" method I am using in the above if statements.
I wrote a bash function to check if sudo is installed, and then to see if the current user has permissions to use sudo. If sudo is not installed, or if the current user does not have permission to use it, su will be used instead. This will be included in my next update, but I wanted to post it here first:
Code:
echo " -- CHECKING TO SEE IF 'SUDO' IS INSTALLED --"
CURRENT_USER=$USER
USE_SUDO="NO"
if [ -f "/usr/bin/sudo" ]; then
echo " - 'sudo' is installed."
echo ""
echo " -- CHECKING FOR PERMISSION TO USE 'SUDO' --"
echo ""
echo " If prompted, enter the password for the user '$CURRENT_USER'."
echo ""
if [ "$(sudo whoami)" != "root" ]; then
echo ""
echo " - Sorry, '$CURRENT_USER' does not have permission to use 'sudo'."
echo " - 'su' will be uses instead of 'sudo'."
echo ""
else
echo " - '$CURRENT_USER' has permission to use 'sudo'."
USE_SUDO="YES"
echo ""
fi
else
echo " - 'sudo' is not installed."
echo " - 'su' will be used instead of 'sudo'."
echo ""
fi
DO_SU()
{
echo ""
if [ $USE_SUDO == "YES" ]; then
# echo " -- USING 'SUDO' TO RUN '$1' --"
echo ""
echo " If prompted, enter the password for the user '$CURRENT_USER'."
echo ""
sudo $1
else
# echo " -- USING 'SU' TO RUN '$1' --"
echo ""
echo " If prompted, enter the password for the user 'root'."
echo ""
su -c "$1"
fi
echo ""
}
# EXAMPLE USAGE OF THE DO_SU() FUNCTION:
# NOTE THAT THE COMMAND TO RUN WITH SU OR SUDO HAS TO BE IN QUOTES
DO_SU "whoami"
I also found out why debian users were being forced to use sudo or su in order to use adb. The next release will include this fix, but for those who might be interested in making this change manually:
Open "/lib/udev/rules.d/91-permissions.rules" as root (su or sudo) in your favorite text editor and find this line
Code:
usbfs-like devices SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0664″
Change MODE to "0666"
Code:
usbfs-like devices SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ [B]MODE=”0666“[/B]
Instead of replacing or modifying your "/lib/udev/rules.d/91-permissions.rules" file, the next version of my script will actually create a "/lib/udev/rules.d/92-permissions.rules" for Debian users that contains only the following:
Code:
# usbfs-like devices
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
MODE="0666"
This file will load right after the 91-permissions.rules and replace just the usbfs-like devices settings. I'm just doing this with my script so I don't accidently break anything on your system. If you are making the changes manually, editing the 91-permissions.rules file should be all you need to do.
Save your changes and then restart udev as root (using sudo or su)
Code:
/etc/init.d/udev restart
-- or --
Code:
service udev restart
This assumes of course that you already have a working udev rule for your android device, and that adb is working only with su or sudo currently. Once this change is made you should be able to use adb without being forced to use su or sudo.
First post updated with latest release, version 12.02.04.
Lots of changes for XP and various Linux distros. See changelog for more information, but things should work better in Arch, CentOS, Debian, Fedora, and Ubuntu (including Kubuntu, Xubuntu, etc).
Hi, I just downloaded the latest file (12.02.04) but it's only 4 KB.
Could you check please?
Thank you!
Trying to unzip the file in Ubuntu 11.10 and this what I get:
Archive: knives-and-forks-12.02.04.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of knives-and-forks-12.02.04.zip or
knives-and-forks-12.02.04.zip.zip, and cannot find knives-and-forks-12.02.04.zip.ZIP, period.
Any help?
I had a typo in the .zip filename, so if you tried to download the file yesterday you basically just downloaded an error message that the .php counter script gave when it couldn't find the file. I will have to take a look at that later because it is supposed to display the message not make you download it.
The problem is now fixed, sorry about that.
Thanks for update.
Downloaded and installed.
Now I can adb from linux.
Have one more question. I hope you can help me with that as well.
I don't see my device (E4GT) as external hard drive or USB drive when debuging is on to copy files to it.
When debuging is off it shows 2 Android devices but when I click on them I'm getting this message:
Error initializing camera: -60: Could not lock the device
Any ideas?
My guess is maybe they didn't get unmounted properly that last time you had it plugged in, but I have no idea why you would get an error message about the camera. I have not seen that one.
Try installing Dropbox and backing up anything important, then formatting the sdcard and try mounting again.
Maybe somebody else has had that error and has a better idea,
I'll try to format sd card tonight when I get home.
But what would be the problem with internal storage?
And what should or could I try to proper mount it?
agat63 said:
I'll try to format sd card tonight when I get home.
But what would be the problem with internal storage?
And what should or could I try to proper mount it?
Click to expand...
Click to collapse
First thing to check is that it isn't ROM related. Boot into recovery and try to mount as a usb drive and see if it works or not. If it does, I would say wipe and flash another ROM. If it doesn't work from recovery, then it could be a result of not unmounting before unplugging from your computer.
Sometimes if you have your phone mounted as a USB drive, or even just a regular flash drive, and it you unplug it before it is done unmounting (or if you don't use the safely remove hardward feature of Windows) the filesystem can get trashed. It hasn't happened alot with me, and I have seen the problem happen mostly when a flash drive is unplugged before the OS can finish writing to it.
After you get all of your important stuff backed up somewhere like dropbox, reboot into your recovery and repartition the sd card and/or your internal storage, whatever is giving you the problem. When you reboot into android you should be able to use it as normal, and dropbox should automatically copy everything back that you backed up.
This problem isn't really related to my script, so I if you can't get the issue resolved make a new post in Android QA or somewhere else. PM me if you post elsewhere and I can see if I can help you out there.
I didn't mean to say that the problem is related to your script.
Your script works just fine and I'm able to adb.
I'm kinda new to linux and still learning it.
I needed help and advise for how to connect phone to pc in linux.
It works in windows for me.
When I get on my PC I'm gnats give this awhirl. Ad for your mounting disk drives if ur on any ics rom it wont and I don't know how to enlighten me someone but if its gingerb then make sure u mount with the phones option when u plug in on ur handset ther should be some kind of way to switch between teather, disk and charge only? Wat fone u got?
Does this knife and forks compile? What does it do? Sorry to sound like a knob.
Sent from my GT-I9100 using XDA Premium App
This worked for my att gs2.
Sent from my GT-I9100 using Tapatalk
By using the Android Font you are violating their copyright rules. But you are free to modify the Android Robot, as long as you refer to them and say that you have permission.
Bad-Wolf said:
By using the Android Font you are violating their copyright rules. But you are free to modify the Android Robot, as long as you refer to them and say that you have permission.
Click to expand...
Click to collapse
The post where I found the font said it was an Android logo inspired font, and not the actual android logo font.
I have changed the font I'm using, and have updated my logo graphic to fight off any further concerns.
Colliebudz said:
Does this knife and forks compile? What does it do? Sorry to sound like a knob.
Click to expand...
Click to collapse
At the moment it simply automates getting adb setup on Linux, Mac, and Linux.
I have plans to add support for device rooting next, followed by some other adb commands, then rom customization tools as the last stage of development.
Pushing files to the phone, running shell commands, etc, requires that adb is setup properly, so that is where the focus is at right now. Getting the adb & driver installation scripts setup to run on all three platforms is also helping take care of some general troubleshooting, which is good to get out of the way before the main script gets tons of extra features.
All of this info should be in the first post, I'll try to clarify things when I make the next update.
Waddle said:
This worked for my att gs2.
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
Thanks for the feedback. What OS?

[ROM]Samsung S3 Intl Sailfishos

Hi there!
Following the hadk pdf from jolla porting guide.
I've got the sailfishos working on terminal android running. Booting on top attempting since monday tonight.
I'll explain more and I'll give more shots on working.
My issue now is to build the boot, recovery image to flash and boot it. The jolla sailfishos as a GUI operating system on Galaxy S3 I9300 model.
FIY : filename = sfa-i9300-ea-1.0.8.19-my1.tar.bz2
Instructions for chroot co,pilation on ubuntu amd64 x86_64 bit:
Code:
sudo mkdir -p /srv/mer/
mkdir -p $HOME/mer/
nano .bashrc
export $MER_ROOT=/srv/mer/
export $MER_ROOT=$HOME/mer/
ctrl +x to save and y
but type sudo apt-get install -y curl
for do the downloading file.
next do the following commands on terminal:
export $MER_ROOT=/srv/mer/
cd $HOME; curl -k -O https://img.merproject.org/images/mer-sdk/mer-i486-latest-sdk-rolling-chroot-armv7hl-sb2.tar.bz2 ;
sudo mkdir -p $MER_ROOT/sdks/sdk ;
cd $MER_ROOT/sdks/sdk ;
sudo tar --numeric-owner -p -xjf $HOME/mer-i486-latest-sdk-rolling-chroot-armv7hl-sb2.tar.bz2 ;
echo "export MER_ROOT=$MER_ROOT" >> ~/.bashrc
echo 'alias sdk=$MER_ROOT/sdks/sdk/mer-sdk-chroot' >> ~/.bashrc ; exec bash ;
echo 'PS1="MerSDK $PS1"' >> ~/.mersdk.profile ;
sdk
Now, do the following instructions:
$HOST>
nano $HOME/.hadk.env
export MER_ROOT="[/home/$user]"
export ANDROID_ROOT="$MER_ROOT/android/droid"
export VENDOR="[samsung]"
export DEVICE="[i9300]"
ctrl +x and y for save it.
nano $HOME/.mersdkubu.profile
function hadk() { source $HOME/.hadk.env${1:+.$1}; echo "Env setup for $DEVICE"; }
export PS1="HABUILD_SDK [\${DEVICE}] $PS1"
hadk
save it again
nano $HOME/.mersdk.profile
function hadk() { source $HOME/.hadk.env${1:+.$1}; echo "Env setup for $DEVICE"; }
hadk
now save this file.
Now in ctrl + alt + x, it will show a terminal:
type this:
sdk
type your password
hadk
TARBALL=ubuntu-quantal-android-rootfs.tar.bz2
curl -O http://img.merproject.org/images/mer-hybris/ubu/$TARBALL
UBUNTU_CHROOT=/parentroot/$MER_ROOT/sdks/ubuntu
sudo mkdir -p $UBUNTU_CHROOT
sudo tar --numeric-owner -xvjf $TARBALL -C $UBUNTU_CHROOT
hadk
ubu-chroot -r /parentroot/$MER_ROOT/sdks/ubuntu
exit
git config --global user.name "Your Name"
git config --global user.email "Your email"
back again for
hadk
cd $HOME
mkdir -p $HOME/mer/android/droid
repo init -u git://github.com/mer-hybris/android.git -b hybris-10.1
repo sync
after this, you will have HABUILD_SDK
DEVICE=i9300
export $DEVICE
source build/envsetup.sh
breakfast $DEVICE
now type
make hybris-hal
But now as a ota file for flashing on i9300, in this last 2 days in my laptop core2Duo Extreme I'm facing overheating.
So, everyone can test it.
Code:
A little change on mount fixups.
Go to the directory hybris/hybris-boot
nano mount-fixups on i9305| encore)
put the "i9305" | "encore" | "i9300")
Script for booting sailfishingos on an android terminal. This script is to mount the binds folders and for fixing for preventing the /dev/null issue when we all boot the chroot sailfishos.
name of the script : sailfishos.sh - made it on the /extsdCard/ folder.
1) nano /extSdCard/sailfishos.sh and copy the following code
2) ctrl +x to save it
3) bash sailfishos.sh
Code:
su
mount -o bind /dev /data/.stowaways/sailfishos/dev
mount -o bind /proc /data/.stowaways/sailfishos/proc
mount -o bind /sys/ /data/.stowaways/sailfishos/sys
chroot /data/.stowaways/sailfishos/ /bin/su -
echo "nameserver 8.8.8.8" > /etc/resolv.conf
Code:
Procedures:
1) get cm 10.1 flash it.
2) recovery mode to flash it.
3) download my sailfish i9300 tar.bz2 from d-h.st
4) Copy it for your /extSdCard
Code:
Procedures inside adb:
1) sudo adb kill-server
2) sudo adb start-server
3) adb devices
4) adb shell
5) su
6) cd /extSdCard/
8) mkdir -p /data/.stowaways/sailfishos
8) tar --numeric-owner -xvf filename -C /data/.stowaways/sailfishos
9) mount -o bind /dev /data/.stowaways/sailfishos/dev
10) mount -o bind /proc /data/.stowaways/sailfishos/proc
11) mount -o bind /sys /data/.stowaways/sailfishos/sys
finally:
chroot /data/.stawaways/sailfishos/ /bin/su-
you'll see sailfish os version something 15
try this on it:
cd /
ls
[LINK] http://d-h.st/gX5 [/LINK]
See folders on it.
PS: I'll give more shots also more instructions very soon. Thanx.
Another PS: I'll give more news about Jolla sailfish os very soon.
But I need to tell this, I've got i9300 defconfig kernel for Jolla sailfishos very similar to defconfig i9305 kernel and I got it compiled with very success on hadk Ubuntu chroot on mine Ubuntu 14.04 LTS version.
astronfestmon said:
Hi there!
Following the hadk pdf from jolla porting guide.
I've got the sailfishos working on terminal android running. Booting on top attemptinh since yesterday tonight.
Code:
Procedures:
1) get cm 10.1 flash it.
2) recovery mode to flash it.
3) download my sailfish i9300 tar.bz2 from d-h.st
4) Copy it for your /extSdCard
Code:
Procedures inside adb:
1) sudo adb kill-server
2) sudo adb start-server
3) adb devices
4) adb shell
5) su
6) cd /extSdCard/
8) mkdir -p /data/.stowaways/sailfishos
8) tar --numeric-owner -xvf filename -C /data/.stowaways/sailfishos
9) mount -o bind /dev /data/.stowaways/sailfishos/dev
10) mount -o bind /proc /data/.stowaways/sailfishos/proc
11) mount -o bind /sys /data/.stowaways/sailfishos/sys
finally:
chroot /data/.stawaways/sailfishos/ /bin/su-
you'll see sailfish os version something 15
try this on it:
cd /
ls
[LINK] http://d-h.st/gX5 [/LINK]
sees folders on it.
Click to expand...
Click to collapse
Screenshots?
Sent from my SM-G900F using XDA Free mobile app
Fantastic... I'll give a try. Plz provide some more details, screenshots & new features from your currently running sailfish os. Thanx for sharing
i fed with adb commands & not able to flash
Uhm ... I gonna wait for this ...
Sent from my SM-G900F using XDA Free mobile app
how to install ?
When I had the rom for flashing in recovery. I'll explain it.
For now, it can be installed through the adb, to work it inside the android terminal.
astronfestmon said:
When I had the rom for flashing in recovery. I'll explain it.
For now, it can be installed through the adb, to work it inside the android terminal.
Click to expand...
Click to collapse
any update on this?
I followed the above procedure and I can see the Sailfish version and the files list from adb. What next?
EDIT: Just saw your PS in OP
In the end of the week probably I'll release the boot kernel working on.
astronfestmon said:
In the end of the week probably I'll release the boot kernel working on.
Click to expand...
Click to collapse
I've successfully built boot and recovery images, packed the zip for flashing in recovery but there is a problem with the boot.img.
I'm trying to find out why it doesn't boot (the phone stays at the galaxy logo)
The actual guide for porting misses some stuff and there are errors here and there. Besides, there is a problem with the trusty chroot, quantal is working.
Aye. I've notice that.
I'm fixing some issues in quantal chroot.
E.g. inside the sources.list I add the 12.04 lts mirrors. Made by a website with the sources.list for 12.04 lts mirrors.
Yeah. I've done the boot kernel image and it made the same as you.
But with meld diff I've compared the i9305 defconfig with mine i9300 defconfig.
I'm going to test it with the changes meld diff made with a comparison with i9305 defconfig.
Now I made a make systemtarball and I'll try a make bootimage or a make factory_image for it.
astronfestmon said:
Aye. I've notice that.
I'm fixing some issues in quantal chroot.
E.g. inside the sources.list I add the 12.04 lts mirrors. Made by a website with the sources.list for 12.04 lts mirrors.
Yeah. I've done the boot kernel image and it made the same as you.
But with meld diff I've compared the i9305 defconfig with mine i9300 defconfig.
I'm going to test it with the changes meld diff made with a comparison with i9305 defconfig.
Now I made a make systemtarball and I'll try a make bootimage or a make factory_image for it.
Click to expand...
Click to collapse
It would be great if you could make it to boot.
I will try to compile the kernel with CONFIG_CMDLINE="console=tty0" . I'm hoping that would direct kernel panic message to the screen so we could idenfity what the problem is with booting hybris-boot.img
So... Any development?
Sent from my Nexus 5 using XDA Premium 4 mobile app
Hi! All of you! I'm doing efforts between these days. In these vacation days. I'll report more when I got home back.
astronfestmon said:
Hi! All of you! I'm doing efforts between these days. In these vacation days. I'll report more when I got home back.
Click to expand...
Click to collapse
Hi, I've also been trying to port sailfish os to i9300. I've been successful in creating an image that works, i.e. got it to boot into sailfish but there are some issues that I haven't been able to fix, like for instances, the wlan is detected but fails to establish a connection with any network, GSM is also not working. A full list with details can be found here https://wiki.merproject.org/wiki/Adaptations/libhybris
Maybe we should try to work together to get a fully functional sailfish os image
Cheers
---------- Post added 19th August 2014 at 12:01 AM ---------- Previous post was 18th August 2014 at 11:12 PM ----------
redrum781 said:
I've successfully built boot and recovery images, packed the zip for flashing in recovery but there is a problem with the boot.img.
I'm trying to find out why it doesn't boot (the phone stays at the galaxy logo)
The actual guide for porting misses some stuff and there are errors here and there. Besides, there is a problem with the trusty chroot, quantal is working.
Click to expand...
Click to collapse
The phone may be stuck at the galaxy logo, but there's a way to debug to find out what's wrong, follow this steps (only tested on linux):
1) connect your phone with the computer, the initramfs in boot.img will create a network interface (phone's ip is: 192.168.2.15) and enable a telnet deamon (default port: 23) and also a udhcp server, so luckily the computer will ask for an ip that everything will be set up automatically. If not try configuring static ip (192.168.2.20 and adding a route to 192.168.2.0)
2) telnet 192.168.2.15
3) when you're in the telnet session, you can check /diagnostic.log (i think) it will show why the boot failed. It is possible to execute commands into the init, by writing to (/init-ctl/stdin)
When logged into the telnet session it will dump a bit of information, be sure to read it as is useful .
Also check HADK 9.2 Operating Blind on an Existing Device
PS: the files may contain mistakes as I wrote this post without checking for the correct names (I don't have sailfish flashed at the moment).
Also consider visiting the IRC channel (#sailfishos-porters), if you're not doing it already
Hope it helps
rusty88 said:
Hi, I've also been trying to port sailfish os to i9300. I've been successful in creating an image that works, i.e. got it to boot into sailfish but there are some issues that I haven't been able to fix, like for instances, the wlan is detected but fails to establish a connection with any network, GSM is also not working. A full list with details can be found here https://wiki.merproject.org/wiki/Adaptations/libhybris
Maybe we should try to work together to get a fully functional sailfish os image
Cheers
---------- Post added 19th August 2014 at 12:01 AM ---------- Previous post was 18th August 2014 at 11:12 PM ----------
The phone may be stuck at the galaxy logo, but there's a way to debug to find out what's wrong, follow this steps (only tested on linux):
1) connect your phone with the computer, the initramfs in boot.img will create a network interface (phone's ip is: 192.168.2.15) and enable a telnet deamon (default port: 23) and also a udhcp server, so luckily the computer will ask for an ip that everything will be set up automatically. If not try configuring static ip (192.168.2.20 and adding a route to 192.168.2.0)
2) telnet 192.168.2.15
3) when you're in the telnet session, you can check /diagnostic.log (i think) it will show why the boot failed. It is possible to execute commands into the init, by writing to (/init-ctl/stdin)
When logged into the telnet session it will dump a bit of information, be sure to read it as is useful .
Also check HADK 9.2 Operating Blind on an Existing Device
PS: the files may contain mistakes as I wrote this post without checking for the correct names (I don't have sailfish flashed at the moment).
Also consider visiting the IRC channel (#sailfishos-porters), if you're not doing it already
Hope it helps
Click to expand...
Click to collapse
Will this os improve our device? Whats the pro and the con for a change (if it works finaly)?[emoji4]
MaxAndroided said:
Will this os improve our device? Whats the pro and the con for a change (if it works finaly)?[emoji4]
Click to expand...
Click to collapse
well maxAndroided all I can say at the moment is that the OS looks very promising... the UI is very smooth. Is another approach to mobile interaction based on gestures. I'm really loving it, sadly I can used it for day to day activities yet.
The jolla phone at the moment is able to run android apps and hopefully soon that will be available for any image built for android phones. So what that means is that if you don't find a suitable native app for sailfish os, you can always run your favorite android app in sailfish os
Anyone that wants to help bring sailfish os to i9300 is welcome to help, so if you have any idea on how to debug and fix the issues let me know
PS: if any one would like to try it, take a look at my previous post here
rusty88 said:
well maxAndroided all I can say at the moment is that the OS looks very promising... the UI is very smooth. Is another approach to mobile interaction based on gestures. I'm really loving it, sadly I can used it for day to day activities yet.
The jolla phone at the moment is able to run android apps and hopefully soon that will be available for any image built for android phones. So what that means is that if you don't find a suitable native app for sailfish os, you can always run your favorite android app in sailfish os
Anyone that wants to help bring sailfish os to i9300 is welcome to help, so if you have any idea on how to debug and fix the issues let me know
PS: if any one would like to try it, take a look at my previous post here
Click to expand...
Click to collapse
@rusty88, I am no developer/expert, but is there any way we can try and use I9300 native libraries or binaries to make GSM (or some other functionality for that matter) work? maybe RIL libs/binaries for GSM?
msri3here said:
@rusty88, I am no developer/expert, but is there any way we can try and use I9300 native libraries or binaries to make GSM (or some other functionality for that matter) work? maybe RIL libs/binaries for GSM?
Click to expand...
Click to collapse
yes @msri3here technically that is what i'm doing, its using RIL lib based on cm10.1.3 that was working fine before I flash sailfish, but on sailfish the log that RIL daemon dumps is really a mess and haven't figure out why is failing. One thing that I've notice is that RILD (one of its child process) creates the socket at /dev/socket/rild but it's killed afterwards, the sockets disappear and the process restarts all over again
Stracing RILD is not helping either as it seems that everything is Ok.
I'm trying to buy a new smartphone for day to day use so I can dedicate more time to debug on my i9300.
rusty88 said:
well maxAndroided all I can say at the moment is that the OS looks very promising... the UI is very smooth. Is another approach to mobile interaction based on gestures. I'm really loving it, sadly I can used it for day to day activities yet.
The jolla phone at the moment is able to run android apps and hopefully soon that will be available for any image built for android phones. So what that means is that if you don't find a suitable native app for sailfish os, you can always run your favorite android app in sailfish os
Anyone that wants to help bring sailfish os to i9300 is welcome to help, so if you have any idea on how to debug and fix the issues let me know
PS: if any one would like to try it, take a look at my previous post here
Click to expand...
Click to collapse
tried your rom but stuck on "samsung galaxy s 3 gt-i9300" screen nothing is happening plus if i touch the screen i get a response from the capacitive buttons but thats all

[LINUX TESTING] - Linux supported Remix OS for PC looking for testers

You've been asking for it, so we started working on it - Linux based support for Remix OS for PC.
We are testing Remix OS for PC - Linux installation packages for both Ubuntu & Fedora. If you have a Linux machine, we'd really appreciate it if you could help us these versions out!
RPM for Fedora distribution:
https://drive.google.com/file/d/0B5QSEe-tHD32ZTVYdVJHOEkyUzQ/view?usp=sharing
Deb for Ubuntu distribution:
https://drive.google.com/file/d/0B5QSEe-tHD32QTNTZDBMekVTX1U/view?usp=sharing
The downloaded version is B2016110301
If you turn the system update to unstable, you will be able to test the upgrade to version: B2016110401
NOTE: this is not an official release, this version is only for testing purpose only.
Request more info..
This installs RemixOs B2016110301 to ?
Does it.. have a Gui?
Usb or Harddisk (how much Freespace needed) or can you choose install path/partition?
Cheers
Could you also add an AUR package for Arch users?
That way you won't have to recompile the package, you could simply have the package get converted from the Deb to the Arch standard, directly on the user's PC.
A Solus package (eopkg) would also be nice, however I guess that this is too much to be asking at this stage.
moriel5 said:
Could you also add an AUR package for Arch users?
That way you won't have to recompile the package, you could simply have the package get converted from the Deb to the Arch standard, directly on the user's PC.
A Solus package (eopkg) would also be nice, however I guess that this is too much to be asking at this stage.
Click to expand...
Click to collapse
These can and likely will be added to the AUR by some intrepid user, I am sure, as it is basically a script that puts the included files into the desired location and creates a grub menu. Easily modified for Arch systems, I am sure
claydoh said:
These can and likely will be added to the AUR by some intrepid user, I am sure, as it is basically a script that puts the included files into the desired location and creates a grub menu. Easily modified for Arch systems, I am sure
Click to expand...
Click to collapse
Thanks, I will wait for that.
And sorry about the unusual way of thanking you, I am out of thanks for today.
claydoh said:
These can and likely will be added to the AUR by some intrepid user, I am sure, as it is basically a script that puts the included files into the desired location and creates a grub menu. Easily modified for Arch systems, I am sure
Click to expand...
Click to collapse
Code:
[[email protected] Documents]$ rpm -qp --scripts RemixOS-3.0.206-B2016110301.x86_64.rpm
postinstall scriptlet (using /bin/sh):
. /etc/os-release
mkdir -p /RemixOS/data
if [ "$ID" = "debian" -o "$ID_LIKE" = "debian" ]; then
grubcfg=/boot/grub/custom.cfg
elif mountpoint -q /boot/efi; then
grubcfg=/boot/efi/EFI/$ID/custom.cfg && efi=efi
else
grubcfg=/boot/grub2/custom.cfg
fi
echo -e "menuentry \"Remix OS 3.0.206-B2016110301\" {\n\tsearch --set=root --file /RemixOS/kernel\n\tlinux$efi /RemixOS/kernel quiet root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive \n\tinitrd$efi /RemixOS/initrd.img\n}" > $grubcfg
echo -e "menuentry \"Remix OS 3.0.206-B2016110301 (DEBUG mode)\" {\n\tsearch --set=root --file /RemixOS/kernel\n\tlinux$efi /RemixOS/kernel root=/dev/ram0 SERIAL=random logo.showlogo=1 androidboot.selinux=permissive DEBUG=2\n\tinitrd$efi /RemixOS/initrd.img\n}" >> $grubcfg
if [ "$ID" = "debian" -o "$ID_LIKE" = "debian" ]; then
sed -i 's/^GRUB_HIDDEN_/#GRUB_HIDDEN_/' /etc/default/grub
update-grub
fi
postuninstall scriptlet (using /bin/sh):
. /etc/os-release
if [ "$ID" = "debian" -o "$ID_LIKE" = "debian" ]; then
grubcfg=/boot/grub/custom.cfg
elif mountpoint -q /boot/efi; then
grubcfg=/boot/efi/EFI/$ID/custom.cfg
else
grubcfg=/boot/grub2/custom.cfg
fi
if [ "$1" = "1" ]; then
new_prefix=`dirname $(grep initrd $grubcfg | head -1 | awk '{print $2}')`
if [ "$new_prefix" != "/RemixOS" ]; then
rmdir $new_prefix/data
mv /RemixOS/data $new_prefix
rmdir /RemixOS
fi
else
rmdir /RemixOS/data /RemixOS
rm -f $grubcfg
fi
Yes! Tanks.. It is already 2 weeks I work on differents way to install or incorporate RemixOS on a ubuntu base.
Really happy to meet people who work on this! :good:
I give you news after testing your release! Thank you!
regard's
NeurOSick
I can test this weekend in Debian Jessie and Debian Strech 64 bits / KDE
Testing
Hello,
I Have a i7 3790 cpu, 32 gigs RAM, SSD Hard drive and AMD Radeon 7770. I have installed under Ubuntu and I only had one major issue. I couldn't get HDMI sound so I plugged speakers in but when I did there was a clicking sound and Clash of clans sound was playing so I unplugged my external USB hard drive to stop the clicking sound (interference) and BOOM the sound just stopped and never worked again. Had to go into Ubuntu and remove Remix OS (completely from Hard Drive) and reinstall to get the sound back. What was this all about??? I have tried messing with alsa with no luck yet getting HDMI to work. The OS detects the sound output but chooses the onboard sound and bypasses the Intel onboard HDMI (thank god for that one). Truly need to configure alsa and get make a sound selecter for REMIX. This is a MAJOR issue. I also found a few incompatible software but not anything I care to use.
Will this version install to either a USB pen drive or the internal disk? For the internal disk, can it be installed on a designated partition (as opposed to it wiping the drive)?
trentfox said:
Will this version install to either a USB pen drive or the internal disk? For the internal disk, can it be installed on a designated partition (as opposed to it wiping the drive)?
Click to expand...
Click to collapse
This deb or rpm package simply puts the Remix files into a directory in your root partition and sets up a grub entry. It does not provide for setting an install location or device, and does not wipe any drives.
I haven't tried it yet because my root is nearly full so I don't have enough space at the moment.
Nevermind. I found out how to unlock the unstable mode. https://www.youtube.com/watch?v=pgcx-W_eUbY
It is amazing, it works very well!
A little bit of description would have been useful; it was a surprise to me that there were two new entries in the grub menu. The system starts up quite fast indeed. I noticed one quickly disappearing message during start-up about some Intel-specific thing that does not work on my AMD based system but that doesn't seem to be important. My hardware: Asus M5A88-M, SB880 chipset, FX6200 processor (6 cores), HD5450 video card, 12 MB memory; OS: Xubuntu 16.04.1, 64 bit.
One minor issue: Remix switches the sound system off when it doesn't need it (to safe power I guess) and on again as soon as you touch something. When the sound system is switched off, my speakers produce a (rather soft) hum, so this noise comes and goes all the time, which is rather annoying. Is it possible to add some boot parameter or so, to avoid the sound system being switched off?
Could you add remix os for Raspberry pi 3 ?
I found a way to resolve the powersafe issue with the sound mentioned in my mail above, albeit not a permanent solution; it only lasts for the duration of the session. Writing the value 0 to /sys/modules/snd_hda_intel/parameters/power_save, as root, does the trick. The value that is present is 3, causing the sound to switch off after 3 seconds, till you touch a key.
How to solve this permanently?
I'll be testing this soon on my 3rd hard drive in my desktop (currently running Ubuntu 16.10, with a few extra ppas).
moriel5 said:
I'll be testing this soon on my 3rd hard drive in my desktop (currently running Ubuntu 16.10, with a few extra ppas).
Click to expand...
Click to collapse
Update: A bit late, however I keep getting a corrupt .deb, therefpr I am unable to install it on Ubuntu.
Whoops, that was supposed to be an edit, not a separate post, must be the fact that I need to sleep.
Look like the update is broken here. Won't update to B2016110401 or newer.
Wanted testers:::: Posted on reddit.
Wanted testers:::: Posted on reddit.
r/linux_gaming/comments/5dxgcb/android_os_for_linux_os_this_is_not_an_emulator
Does this install Remix from inside Ubuntu or does it set up a new grub entry and root/system files along side Ubuntu at start?

[GUIDE]Dual boot ChromeOS with Linux or Windows on almost any device

Dual Boot ChromeOS with Linux or Windows!
Update 1: This thread has been fully rewritten for Windows too!
Update 2: Added Steps for Arch Based Distros!
This guide will tell you how you can dual boot ChromeOS with Linux or Windows! This guide is based on the official GitHub page!
Update2: Added troubleshoot section: Added ChromeOS not detecting fix​
INDEX
• About
• Requierments
• Downloads
• Intel CPUs
• Types of recoveries
• AMD CPUs
• Linux Installation
• Preparing environment
• Installation
◦ Gparted
◦ Secureboot
• Windows Installation
• Preparing Linux Environment
◦ Preparing Environment
◦ Installation
◦ Secureboot
• Troubleshoot
• Fix ChromeOS not detecing
• Credits
About​ChromeOS, is an Operating system based on Gentoo Linux and designed by Google based on the ChromiumOS an open source project but unlike that ChromeOS is not open source, ChromeOS uses Google API and has intergrated Google Apps and Google Chrome as its interface! It also supports android apps!
Why chromeOS ? ChromeOS is a very smooth OS unlike other Android-x86 projects it is a fully functional and powerful OS, though it is not an ideal choice for gaming because it does not support the keymapping function. But if it ever gets Key Mapping there is no better option for running android for your PC other than chromeOS
Brunch, To keep it short and simple brunch is a framework which can help you to run ChromeOS on your Device even if its not a chromebook!
Requierments
​
• qs-x86_64 based computer with UEFI boot support (you can check that just search on google if you don’t know)
◦ With MBR patch your MBR/Legacy device might be supported
• Administrator Permissions
• Should have an Intel CPU (check conditions for that too)
◦ Intel 1st gen Core are supported only till ChromeOS 81 (This release may not be available anymore)
◦ Atom, Celeron and Pentium processors are supported since Baytrail and later versions!
• AMD Ryzen and AMD Stoney Ridge are supported, but it is limited
• Nvidia GPUs are not supported (if you have one then its ok, but ChromeOS won’t detect it)
• No Virtual Machines (VMs) are supported
• ARM CPUs are not supported at all, No luck guys
• Intel Core 2 Duo and older CPUs are not supported
Now if you are supported then Great! Lets move on!
DOWNLOADS
NOTE: you can even download the eve image which is the best as its the official Pixelbook recovery, but remember the boot chances are less with that so If you don't have time/data download from the below images
Intel CPUs​
• If your CPU is 10th and 11th gen open this Link note the versions and proceed to download from HERE but before read below
◦ 11th gen and some 10th gen CPUs may need kernel 5.10
• If your CPU is 1st gen to 9th gen then after opening this Link, note the versions and proceed to download from HERE and before downloading read below,
Stable Builds​
For daily and frequent use [Recommeneded for average users],
these builds are reliable and are pretty stable for day-to-day use and are recommended.
Beta Builds​
Good for daily use and more Beta features [Recommended],
these builds are pretty stable and relaible with a few more Beta features and just a few bugs. These are recommended and also if the stable build is not availible.
Dev Builds​
Buggy and more features [Power users only, Not Recommended],
these builds are not very stable and are buggy but have more features! Not recommended for daily use. These builds are ideal for developers who want to test out some features (Liveboot)
Canary Builds​
Unstable! Experimental feaatures! [NOT Recommended][DEVs ONLY],
These builds have a lot of bugs but the most of the features! These builds are not intended for average users and are only for testing.
AMD CPUs​
• For Stoney Ridge and Bristol Ridge Click Here but before read the above info carefully
and proceed to download from HERE
• For Ryzen Click here but read above before downloading then carefully
and proceed to download from HERE
• for Ryzen 4xxx devices you need kernel 5.10
As of I am writing this I have an Intel 10th gen CPU and the Stable builds are unavailable so I will be downloading the BETA Build which are quite stable too!
Now we have to also download Brunch, download the latest stable version from HERE
LINUX​
Prerequisites,
• You should be on a Linux Distro
• Root access
• Atleast 16gb storage you can give to the OS
• Your PC should support Brunch
• Some basics of linux terminal (if not I recommend to learn because this helps in troubleshooting problems)
• Grub2 Bootloader
Preparing the Environment​
Now open Terminal by Ctrl+Alt+T
and run,
Lets enable super user permissions using the following command
Bash:
sudo su
Enter password if it asks and hit enter
Debian based Distros:
Its a good thing to update and upgrade the packages by running this command,
Bash:
sudo apt update && upgrade
Lets install the required packages the command below will install pv, tar, unzip, cgpt and gparted,
Bash:
sudo apt install pv tar unzip cgpt gparted
Arch Based Distros:
Bash:
sudo pacman -Syu pv tar unzip gparted && yay -S cgpt
Side Notes
____________________________________________________________________________________
pv,
Pipe Viewer, known as pv is a package which allows the user for the monitering of data being sent through pipe, it helps the user by giving them a visual display
Tar,
tape archive. Known as tar is used to create and extract archive files in the format of .tar, .tar.gz etc...
Cgpt,
Cgpt is a tool to manipulate GUID Partition Table from command line. It also supports ChromiumOS extentions
Gparted,
Gparted is an Advanced disk manager, its simple yet powerful UI makes it easier to create, delete or modify any partition!
Unzip
unzip command simply extracts zip files!
_____________________________________________________________________________________
Now lets go into Documents using the cd command cd simply means change directory
Bash:
cd Documents
Now lets create a new folder and open that to keep things clean and tidy
mkdir command means make directory (make folder) and cd is change to directory
Bash:
mkdir ChromeOS && cd ChromeOS
now cut/move the downloaded files to documents/ChromeOS from your file manager
Installation​
Now we will extract the tar.gz archive using tar we previously downloaded! Tar calles the command to run tar and zxvf is to extract the file in format of tar.gz
Bash:
tar zxvf brunch_ filename.tar.gz
Replace the brunch_filename.tar.gz from your actual bruch file’s name
now we also want to extract the chromeos zip file this file can be extracted by using the unzip command!
Bash:
unzip chromeos_ filename.bin.zip
Replace the chromeos_filename.bin.zip from your actual chromeOS file’s name
once done
if you already have an empty disk and are deciding to use that for installation then just check these things:
the partition should be ext4 or ntfs (ext4 recommended)
if not or if you don’t know what partition is it then
1. open Gparted and if under the file system your partion shows ext4 then close Gparted and if not then
2. right click the patition then
3. select format to and
4. select ext4 after that
5. click the ✓ logo and proceed after that
6. close Gparted.
If you don’t have a free partition or you want to create a different partition then,
minimize terminal and open Gparted (if you ran the first command it is automatically installed).
1. Now open Gparted and
2. Resize your storage and free up 16-100 gb of storage, to do that right click the partition you want to give storage from,
3. Click on the resize/move and
4. In the Free space following (MiB) text box enter the amount of storage you want to give to chromeOS in MB and click resize,
5. now you will notice a new space created called unallocated right click on it then click on new.
6. Now select Create as Primary Partion and File System: ext4 and click add! Now again click the ✓ Icon and proceed.
Also in Gparted note the name of your ChromeOS partition below the “Partition” table
for eg: /dev/sda11, /dev/mmcblk0p5 or /dev/nvme0n1p4
now open terminal,
now we will create a new mountpoint for that we will create a new directory using mkdir. The ~ is a symbol of your home directory so ~/tmpmount actually means home/tmpmount!
Bash:
mkdir -p ~/tmpmount
Now its time to mount the partition at the mountpoint
now this command will mount your partition named dev/partion to tmpmount!
Bash:
sudo mount /dev/partition ~/tmpmount
here replace the ‘partition’ to your partition name you saw in Gparted
Now
as we did before replace the chromeos_filename.bin to your actual file’s name and also replace the size from the amount of storage you want to give to chromeOS, minimum 16gb maximum your choice.
This command runs the chromeos-install.sh file in bash this file runs the installer! With the source (-src) being chromeos.bin file and the destination (-dst) being ~/tmpmount/chromeos.img and the size (-s) is what you desire
Bash:
sudo bash chromeos-install.sh -src chromeos_filename.bin -dst ~/tmpmount/chromeos.img -s size
Now if it asks for confirmation then type yes in the prompt
Now after it is over you should see something like this:
**************************************************************
menuentry "ChromeOS" --class "brunch" {
rmmod tpm
search --no-floppy --set=root --file /chromeos.img
loopback loop /chromeos.img
source (loop,12)/efi/boot/settings.cfg
if [ -z $verbose ] -o [ $verbose -eq 0 ]; then
linux (loop,7)$kernel boot=local noresume noswap loglevel=7 options=$options chromeos_bootsplash=$chromeos_bootsplash $cmdline_params \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img \
console= vt.global_cursor_default=0 brunch_bootsplash=$brunch_bootsplash quiet
else
linux (loop,7)$kernel boot=local noresume noswap loglevel=7 options=$options chromeos_bootsplash=$chromeos_bootsplash $cmdline_params \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img
fi
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
menuentry "ChromeOS (settings)" --class "brunch-settings" {
rmmod tpm
search --no-floppy --set=root --file /chromeos.img
loopback loop /chromeos.img
source (loop,12)/efi/boot/settings.cfg
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 options= chromeos_bootsplash= edit_brunch_config=1 \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
*******************************************************************
Now copy the text similar to this from your terminal and paste it in a notes app or save it somewhere.
Now the end is near!
Now run this command which will copy the given
Bash:
sudo cp /etc/grub.d/40_custom /etc/grub.d/99_brunch
Running this command will open the nano text editor to edit these files,
Bash:
sudo nano /etc/grub.d/99_brunch
Now a file will open,
1. Now paste the text you copied before in a new line
2. then press Ctrl+X then type y to save it and hit enter
Now lastly run,
Debian:
Bash:
sudo update-grub
and
Bash:
sudo update-grub2
Arch:
Bash:
sudo pacman -Syu
this will update your grub configuration!
Now for those who have secure boot enabled you will have to follow some extra steps.
Now there are 2 ways:
• Way 1 [run if Way 2 does not work]: Go to BIOS Setup and simply disable SecureBoot and boot into ChromeOS
• Way 2 [Recomended]: Download the file from this link and paste the file in the ChromeOS folder
open terminal and run:
Bash:
cd Documents/ChromeOS
Bash:
sudo mokutil --import brunch.der
and thats it!
Windows​
Prerequesites,
• Administrator access
• you have to give atleast 16gb to ChromeOS minimum, the disk should be
bitlocker disabled, and the format should be NTFS
• Windows Subsystem for Linux 2 (WSL2) or use Cygwin
• pv, tar, unzip and cgpt should be installed
• Basic Linux command knowledge
Preparing the Linux Environment​
• For windows 10 and 11 users
Open Powershell and run
Code:
wsl –install
thats it
NOTE: You must be running Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11.
• for Windows 7 & 8/8.1 (works for windows 10 and 11 too)
Download and install Cygwin from HERE
after this run the CygWin terminal (for CygWin users) and for WSL2 users launch it!
Preparing Environment​
And run this
Bash:
sudo apt update && sudo apt -y install pv cgpt tar unzip
If the process ends with errors then run this:
Bash:
sudo add-apt-repository universe
and run
Bash:
sudo apt update && sudo apt -y install pv cgpt tar unzip
Installation​
Bash:
cd /mnt/c/Users/username/Downloads
Here replace the username by your actual username
Now run,
Bash:
tar zxvf brunch_filename.tar.gz
replace the brunch_filename.tar.gz from the real filename
Now run,
Bash:
unzip chromeos_filename.bin.zip
Here replace chromeos_filename.bin.zip from the actual filename (cmon you know the drill)
Now run,
Bash:
mkdir /mnt/c/Users/username/brunch
Again replace the username from the real username (if you want to install it in C disk)
Run,
Bash:
mkdir /mnt/d/brunch
(if you want to install in Disk D)
Now run,
Bash:
sudo bash chromeos-install.sh -src chromeos_filename.bin -dst /mnt/c/Users/username/brunch/chromeos.img -s size
Here replace chromeos_filename.bin from the real one, and replace size from the storage you want to provide (give atleast 16 gb)
Now Install Grub2Win from HERE
and run it
then click on the Manage Boot Menu and then add a new entry
Select the create user section from the type section.
Now open chromeos.grub.txt saved earlier, it will be in the same directory and copy the grub boot entries saved in that file and copy them to Grub2win
then click Ok and Apply to save the entries into Grub2win
To prevent windows from locking the NTFS partition I recommend you to switch off secureboot!
Troubleshoot​
ChromeOS boot fix
this fix includes:
• Grub bootloader does not show up
• PC/Laptop directly boots into the MainOS
• the menu boot time is too short
• etc
Now there is a common issue where you have installed ChromeOS but the grub menu does not show up and your PC directly boots into the MainOS (Windows/Linux) these steps will help you fix it!
open terminal and run
Bash:
sudo apt install gedit
this will install Gedit
Gedit
is a simple text editor which is commonly used to edit system files
next run,
Bash:
sudo gedit /etc/default/grub
This will open a text document in gedit
If it asks for password then type it
Now the usual default format of the text document is like this:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Now you will see GRUB_TIMEOUT_STYLE=hidden
here replace the hidden from menu
next
in GRUB_TIMEOUT=0 change 0 from any number this is for how many seconds the grub menu should be visible, I recommend replacing 0 from 30.
thats it! save the file and run the command:
Bash:
sudo update-grub
and
Bash:
sudo update-grub2
Reboot now you should be able to see chromeOS in your menu!
Credits,
• Google
• Android
• ChromeOS Devs
• GitHub
• XDA
• Brunch
• Project Croissant
• Me
-Manav Harsana
possible windows 11?
ismatovvsanjarbek said:
possible windows 11?
Click to expand...
Click to collapse
This thread is for linux, I will add for windows
ismatovvsanjarbek said:
possible windows 11?
Click to expand...
Click to collapse
Added tutorial for windows!
Cygwin uses less data (and storage space) than the WSL route, right?
Also from what I understand there's no need to setup a dedicated partition for brunch? I had used Puppy Linux earlier where the file system could be located in a folder.
Edit: Cygwin does indeed use very little data no more than 30MB downloaded in the default config.
Edit2: Couldn't run the commands in Cygwin. Some error about sudo not being found. WSL2 was easy to install and didn't take more than 500MB data.
amn1987 said:
Cygwin uses less data (and storage space) than the WSL route, right?
Also from what I understand there's no need to setup a dedicated partition for brunch? I had used Puppy Linux earlier where the file system could be located in a folder.
Edit: Cygwin does indeed use very little data no more than 30MB downloaded in the default config.
Edit2: Couldn't run the commands in Cygwin. Some error about sudo not being found. WSL2 was easy to install and didn't take more than 500MB data.
Click to expand...
Click to collapse
I mean we can install it but 1. Its better to keep it clean ig 2. I am lazy im not gonna add another method for sometime atleaset. For that Cygwin thing idk I use Arch btw so idk about cygwin and stuff
I cant find the way to download beta or dev image, https://chromiumdash.appspot.com/serving-builds?deviceCategory=Chrome OS only allow download stable version
oldman20 said:
I cant find the way to download beta or dev image, https://chromiumdash.appspot.com/serving-builds?deviceCategory=Chrome OS only allow download stable version
Click to expand...
Click to collapse
Thats because the dev or beta build for the model may not be their, wait it out or try someother image

Categories

Resources