انجمن‌های فارسی اوبونتو

تازه کار => انجمن تازه‌کاران => نویسنده: Roya.vzr در 05 امرداد 1399، 02:28 ق‌ظ

عنوان: بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 02:28 ق‌ظ
با سلام خدمت همگی
من یه تازه کارم
و بهم پروژه دادن که یه سیستم کال به جدید ترین آپدیت کرنل لینوکس اضافه کنیم و اونو کامپایل کنیم و خلاصه سیستم کال جدیدُ ببینیم
من قبلا آپدیت کرنل رو انجام دادم سیستمم مشکلی نداشته باهاش
ولی الان بعد از اضافه کردن سیستم کال و کامپایل و نصب کرنل ، وقتی سیستممو ری استارت میکنم دیگه با کرنل جدید بالا نمیاره
با اینکه کرنل اضافه شده ولی فقط میتونم با کرنل قبل کار کنم.
ممنون میشم اگر راهنماییم کنید
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: SLACKER در 05 امرداد 1399، 02:58 ق‌ظ
با سلام خدمت همگی
من یه تازه کارم
و بهم پروژه دادن که یه سیستم کال به جدید ترین آپدیت کرنل لینوکس اضافه کنیم و اونو کامپایل کنیم و خلاصه سیستم کال جدیدُ ببینیم
من قبلا آپدیت کرنل رو انجام دادم سیستمم مشکلی نداشته باهاش
ولی الان بعد از اضافه کردن سیستم کال و کامپایل و نصب کرنل ، وقتی سیستممو ری استارت میکنم دیگه با کرنل جدید بالا نمیاره
با اینکه کرنل اضافه شده ولی فقط میتونم با کرنل قبل کار کنم.
ممنون میشم اگر راهنماییم کنید
توضیح بده چجوری کرنل رو نصب میکنی؟
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: esmaeelE در 05 امرداد 1399، 05:27 ق‌ظ
این‌ها پاسخ شما نیست، اما فکر می‌کنم کمک کننده باشند.



سایر پست‌های اینجا را هم ببینید
https://brennan.io/2016/11/14/kernel-dev-ep3/

مرتبط

https://www.cs.rochester.edu/~sandhya/csc256/assignments/adding-a-system-call.html

https://stackoverflow.com/questions/13357019/how-to-know-if-a-linux-system-call-is-restartable-or-not

https://dev.to/omergulen/how-to-add-system-call-syscall-that-prints-elapsed-time-of-a-process-with-given-pid-to-the-kernel-and-test-it-335c



اگر در هنگام راه‌اندازی کرنل دستکاری شده خطایی مشاهده می‌کنید، ارسال کنید.

دیدن لاگ‌های زمان boot احتمالا کمک کننده باشند

فایل‌های زیر را بررسی کنید

/var/log/dmesg.log
/var/log/syslog
منبع
https://superuser.com/questions/176165/where-linux-places-the-messages-of-boot

https://www.eurovps.com/blog/important-linux-log-files-you-must-be-monitoring/

عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 11:27 ق‌ظ
با سلام خدمت همگی
من یه تازه کارم
و بهم پروژه دادن که یه سیستم کال به جدید ترین آپدیت کرنل لینوکس اضافه کنیم و اونو کامپایل کنیم و خلاصه سیستم کال جدیدُ ببینیم
من قبلا آپدیت کرنل رو انجام دادم سیستمم مشکلی نداشته باهاش
ولی الان بعد از اضافه کردن سیستم کال و کامپایل و نصب کرنل ، وقتی سیستممو ری استارت میکنم دیگه با کرنل جدید بالا نمیاره
با اینکه کرنل اضافه شده ولی فقط میتونم با کرنل قبل کار کنم.
ممنون میشم اگر راهنماییم کنید
توضیح بده چجوری کرنل رو نصب میکنی؟

کل دستورایی که زدم ایناس:
sudo apt-get update
sudo apt-get upgrade
sudo -s
apt-get install gcc
ap-get install python3-pip python-dev libffi-dev libssl-dev libxml2-dev libxal1-dev libjpeg8-dev zlib1j-dev
apt-get install libncursesw5-dev
wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.7.10.tar.gz
/tar -xvf linux-5.7.10.tar.gz -C /usr/src
cd /usr/src
cd linux-5.7.10
mkdir helloworld
cd helloworld
gedit helloworld.c
اینو توی hello world.c نوشتم:
#include <linux/kernel.h<
asmlinkage long sys_helloworld(void({
print("Hello world\n");
return 0;
{
asmlinkage long __x64_sys_helloworld(void({
print("Hello world2\n");
return 0;
{

gedit Makefile
اینارو توی میک فایل نوشتم:
obj-y :=helloworld.o

cd ..
gedit Makefile
اینجا helloworld / رو میک فایل شاخه اصلی اضافه کردم:
core-y +=kernel/.../ block/ helloworld/

cd include/linux
gedit syscalls.h
اینو قبل از #endif وارد کردم:
asmlinkage long sys_helloworld(void);


cd ../..
cd arch/x86/entry/sys calls
gedit syscall_64.tbl
قبل از
#
#x-32-....
اینو وارد کردم:
362 439 64 helloworld sys_hello world
(اینجا توی تاپیک الان ترتیب کدا بهم ریخت توی این خط)

ترمینالُ بستم باز کردم:
‌sudo apt install gcc libncurses5-dev dpkg-dev libssl-dev flex bison
cd /usr/src/linux-5.7.10
make menuconfig
تنظیمات پیکر بندی:
وارد 64-bit kernel شدم سیو کردم .config رو هم اوکی کردم و از تنظیمات بیرون رفتم

make oldconfig
make
make modules_install install
make install
و بعد ری استارت
که دیگه نیورد :(
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 11:30 ق‌ظ
این‌ها پاسخ شما نیست، اما فکر می‌کنم کمک کننده باشند.



سایر پست‌های اینجا را هم ببینید
https://brennan.io/2016/11/14/kernel-dev-ep3/

مرتبط

https://www.cs.rochester.edu/~sandhya/csc256/assignments/adding-a-system-call.html

https://stackoverflow.com/questions/13357019/how-to-know-if-a-linux-system-call-is-restartable-or-not

https://dev.to/omergulen/how-to-add-system-call-syscall-that-prints-elapsed-time-of-a-process-with-given-pid-to-the-kernel-and-test-it-335c



اگر در هنگام راه‌اندازی کرنل دستکاری شده خطایی مشاهده می‌کنید، ارسال کنید.

دیدن لاگ‌های زمان boot احتمالا کمک کننده باشند

فایل‌های زیر را بررسی کنید

/var/log/dmesg.log
/var/log/syslog
منبع
https://superuser.com/questions/176165/where-linux-places-the-messages-of-boot

https://www.eurovps.com/blog/important-linux-log-files-you-must-be-monitoring/

ممنون بررسی میکنم. میشه به کدایی که فرستادم نگاهی بندازین ببینین کجاش مشکل داره؟
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: SLACKER در 05 امرداد 1399، 11:44 ق‌ظ
با سلام خدمت همگی
من یه تازه کارم
و بهم پروژه دادن که یه سیستم کال به جدید ترین آپدیت کرنل لینوکس اضافه کنیم و اونو کامپایل کنیم و خلاصه سیستم کال جدیدُ ببینیم
من قبلا آپدیت کرنل رو انجام دادم سیستمم مشکلی نداشته باهاش
ولی الان بعد از اضافه کردن سیستم کال و کامپایل و نصب کرنل ، وقتی سیستممو ری استارت میکنم دیگه با کرنل جدید بالا نمیاره
با اینکه کرنل اضافه شده ولی فقط میتونم با کرنل قبل کار کنم.
ممنون میشم اگر راهنماییم کنید
توضیح بده چجوری کرنل رو نصب میکنی؟

کل دستورایی که زدم ایناس:
sudo apt-get update
sudo apt-get upgrade
sudo -s
apt-get install gcc
ap-get install python3-pip python-dev libffi-dev libssl-dev libxml2-dev libxal1-dev libjpeg8-dev zlib1j-dev
apt-get install libncursesw5-dev
wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.7.10.tar.gz
/tar -xvf linux-5.7.10.tar.gz -C /usr/src
cd /usr/src
cd linux-5.7.10
mkdir helloworld
cd helloworld
gedit helloworld.c
اینو توی hello world.c نوشتم:
#include <linux/kernel.h<
asmlinkage long sys_helloworld(void({
print("Hello world\n");
return 0;
{
asmlinkage long __x64_sys_helloworld(void({
print("Hello world2\n");
return 0;
{

gedit Makefile
اینارو توی میک فایل نوشتم:
obj-y :=helloworld.o

cd ..
gedit Makefile
اینجا helloworld / رو میک فایل شاخه اصلی اضافه کردم:
core-y +=kernel/.../ block/ helloworld/

cd include/linux
gedit syscalls.h
اینو قبل از #endif وارد کردم:
asmlinkage long sys_helloworld(void);


cd ../..
cd arch/x86/entry/sys calls
gedit syscall_64.tbl
قبل از
#
#x-32-....
اینو وارد کردم:
362 439 64 helloworld sys_hello world
(اینجا توی تاپیک الان ترتیب کدا بهم ریخت توی این خط)

ترمینالُ بستم باز کردم:
‌sudo apt install gcc libncurses5-dev dpkg-dev libssl-dev flex bison
cd /usr/src/linux-5.7.10
make menuconfig
تنظیمات پیکر بندی:
وارد 64-bit kernel شدم سیو کردم .config رو هم اوکی کردم و از تنظیمات بیرون رفتم

make oldconfig
make
make modules_install install
make install
و بعد ری استارت
که دیگه نیورد :(
ls /boot
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 12:00 ب‌ظ

ls /boot[/quote]

میشه بکم توضیح بدین؟
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: SLACKER در 05 امرداد 1399، 12:53 ب‌ظ

ls /boot

میشه بکم توضیح بدین؟
[/quote]
كرنل كه کامپایل كردی رو بايد توي پوشه ای كه نوشتم موجود باشه. ls هم فايل های داخل يك پوشه رو نشون ميده پس میشه ls /bootاز UEFI استفاده ميكنی؟
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 03:54 ب‌ظ

ls /boot

میشه بکم توضیح بدین؟
كرنل كه کامپایل كردی رو بايد توي پوشه ای كه نوشتم موجود باشه. ls هم فايل های داخل يك پوشه رو نشون ميده پس میشه ls /bootاز UEFI استفاده ميكنی؟
[/quote]
بینیند وجود داره کرنل جدید ولی بالا نمیاد وگرنه توی گراب سیستم نشون میده که وجود داره. بله UEFI هست
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: SLACKER در 05 امرداد 1399، 04:10 ب‌ظ

ls /boot

میشه بکم توضیح بدین؟
كرنل كه کامپایل كردی رو بايد توي پوشه ای كه نوشتم موجود باشه. ls هم فايل های داخل يك پوشه رو نشون ميده پس میشه ls /bootاز UEFI استفاده ميكنی؟
بینیند وجود داره کرنل جدید ولی بالا نمیاد وگرنه توی گراب سیستم نشون میده که وجود داره. بله UEFI هست
[/quote]
چه خطايي مينويسه؟
عنوان: پاسخ : بعد از اضافه کردن سیستم کال به کرنل لینوکس و کامپایلش، اوبونتو ری استارت نمیشه
ارسال شده توسط: Roya.vzr در 05 امرداد 1399، 06:46 ب‌ظ

[/quote]
چه خطايي مينويسه؟
[/quote]

هیچ خطایی نمینویسه